feat(light client): fetch block body from remote (#2527)
* feat(on_demand): block body request * fix(light block req): no justific + one block * fix(bad rebase) * feat(protocol): add messages for `remote_body` * fix(on demand body): remove needless `take()` * fix(network): remove messages for `on_demand_body` * fix(grumbles): use `hash` in `remote_body_requests` As long as we can't compute `ordered_trie_root(body)` just compare that request.header.hash() == response.header.hash() * fix(grumbles): `hdr.ext_root == trie_root(body)` * fix(grumbles): propogate `Err` in `fn body()` * fix(grumbles): Vec<Block::Extrinsic> * fix(grumbles): util_fn for `not_impl` in tests * fix(on remote body): tests `fetch` and `on_demand` * docs(resolve todos)
parent
55937d1f
Showing
- substrate/core/client/src/light/blockchain.rs 14 additions, 4 deletionssubstrate/core/client/src/light/blockchain.rs
- substrate/core/client/src/light/fetcher.rs 120 additions, 12 deletionssubstrate/core/client/src/light/fetcher.rs
- substrate/core/network/src/message.rs 1 addition, 1 deletionsubstrate/core/network/src/message.rs
- substrate/core/network/src/on_demand.rs 166 additions, 6 deletionssubstrate/core/network/src/on_demand.rs
- substrate/core/network/src/protocol.rs 19 additions, 4 deletionssubstrate/core/network/src/protocol.rs
- substrate/core/test-client/src/lib.rs 8 additions, 0 deletionssubstrate/core/test-client/src/lib.rs
Please register or sign in to comment