les, light: LES/2 protocol version (#14970)
This PR implements the new LES protocol version extensions: * new and more efficient Merkle proofs reply format (when replying to a multiple Merkle proofs request, we just send a single set of trie nodes containing all necessary nodes) * BBT (BloomBitsTrie) works similarly to the existing CHT and contains the bloombits search data to speed up log searches * GetTxStatusMsg returns the inclusion position or the pending/queued/unknown state of a transaction referenced by hash * an optional signature of new block data (number/hash/td) can be included in AnnounceMsg to provide an option for "very light clients" (mobile/embedded devices) to skip expensive Ethash check and accept multiple signatures of somewhat trusted servers (still a lot better than trusting a single server completely and retrieving everything through RPC). The new client mode is not implemented in this PR, just the protocol extension.
Showing
- core/bloombits/matcher.go 44 additions, 7 deletionscore/bloombits/matcher.go
- core/bloombits/matcher_test.go 5 additions, 4 deletionscore/bloombits/matcher_test.go
- core/chain_indexer.go 50 additions, 19 deletionscore/chain_indexer.go
- core/chain_indexer_test.go 3 additions, 1 deletioncore/chain_indexer_test.go
- core/database_util.go 7 additions, 8 deletionscore/database_util.go
- core/tx_list.go 5 additions, 5 deletionscore/tx_list.go
- core/tx_pool.go 85 additions, 21 deletionscore/tx_pool.go
- eth/backend.go 3 additions, 1 deletioneth/backend.go
- eth/bloombits.go 10 additions, 9 deletionseth/bloombits.go
- eth/filters/filter.go 8 additions, 5 deletionseth/filters/filter.go
- eth/filters/filter_system_test.go 1 addition, 1 deletioneth/filters/filter_system_test.go
- ethstats/ethstats.go 1 addition, 1 deletionethstats/ethstats.go
- les/api_backend.go 8 additions, 1 deletionles/api_backend.go
- les/backend.go 55 additions, 24 deletionsles/backend.go
- les/bloombits.go 84 additions, 0 deletionsles/bloombits.go
- les/handler.go 326 additions, 28 deletionsles/handler.go
- les/handler_test.go 154 additions, 8 deletionsles/handler_test.go
- les/helper_test.go 8 additions, 2 deletionsles/helper_test.go
- les/odr.go 35 additions, 11 deletionsles/odr.go
- les/odr_requests.go 260 additions, 50 deletionsles/odr_requests.go
Loading
Please register or sign in to comment