mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-12 23:18:14 +01:00
Merge #19070: p2p: Signal support for compact block filters with NODE_COMPACT_FILTERS
f5c003d3ea[test] Add test for NODE_COMPACT_FILTER. (Jim Posen)132b30d9c8[net] Signal NODE_COMPACT_FILTERS if we're serving compact filters. (Jim Posen)b3fbc94d4fApply cfilters review fixups (John Newbery) Pull request description: If -peerblockfilters is configured, signal the `NODE_COMPACT_FILTERS` service bit to indicate that we are able to serve compact block filters, headers and checkpoints. ACKs for top commit: MarcoFalke: re-review and Concept ACKf5c003d3eafjahr: Code review ACKf5c003d3eaclarkmoody: Concept ACKf5c003d3eaariard: Concept and Code Review ACKf5c003djonatack: ACKf5c003d3eTree-SHA512: 34d1c153530a0e55d09046fe548c9dc37344b5d6d50e00af1b4e1de1e7b49de770fca8471346a17c151de9fe164776296bb3dd5af331977f0c3ef1e6fc906f85
This commit is contained in:
@@ -4,12 +4,13 @@
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
"""Tests NODE_COMPACT_FILTERS (BIP 157/158).
|
||||
|
||||
Tests that a node configured with -blockfilterindex and -peerblockfilters can serve
|
||||
cfheaders and cfcheckpts.
|
||||
Tests that a node configured with -blockfilterindex and -peerblockfilters signals
|
||||
NODE_COMPACT_FILTERS and can serve cfilters, cfheaders and cfcheckpts.
|
||||
"""
|
||||
|
||||
from test_framework.messages import (
|
||||
FILTER_TYPE_BASIC,
|
||||
NODE_COMPACT_FILTERS,
|
||||
hash256,
|
||||
msg_getcfcheckpt,
|
||||
msg_getcfheaders,
|
||||
@@ -70,6 +71,14 @@ class CompactFiltersTest(BitcoinTestFramework):
|
||||
self.nodes[1].generate(1001)
|
||||
wait_until(lambda: self.nodes[1].getblockcount() == 2000)
|
||||
|
||||
# Check that nodes have signalled NODE_COMPACT_FILTERS correctly.
|
||||
assert node0.nServices & NODE_COMPACT_FILTERS != 0
|
||||
assert node1.nServices & NODE_COMPACT_FILTERS == 0
|
||||
|
||||
# Check that the localservices is as expected.
|
||||
assert int(self.nodes[0].getnetworkinfo()['localservices'], 16) & NODE_COMPACT_FILTERS != 0
|
||||
assert int(self.nodes[1].getnetworkinfo()['localservices'], 16) & NODE_COMPACT_FILTERS == 0
|
||||
|
||||
self.log.info("get cfcheckpt on chain to be re-orged out.")
|
||||
request = msg_getcfcheckpt(
|
||||
filter_type=FILTER_TYPE_BASIC,
|
||||
|
||||
@@ -53,6 +53,7 @@ NODE_NETWORK = (1 << 0)
|
||||
NODE_GETUTXO = (1 << 1)
|
||||
NODE_BLOOM = (1 << 2)
|
||||
NODE_WITNESS = (1 << 3)
|
||||
NODE_COMPACT_FILTERS = (1 << 6)
|
||||
NODE_NETWORK_LIMITED = (1 << 10)
|
||||
|
||||
MSG_TX = 1
|
||||
|
||||
Reference in New Issue
Block a user