Skip to content

Inject headers to alpha network from external source #314

Closed
@carver

Description

@carver

Extract headers (maybe follow the tip of the mainnet chain) from an execution client, and inject them into a trin client, in a way that offers them to other peers on the network.

TODO:

  • Manually generate private keys and node ids to create ~8 nodes spread around the DHT ~evenly (perhaps run with larger than usual buckets? Only if that's easier than running more nodes, which seems a little unlikely)
  • make a bridge-splitter daemon that:
    • at launch:
      • runs the ~8 trin nodes, with custom ipc path and port (and data directory?)
      • connects to 3rd-party service: infura? alchemy? etc
      • listens for new headers to arrive
    • when a header arrives:
      • generate header content-key and content-value
      • call portal_historyStore on all ~8 nodes with the header
      • get the transactions and uncles to build the block body, from 3rd party
      • generate block body content-key and content-value
      • call portal_historyStore on all ~8 nodes with the block body
      • get the receipts from 3rd party
      • generate receipts content-key and content-value
      • call portal_historyStore on all ~8 nodes with the receipts
  • In trin, after receiving data via portal_historyStore, gossip it to relevant nodes in routing table (with matching radius) -- depends on Propagate Gossip implementation #313
    • Propagate the data, even if it's not stored locally
  • Offer history content to all peers over rpc #411 -- Propagate using portal_historyOffer instead of portal_historyStore
  • Use Recursive-Find-Content to confirm that data gets pushed somewhere out to the network from the bridge

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions