Custom RPC Provider
Overview
RPC (Remote Procedure Call) enables communication between external applications like the HOPRd node and the blockchain network. For reliable syncing, balance checks, and blockchain interactions, we highly recommend setting up your own Gnosis Chain node.
RPC Provider Methods
Here are the different methods for running your own node or connecting to a third-party RPC provider, ranked from most stable to least stable:
1. Run your own gnosis chain node (Most secure and reliable)
For VPS/PC/Mac users
To set up a Gnosis chain node, you will need to run both the Execution Layer (EL) and Consensus Layer (CL) clients. Ensure that your hardware meets the necessary requirements:
We recommend using Sedge for an easy node setup. Here's how to get started:
(1) Install sedge: Sedge install guide
(2) Install dependencies required for sedge to fully operate:
./sedge deps install
(3) Generate a full node setup by specifying the custom execution client as "Nethermind" and the consensus client as "Nimbus" (without MEV-Boost).
- If you only need an RPC endpoint on the Gnosis chain, please select the No Validator method.
- If you want to become a Gnosis validator and have at least 1 GNO token, please select the With Validator installation method.
- No validator
- With validator
./sedge generate full-node --execution nethermind --consensus nimbus --no-validator --network=gnosis --no-mev-boost=true
./sedge generate full-node --execution nethermind --consensus nimbus --network=gnosis --no-mev-boost=true
(4) Configure log size limitations (Nethermind client > v1.27.x):
-
Navigate to the "sedge-data" folder and open the ".env" file.
-
Add this line:
NETHERMIND_JSONRPCCONFIG_MAXLOGSPERRESPONSE=300000
and save the file.
(5) Expose the necessary ports to use the RPC endpoint for HOPRd nodes:
-
Navigate to the "sedge-data" folder and open the "docker-compose.yml" file.
-
Under "execution.ports" fill in these ports: 8545:8545 and 8551:8551, and save the file.
(6) Start sedge
./sedge run
Once the setup is complete and fully synced, you can access your RPC endpoint at http://localhost:8545. For external use, ensure the port is exposed.
Watch this video tutorial for step-by-step guidance:
For DAppNode users
- Go to the Stakers section: http://my.dappnode/stakers/gnosis
- Select Nethermind xDai for the Execution Layer and Lighthouse Gnosis for the Consensus Layer. Ensure Use checksync is enabled, then click Apply Changes.
- Configure log size limitations (Nethermind client v1.27.x):
- Go to: http://my.dappnode/packages/my/nethermind-xdai.dnp.dappnode.eth/config
- Add:
--JsonRpc.MaxLogsPerResponse 300000
to the "ENV VALUE" field next to "EXTRA_OPTS". - Click "Update" to apply the changes.
After syncing, your RPC endpoint for the HOPR node will be http://nethermind-xdai.dappnode:8545.
Watch this video tutorial for step-by-step guidance:
2. Use third-party RPC providers (Moderately stable)
We recommend using a third-party RPC provider that runs on the Nethermind execution client. These options are typically free and reliable enough for running your node:
- Public Node
- Gateway FM (Note: Ensure the URL includes an API key)
- Gnosis Chain RPC Providers
3. Use public RPC endpoints from Chainlist (Least reliable)
You can find public RPC endpoints from Chainlist.org, but note that these are often unstable due to heavy usage. We recommend caution when using these endpoints as they might go offline or rate-limit your HOPRd node.