BlockScout currently supports Parity, OpenEthereum, Geth, Nethermind, Hyperledger Besu, and Ganache clients. To define the node variant, it's advised to define the ETHEREUM_JSONRPC_VARIANT
environment variable. Correct values include:
parity
the same for Parity, OpenEthereum and Nethermind (default)
geth
besu
ganache
BlockScout currently requires a full archive node in order to import every state change for every address on the target network.
Explorer: https://github.com/poanetwork/blockscout/blob/master/apps/explorer/config/dev.exs​
Indexer: https://github.com/poanetwork/blockscout/blob/master/apps/indexer/config/dev.exs​
variant =if is_nil(System.get_env("ETHEREUM_JSONRPC_VARIANT")) do"ganache"elseSystem.get_env("ETHEREUM_JSONRPC_VARIANT")|> String.split(".")|> List.last()|> String.downcase()end
Explorer: https://github.com/poanetwork/blockscout/blob/master/apps/explorer/config/dev.exs​
Indexer: https://github.com/poanetwork/blockscout/blob/master/apps/indexer/config/prod.exs​
variant =if is_nil(System.get_env("ETHEREUM_JSONRPC_VARIANT")) do"parity"elseSystem.get_env("ETHEREUM_JSONRPC_VARIANT")|> String.split(".")|> List.last()|> String.downcase()end
--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 |
| ​http://localhost:8545​ | The HTTP Endpoint is used to fetch |
Tracing Endpoint |
| ​http://localhost:8545​ | The Tracing endpoint is used to fetch |
WebSockets Endpoint |
| ws://localhost:8546 | The WebSockets endpoint subscribes to |
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 |
| ​http://localhost:8545​ | The HTTP Endpoint is used to fetch |
WebSockets Endpoint |
| ws://localhost:8546 | The WebSockets endpoint subscribes to |