Client Setting Requirements
Last updated
Was this helpful?
Last updated
Was this helpful?
BlockScout currently supports , , , , , , , and JSON RPC clients. To define the JSON RPC node variant, it's advised to define the ETHEREUM_JSONRPC_VARIANT
environment variable*. Correct values include:
Geth
`geth`
Default. This value is applicable for both Geth and Reth JSON RPC clients
Erigon
`erigon`
It is suggested to use erigon
variant for Reth JSON RPC client.
Nethermind
`nethermind`
This value is applicable for Reth and deprecated OpenEthereum (aka Parity) JSON RPC clients
Besu
`besu`
RSKj
`rsk`
Lotus
`filecoin`
Anvil
`anvil`
*If the variable is not set, JSON RPC variant will be chosen based on CHAIN_TYPE
variable according to the mapping https://github.com/blockscout/blockscout/blob/a2625803c831fb86e38ffe0e28d94bfd697914ce/apps/ethereum_jsonrpc/lib/ethereum_jsonrpc/variant.ex#L114-L120
Explorer
Dev
Prod
Indexer
Dev
Prod
HTTP Endpoint
ETHEREUM_JSONRPC_HTTP_URL
http://localhost:8545
The HTTP Endpoint is used to fetch blocks
, transactions
, receipts
, coin/token balances
.
Fallback HTTP Endpoint
ETHEREUM_JSONRPC_FALLBACK_HTTP_URL
(empty)
Fallback JSON RPC HTTP url.
Tracing Endpoint
ETHEREUM_JSONRPC_TRACE_URL
http://localhost:8545
The Tracing endpoint is used to fetch internal transactions
and block traces
. In most cases this endpoint is identical to the HTTP Endpoint.
Fallback Tracing Endpoint
ETHEREUM_JSONRPC_FALLBACK_TRACE_URL
(empty)
Fallback JSON RPC tracing url.
Eth_call Requests Endpoint
ETHEREUM_JSONRPC_ETH_CALL_URL
(empty)
JSON RPC url for eth_call
method requests.
Fallback Eth_call Requests Endpoint
ETHEREUM_JSONRPC_FALLBACK_ETH_CALL_URL
(empty)
Fallback JSON RPC eth_call
url.
WebSockets Endpoint
ETHEREUM_JSONRPC_WS_URL
ws://localhost:8546
The WebSockets endpoint subscribes to newHeads
which alerts the indexer to fetch the new block from the subscription.
Tracing and pruning: By default, state for the last 128 blocks kept in memory. Most states are garbage collected. If you are running a block explorer or other service relying on transaction tracing without an archive node (--gcmode=archive), you need to trace within this window! Alternatively, specify the "reexec" tracer option to allow regenerating historical state; and ideally switch to chain tracing which amortizes overhead across all traced blocks.
More information on Geth JSON-RPC .
More information on Erigon configuration .
More information on Nethermind configuration .
More information on Reth configuration .
More information on RSKj configuration .
More information on Besu configuration .
More information on Lotus configuration .