Author: Mike Hearn 2012-06-14 11:52:29
Published on: 2012-06-14T11:52:29+00:00
The two functions 'filterinit' and 'filterload' are used to initialize and input a serialized bloom filter table metadata and data, respectively. These functions can be combined with 'filteradd' to enable special behavior changes for 'mempool' and existing P2P commands. This means that only transactions matching the bloom filter will be announced to the connection and only matching transactions will be sent inside serialized blocks. It is important to specify the format of how these arrive. When a new block is found, instead of 'invgetdatablock', we would see something like 'invgetdatamerkleblock', where a "merkleblock" structure is a header, list of transactions, and list of merkle branches linking them to the root. The 'CMerkleTx' already knows how to serialize this but redundantly includes the block hash, which would not be necessary for a merkleblock message.
Updated on: 2023-06-06T05:00:03.067410+00:00