Frequently Asked Questions
What is the GitHub link for the Shinzo Indexer?
https://github.com/shinzonetwork/shinzo-indexer-client
Does the Indexer replace my Ethereum node?
No. The IndexerIndexer A node that reads blockchain data from a source chain, parses it into structured documents, and writes them to defraDB. Indexers are write-only: they push data out over P2P and reject all incoming replication. is a sidecar client that reads from an existing Ethereum execution node (GethGeth Go-Ethereum, the Go implementation of an Ethereum node. Each indexer runs alongside a Geth node and connects over WebSocket (port 8546) and JSON-RPC (port 8545) to fetch block data., Reth, Nethermind, Erigon, or a managed provider). It does not run an execution client, does not serve JSON-RPC, and is not a substitute for your validatorValidator An entity that participates in a chain's consensus. On Ethereum, a validator's withdrawal key signs an EIP-712 message on the outpost to authorize an operator key as its indexer.'s node. You point it at an upstream RPC and WebSocket endpoint, and it ingests block dataBlock Data Raw blockchain data: blocks, transactions, and logs. The indexer fetches this from source chains such as Ethereum and structures it into defraDB documents. from there into its local DefraDBdefraDB A peer-to-peer, document-oriented database embedded in every indexer and host. It handles storage, content addressing, CRDT merging, query serving, and P2P replication via libp2p..
What hardware is recommended for deploying Shinzo?
Shinzo is lightweight on CPU, but storage performance and hostHost A Shinzo node that receives indexed data from indexers over P2P, verifies it, runs lens transforms to produce view documents, and serves those documents over GraphQL. stability matter for reliable operation. Based on current production usage:
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 2 vCPUs | 16 vCPUs |
| Memory (RAM) | 16 GB | 32–64 GB |
| Storage | 3 TB NVMe | 4+ TB NVMe |
| OS | Ubuntu 24.04 | Ubuntu 24.04 |
Which RPC methods does the Indexer call on the upstream node?
The IndexerIndexer A node that reads blockchain data from a source chain, parses it into structured documents, and writes them to defraDB. Indexers are write-only: they push data out over P2P and reject all incoming replication. reads from whatever execution node you point it at. That upstream node must support these methods:
eth_getTransactionReceipt(required)eth_getBlockByNumber(required)eth_getLogseth_calleth_getBlockByHashnet_versionnet_peerseth_getUncleByBlockHashAndIndexeth_getBlockReceipts
Note: The IndexerIndexer A node that reads blockchain data from a source chain, parses it into structured documents, and writes them to defraDB. Indexers are write-only: they push data out over P2P and reject all incoming replication. only actively calls
eth_getBlockByNumberandeth_getTransactionReceiptto ingest data. The other methods are listed for compatibility.
What happens if I lose my node-identity-key? Can I regenerate it?
If you lose your node-identity-key, your node’s identity is permanently lost.
- The key cannot be regenerated
- You must spin up a new IndexerIndexer A node that reads blockchain data from a source chain, parses it into structured documents, and writes them to defraDB. Indexers are write-only: they push data out over P2P and reject all incoming replication. instance
- You must register again with a new identity
- The new node may use the same EVMEVM The runtime that executes Solidity smart contracts. ShinzoHub embeds an EVM module so its registries are accessible as precompiled contracts at fixed addresses, callable from any EVM tooling. address, but it will be treated as a new identity
To avoid this, always back up your node-identity-key.
What types of data are indexed?
All blockchain data is indexed, including blocks, transactions, logsLog A document type the indexer produces for event logs emitted during transaction execution. `topics` holds the indexed parameters and `data` holds the non-indexed ones, both as raw hex. ABI decoding happens later, in a lens., and storage access lists. The data is indexed by hash (block and transaction), block number, and document.
How much space do I need?
Currently ~100 GB per 10,000 blocks. Storage usage depends on block size and chain activity.
Optimization improvements are in progress to reduce storage growth.
How long does it take to sync?
Sync time depends entirely on the chosen start height. The further back the IndexerIndexer A node that reads blockchain data from a source chain, parses it into structured documents, and writes them to defraDB. Indexers are write-only: they push data out over P2P and reject all incoming replication. begins, the longer it will take to catch up to the current block height. The IndexerIndexer A node that reads blockchain data from a source chain, parses it into structured documents, and writes them to defraDB. Indexers are write-only: they push data out over P2P and reject all incoming replication. processes blocks approximately 2–4 seconds per block, which is faster than Ethereum’s 12-second block time. This allows the IndexerIndexer A node that reads blockchain data from a source chain, parses it into structured documents, and writes them to defraDB. Indexers are write-only: they push data out over P2P and reject all incoming replication. to gradually close any sync gap after initial backfilling.
How do I choose a start height?
The further back you choose, the longer it will take to get to current blocks. However, the further back you index, the more you contribute to the network.
How often is the Indexer updated with new blocks?
The IndexerIndexer A node that reads blockchain data from a source chain, parses it into structured documents, and writes them to defraDB. Indexers are write-only: they push data out over P2P and reject all incoming replication. fetches blocks by block number from the upstream Ethereum node it is configured to read from. As soon as a block becomes available on that node after being gossiped and finalized on the network, the IndexerIndexer A node that reads blockchain data from a source chain, parses it into structured documents, and writes them to defraDB. Indexers are write-only: they push data out over P2P and reject all incoming replication. can pull it in. The IndexerIndexer A node that reads blockchain data from a source chain, parses it into structured documents, and writes them to defraDB. Indexers are write-only: they push data out over P2P and reject all incoming replication. does not participate in consensus or gossip itself; it just reads from a node that does.
How does storage grow over time?
Storage grows linearly at roughly 10GB/1K full blocks. The first 15M blocks of ethereum are significantly smaller than blocks after the POS migration, math has been done on recent blocks.
You can passively prune documents that has already been gossiped, reducing long-term storage pressure and clearing up old blocks.