InstantSend subsection of P2P reference detail

- Added ix, txlvote message details and associated references
This commit is contained in:
thephez 2017-09-07 12:40:49 -04:00
parent ec99c90361
commit 5c4d329091
2 changed files with 43 additions and 0 deletions

View file

@ -1411,6 +1411,8 @@ bc8f5e5400000000 ............................ Epoch time: 1415483324
{% autocrossref %} {% autocrossref %}
The following network messages all help control the InstantSend feature of Dash. The following network messages all help control the InstantSend feature of Dash.
InstantSend uses the masternode network to lock transaction inputs and enable
secure, instantaneous transactions.
{% endautocrossref %} {% endautocrossref %}
@ -1419,6 +1421,10 @@ The following network messages all help control the InstantSend feature of Dash.
{% autocrossref %} {% autocrossref %}
The `ix` message (transaction lock request) has the same structure as the `tx` message.
The masternode network responds with `txlvote` messages if the transaction inputs
can be locked.
{% endautocrossref %} {% endautocrossref %}
@ -1427,6 +1433,41 @@ The following network messages all help control the InstantSend feature of Dash.
{% autocrossref %} {% autocrossref %}
The `txlvote` message ([transaction lock vote][msg_txlock_vote]{:#term-msg_txlock_vote}{:.term})
is sent by masternodes to indicate approval of a transaction lock request
`ix` message.
| Bytes | Name | Data type | Required | Description |
| ---------- | ----------- | --------- | -------- | -------- |
| 32 | txHash | uint256 | Required | TXID of the transaction to lock
| 36 | outPoint | outpoint | Required | The unspent outpoint to lock in this transaction
| 36 | outpointMasternode | outpoint | Required | The outpoint of the masternode which is signing the vote
| 66* | vchMasternodeSignature | char[] | Required | 66 bytes in most cases. Length (1 byte) + Signature (65 bytes)
The following annotated hexdump shows a `txlvote` message. (The
message header has been omitted.)
{% highlight text %}
3c121fb4a12b2f715e2f70a9fa282115
be197dde14073959fb2a2b8e95a7418f ..... TXID
Outpoint to lock
| bb607995757c6a6efd6429215dcb3688
| b252d34d835c81fed310fd905f487020 ... Outpoint TXID
| 01000000 ........................... Outpoint index number (1)
Masternode Outpoint
| de9029c7e9b7eb7cd11f27ba670b2349
| 0c3f0717b86ed949c316874589405cd2 ... Outpoint TXID
| 00000000 ........................... Outpoint index number (0)
1ccc39ffb9c62111a8c82823d3ce61d2
380db4e8f76ec238d568908f37558a90
4e79566a53663de12ec2be1183c87d61
250e8ebd57be171be1d4b5e89b69c263
88 ................................... Masternode Signature
{% endhighlight %}
{% endautocrossref %} {% endautocrossref %}

View file

@ -213,6 +213,7 @@ http://opensource.org/licenses/MIT.
[getheaders message]: /en/developer-reference#getheaders "A P2P protocol message used to request a range of block headers" [getheaders message]: /en/developer-reference#getheaders "A P2P protocol message used to request a range of block headers"
[headers message]: /en/developer-reference#headers "A P2P protocol message containing one or more block headers" [headers message]: /en/developer-reference#headers "A P2P protocol message containing one or more block headers"
[inv message]: /en/developer-reference#inv "A P2P protocol message used to send inventories of transactions and blocks known to the transmitting peer" [inv message]: /en/developer-reference#inv "A P2P protocol message used to send inventories of transactions and blocks known to the transmitting peer"
[ix message]: /en/developer-reference#ix "A P2P protocol message which sends a single serialized transaction via InstantSend"
[mempool message]: /en/developer-reference#mempool "A P2P protocol message used to request one or more inv messages with currently-unconfirmed transactions" [mempool message]: /en/developer-reference#mempool "A P2P protocol message used to request one or more inv messages with currently-unconfirmed transactions"
[merkleblock message]: /en/developer-reference#merkleblock "A P2P protocol message used to request a filtered block useful for SPV proofs" [merkleblock message]: /en/developer-reference#merkleblock "A P2P protocol message used to request a filtered block useful for SPV proofs"
[notfound message]: /en/developer-reference#notfound "A P2P protocol message sent to indicate that the requested data was not available" [notfound message]: /en/developer-reference#notfound "A P2P protocol message sent to indicate that the requested data was not available"
@ -221,6 +222,7 @@ http://opensource.org/licenses/MIT.
[reject message]: /en/developer-reference#reject "A P2P network message used to indicate a previously-received message was rejected for some reason" [reject message]: /en/developer-reference#reject "A P2P network message used to indicate a previously-received message was rejected for some reason"
[sendheaders message]: /en/developer-reference#sendheaders "A P2P network message used to request new blocks be announced through headers messages rather than inv messages" [sendheaders message]: /en/developer-reference#sendheaders "A P2P network message used to request new blocks be announced through headers messages rather than inv messages"
[tx message]: /en/developer-reference#tx "A P2P protocol message which sends a single serialized transaction" [tx message]: /en/developer-reference#tx "A P2P protocol message which sends a single serialized transaction"
[txlvote message]: /en/developer-reference#txlvote "A P2P protocol message which masternodes send in response to an ix (transaction lock request) message if the transaction inputs can be locked."
[verack message]: /en/developer-reference#verack "A P2P network message sent in reply to a version message to confirm a connection has been established" [verack message]: /en/developer-reference#verack "A P2P network message sent in reply to a version message to confirm a connection has been established"
[version message]: /en/developer-reference#version "A P2P network message sent at the begining of a connection to allow protocol version negotiation" [version message]: /en/developer-reference#version "A P2P network message sent at the begining of a connection to allow protocol version negotiation"