Towns Stream Nodes can run remotely or locally depending on the operator’s preferences. The following guide illustrates how to build and run a Towns Stream Node locally for development purposes. Diagnostic tools to gauge the health of local and remote nodes are also discussed here. It is assumed that the node is free standing and therefore not connected to the Towns protocol remote node registry on Base.
go.work
file for up-to-date version)curl -L https://foundry.paradigm.xyz | bash
~Start Local Dev~
command from the river repo in VSCode will do the following in order:
Check dependency versions
Upgrade Foundry toolkit
Run yarn install
Build protobufs
Start Base Chain in anvil
Start Towns Chain in anvil
Configure stream nodes
Start stream nodes with and without entitlements (on separate ports)
Start xchain binary
Start protobuf and typescript package watcher
river_node
process running from localhost and run /status
check to see if the node is running in a healthy manner. The following should be returned if the node is healthy:
/debug/multi
and /debug/multi/json
endpoints which return html and json respectively. These endpoints return latency connecting to node on loopback address as well as grpc, http and rpc provider health.