This PR adds an index with the silent payment tweak for every transaction. It builds on top of #28122. Supersedes #24897.
Usage: bitcoind -bip352index
The index does not have wallet dependencies, so it can be built with --disable-wallet
.
It also adds a getsilentpaymentblockdata
RPC that returns an array of silent payment tweaked public keys, one for each qualifying transaction.
This index serves two purposes:
- Light client support, see BIP 352
- A more thorough check than the test vectors; e.g. by comparing a checksum of the index for all of mainnet.
TODO:
- check correctness against another implementation
- (maybe) implement cut-through (
-bip352ctindex
)