Skip to main content
The wallet-backend pilot is one instance of a general recipe. Any indexer that can read ledgers from Stellar RPC can follow it, and the hosted mock RPC means you don’t have to clone anything.

1. Point your indexer at the corpus

Set your RPC URL to one of: Or run it locally with npm run rpc -- --network pubnet --port 8000.

2. Ingest the fixture ledgers

Get the ledger numbers from the fixtures list:
Start ingestion at the oldest one. The range is sparse: only fixture ledgers exist. If your indexer requires contiguous ledgers, ingest each one with startLedger set to the fixture’s ledger and limit 1.

3. Compare with expected_indexed

For each fixture, look up what your indexer stored for its tx_hash and compare it with the manifest’s expected_indexed:
Score each one as correct, incorrect (present but a field differs) or dropped (missing). Compare values as strings; don’t let a JSON parser near the 64-bit ones.

4. Make it a test

The pilot’s driver (kit/pilot/wallet-backend.mjs) and scorer (kit/pilot/score.mjs) are a template: start the mock RPC in-process, run your ingestion, emit JSON with string-encoded integers, score, fail on anything but correct. Run it in CI and every new fixture becomes a regression test for your indexer.
If your indexer gets a fixture wrong, the hardening guide rule for that pattern explains the fix. If you think the fixture is wrong, open an issue. Expectations come from independent sources, but that doesn’t make them infallible.