Practical overview
When it fits
Use Shinode when an indexer needs Ethereum Mainnet event logs from a self-hosted JSON-RPC service and does not depend on contract calls or other state queries.
Who it is for
- Developers building Ethereum event indexers.
- Operators who want a locally hosted source of Ethereum logs for applications using eth_getLogs.
Documented uses
- Sync Ethereum Mainnet history from peer-to-peer peers.
- Serve filtered event-log queries by block range, address and topics.
- Provide block data by number, including transaction hashes.
- Resume syncing from persisted checkpoints after restart.
Requirements & limits
The project is available as an open-source GitHub repository under the Apache-2.0 license. The README lists pre-built binaries for Linux x86_64 and macOS ARM and x86_64, and a Rust/C toolchain route for building from source.
- Shinode does not include an EVM or state trie, so it cannot serve eth_call, traces, balances, storage or contract reads.
- The README describes Ethereum Mainnet support; it says L2 receipts are not available over P2P.
- Peer-fetched data is not proof-validated, according to the README.
- Historical P2P data may thin out over time, as noted in the project documentation.
- Ponder is supported in event-only mode; indexing code using context.client.readContract() requires a full node for eth_call.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Build and start Shinode from source
Build Shinode locally and start its documented default sync from block 10,000,000.
Before you start
- Rust and a C toolchain; on Ubuntu or Debian, the README names build-essential.
- A cloned copy of the Shinode repository.
Steps
Clone the repository and change into its directory.
Build a release binary with cargo build --release.
Start the node with cargo run --release; the README says this syncs from block 10M to head.
Expected outcome
A locally running Shinode instance starts syncing Ethereum history from the default starting block.
Guide limitations
- The README warns against production use until the project is fully tested and reviewed.
- Shinode does not provide eth_call, traces or state queries; it is intended for history and event-log workloads.
- The README identifies Ethereum Mainnet as the supported network.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 13 October 2026
- Original website title
- vicnaum/shinode · Official homepage title · retained in its source language

