Operating River Components

Components comprising the River protocol are able to be run by anyone. River’s incentive structure supports River Stream Node operators as a first-class actor in the network. These nodes run a Stream Node registered on River Chain and thereafter are able to write to the StreamRegistry and participate in mini-block production.

Given the open-source nature of River, the Foundation also encourages developers who would like to run instances of River Chain on a chainId of their choice connected to self-hosted River Nodes. Though these nodes would not technically be connected to the protocol node network that is deployed on Base Mainnet, developers may find value in experimenting with different chainId and implementation features.

Current Operator Support

Below is a table of the current and projected future operator service level that will be supported by the River Protocol. Supported configurations have recipes in subsequent sections to help developers get up and running.

ConfigurationDescriptionNode RegistrationStream ReadsStream WritesSupport
Full nodeStream node runnning inside River node networkrequired*yesyesimplemented
Info modeStream node running in info mode, unattachednono*no*implemented
Read-write nodeStream node running outside River node networknoproxied*proxied*not yet implemented
Archival nodeStream node running outside River node network storing all stream events from River node networknoproxied*proxied*not yet implemented

proxied* Nodes proxy requests to other Nodes that are registered in the River node registry contract deployed on Base.