[x] Add ReceiveBlock path that does not apply fork choice (for initial sync up to finalized epoch)
Discovery:
[x] Change bootnode to use Discv5 instead of kademlia #3203
[x] Allow node discovery via Discv5. #3211
- [ ] Handle topic search for stored node records.- [ ] Standardize interfaces to match libp2p for discovery and peer routing
[x] ENR for nodes in prysm must conform with the required fields as stated here
The new interop networking spec has been merged (https://github.com/ethereum/eth2.0-specs/pull/1328).
Spec requirements
Interop requirements:
Mainnet requirements:
Code changes
Not in any particular order. See networking design doc.
Migration:
deprecated-
as part of the migration. #3190 #3191p2p
package:p2p
encoding:ssz
encoder/decoder #3198 #3210ssz_snappy
encoder/decoder #3198 #3210p2p
hello/goodbye:Initial sync:
Topic mappings:
Regular sync RPC:
/eth2/beacon_chain/req/beacon_blocks/1/{ssz,ssz_snappy}
handler #3218/eth2/beacon_chain/req/recent_beacon_blocks/1/{ssz,ssz_snappy}
handler #3281/eth2/beacon_chain/req/hello/1/{ssz,ssz_snappy}
handler #3216/eth2/beacon_chain/req/goodbye/1/{ssz,ssz_snappy}
handler #3282Regular sync gossip sub:
/eth2/beacon_block/{ssz,ssz_snappy}
handler & validator #3220/eth2/beacon_attestation/{ssz,ssz_snappy}
handler & validator/eth2/voluntary_exit/{ssz,ssz_snappy}
handler & validator #3227/eth2/proposer_slashing/{ssz,ssz_snappy}
handler & validator/eth2/attester_slashing/{ssz,ssz_snappy}
handler & validatorBroadcaster:
Fork choice:
Discovery:
- [ ] Handle topic search for stored node records.- [ ] Standardize interfaces to match libp2p for discovery and peer routingSsz: