What problem does it solve?
Verifying that Erigon's rpcdaemon returns correct JSON-RPC responses requires a synced mainnet datadir, careful database protection during migrations, and manual comparison against expected results, which is tedious and error-prone to set up by hand.
Core Features & Use Cases
- Local RPC Test Execution: Runs rpcdaemon against a synced Erigon datadir and compares JSON-RPC responses with golden outputs from the erigontech/rpc-tests repository.
- Database Protection Workflow: Backs up chaindata before running migrations and restores it afterward so the reference datadir is not permanently modified.
- Targeted Debugging: Supports running a single test or API group with diff output and full response dumps to investigate failures.
- Remote CI Dispatch: Triggers the same test suites remotely via GitHub Actions workflows for mainnet, latest blocks, and Gnosis chain.
- Use Case: After modifying an eth_getBlockByNumber handler in rpcdaemon, run the integration tests locally against your synced datadir to confirm responses still match the expected golden files before opening a pull request.
Quick Start
Set ERIGON_REFERENCE_DATA_DIR to my synced mainnet datadir and run the RPC integration tests, then show me any failing tests with their diffs.