FAQ: What settings are required on a Parity or Geth Client?

faq

#1

Supported Clients

BlockScout currently supports Parity, Geth, and Ganache clients. To define the node variant, it’s advised to define the ETHEREUM_JSONRPC_VARIANT environment variable. Correct values include:

  1. parity (default)
  2. geth
  3. ganache


Production



Development




Parity and Geth Client Settings

BlockScout currently requires a full archive node in order to import every state change for every address on the target network.



Parity Client

--jsonrpc-interface all --jsonrpc-apis web3,eth,net,parity,pubsub,traces --ws-interface all --fat-db=on --pruning=archive --ws-apis all --ws-origins all --ws-hosts all


Name Environment Variable Default Value Description
HTTP Endpoint ETHEREUM_JSONRPC_HTTP_URL http://localhost:8545 The HTTP Endpoint is used to fetch blocks, transactions, receipts, coin/token balances.
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.
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.

Development


Production




Geth Client

sudo /usr/bin/geth --rpc --rpcaddr 0.0.0.0 --port 30303 --rpcport 8545 --rpcapi debug,net,eth,shh,web3,txpool --wsapi "eth,net,web3,network,debug,txpool" --ws --wsaddr 0.0.0.0 --wsport 8546 --wsorigins "*" --rinkeby --datadir=/rinkeby --syncmode=full --gcmode=archive --rpcvhosts=*

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.



Name Environment Variable Default Value Description
HTTP Endpoint ETHEREUM_JSONRPC_HTTP_URL http://localhost:8545 The HTTP Endpoint is used to fetch blocks, transactions, receipts, coin/token balances.
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.

Development


Production