doc/zmq: Add detailed descriptions for {hash,raw}wallettx topics

This commit is contained in:
Luke Dashjr 2022-05-01 23:30:15 +00:00
parent 7b41419e8d
commit 1b2ac0d6bf

View File

@ -76,8 +76,10 @@ The option to set the PUB socket's outbound message high water mark
-zmqpubhashtxhwm=n -zmqpubhashtxhwm=n
-zmqpubhashblockhwm=n -zmqpubhashblockhwm=n
-zmqpubhashwallettxhwm=n
-zmqpubrawblockhwm=n -zmqpubrawblockhwm=n
-zmqpubrawtxhwm=n -zmqpubrawtxhwm=n
-zmqpubrawwallettxhwm=n
-zmqpubsequencehwm=n -zmqpubsequencehwm=n
The high water mark value must be an integer greater than or equal to 0. The high water mark value must be an integer greater than or equal to 0.
@ -95,14 +97,13 @@ corresponds to the notification type. For instance, for the
notification `-zmqpubhashtx` the topic is `hashtx` (no null notification `-zmqpubhashtx` the topic is `hashtx` (no null
terminator). These options can also be provided in bitcoin.conf. terminator). These options can also be provided in bitcoin.conf.
For wallet transaction notifications (both hash and tx), the For wallet transaction notifications (both hashwallettx and rawwallettx), the
topic also indicate if the transaction came from a block topic also indicates if the transaction came from a block or mempool. If
or mempool. If originated from mempool `-mempool` postfix originated from mempool `-mempool` postfix will be added to the topic, for
will be added to the topic, for block `-block` postfix will block `-block` postfix will be added. Because zeromq is using prefix matching
be added. Because zeromq is using prefix matching for topics for topics you can subscribe to `rawwallettx` (or `hashwallettx`) to get both
you can subscribe to `rawwallettx` (or `hashwallettx`) to get notifications. If you only want one type of notification subscribe to either
both notifications. If you only want one type of notification `rawwallettx-mempool` or `rawwallettx-block`.
subscribe to either `rawwallettx-mempool` or `rawwallettx-block`.
The topics are: The topics are:
@ -132,6 +133,15 @@ Where the 8-byte uints correspond to the mempool sequence number.
| hashblock | <32-byte block hash in Little Endian> | <uint32 sequence number in Little Endian> | hashblock | <32-byte block hash in Little Endian> | <uint32 sequence number in Little Endian>
`rawwallettx`: Identical to `rawtx`, except only when transactions are added (or updated) in an open wallet. Full topic is either `rawwallettx-block` for transactions in a block, or `rawwallettx-mempool` otherwise.
| rawwallettx-<"block" or "mempool"> | <serialized transaction> | <uint32 sequence number in Little Endian>
`hashwallettx`: Identical to `hashtx`, except only when transactions are added (or updated) in an open wallet. Full topic is either `hashwallettx-block` for transactions in a block, or `hashwallettx-mempool` otherwise.
| hashwallettx-<"block" or "mempool"> | <32-byte transaction hash in Little Endian> | <uint32 sequence number in Little Endian>
**_NOTE:_** Note that the 32-byte hashes are in Little Endian and not in the Big Endian format that the RPC interface and block explorers use to display transaction and block hashes. **_NOTE:_** Note that the 32-byte hashes are in Little Endian and not in the Big Endian format that the RPC interface and block explorers use to display transaction and block hashes.
ZeroMQ endpoint specifiers for TCP (and others) are documented in the ZeroMQ endpoint specifiers for TCP (and others) are documented in the