InstantSend Technical Information
InstantSend has been integrated into the Core Daemon in two ways:
- "push" notifications (ZMQ and
- RPC commands.
When a "Transaction Lock" occurs the hash of the related transaction is broadcasted through ZMQ using both the
zmqpubrawtxlock: publishes the raw transaction when locked via InstantSend
zmqpubhashtxlock: publishes the transaction hash when locked via InstantSend
This mechanism has been integrated into Bitcore-Node-Dash which allows for notification to be broadcast through Insight API in one of two ways:
- WebSocket: https://github.com/dashpay/insight-api-dash#web-socket-api
- API: https://github.com/dashpay/insight-api-dash#instantsend-transactions
Command line option
When a wallet InstantSend transaction is successfully locked a shell command provided in this option is executed (
<cmd> is replaced by TxID):
Details pertaining to an observed "Transaction Lock" can also be retrieved through RPC. There is a boolean field named
instantlock which indicates whether a given transaction is locked via InstantSend. This field is present in the output of some wallet RPC commands e.g.
gettransaction etc. as well as in the output of some mempool RPC commands e.g.
getmempoolentry and a couple of others like
verbose=true only). For blockchain based RPC commands
instantlock will also say
true if this transaction was locked via LLMQ based ChainLocks (for backwards compatibility reasons).