Going multi-chain

A short story

1. What indexers see - the epoch subgraph
2. The EBO
3. Changes required to graph-node

1. The epoch subgraph

  • Letting indexers know when to close allocations.
  • Decoding data passing through the DataEdge contract
  • Validation, rollbacks, error recovery

2. The EBO

An authoritative source of chain head updates

 

(huge state machine goes brrr)

  1. Fetch data from the Epoch Subgraph.
  2. Check if it's behind the Epoch Manager.
  3. Poll JRPC providers for chain heads info.
  4. Delta compression of chain heads info.
  5. Sign and submit transaction.

...while handling a long tail of edge cases

  • Unavailable providers.
  • Broken subgraph.
  • Unavailable subgraph.
  • Gas price spikes.

The EBO and the Epoch Subgraph use a message-oriented, standardized protocol.

Many message types for many exceptional circumstances, maintance tasks, network addition & removal, and more.

3. graph-node

Multi-chain capabilities developed for the hosted service transfer seamlessly to the network.

Some work required, but minimal.

  1. New endpoint(s) for the indexer agent.
  2. CAIP2 migration — and aliasing!

Good news

🦀 Thank you! 🦀

- Tiago & Filippo

E&N multi-chain

By filippoc

E&N multi-chain

  • 147