mirror of
https://github.com/seigler/dash-docs
synced 2025-07-27 01:36:13 +00:00
V0.14.0 P2P/RPC updates (#123)
* P2P - LLMQ debug messages - Move below DKG and signing - Don't show qdebugstatus * P2P - Update qbsigs and qsigsinv * Content - add details related to some Dash Core constants * RPC - Add DKG phases to quorum status * P2P - Update version msg with mnauth challenge * P2P - Update version hexdump - Include mn auth challenge * Content - Minor updates - Fix filterload cross ref url - Add note about special tx bloom filter support * Content - update RPC examples based on added CbTx quorum merkle field
This commit is contained in:
parent
aa254c489c
commit
6ee3f06b32
10 changed files with 264 additions and 254 deletions
|
@ -188,8 +188,8 @@ public key infrastructure: pki
|
||||||
'`qcomplaint` messages': qcomplaint message
|
'`qcomplaint` messages': qcomplaint message
|
||||||
'`qcontrib` message': qcontrib message
|
'`qcontrib` message': qcontrib message
|
||||||
'`qcontrib` messages': qcontrib message
|
'`qcontrib` messages': qcontrib message
|
||||||
'`qdebugstatus` message': qdebugstatus message
|
#'`qdebugstatus` message': qdebugstatus message
|
||||||
'`qdebugstatus` messages': qdebugstatus message
|
#'`qdebugstatus` messages': qdebugstatus message
|
||||||
'`qfcommit` message': qfcommit message
|
'`qfcommit` message': qfcommit message
|
||||||
'`qfcommit` messages': qfcommit message
|
'`qfcommit` messages': qfcommit message
|
||||||
'`qgetsigs` message': qgetsigs message
|
'`qgetsigs` message': qgetsigs message
|
||||||
|
|
|
@ -579,7 +579,7 @@ devsearches:
|
||||||
- "qbsigs": "/en/developer-reference#qbsigs"
|
- "qbsigs": "/en/developer-reference#qbsigs"
|
||||||
- "qcomplaint": "/en/developer-reference#qcomplaint"
|
- "qcomplaint": "/en/developer-reference#qcomplaint"
|
||||||
- "qcontrib": "/en/developer-reference#qcontrib"
|
- "qcontrib": "/en/developer-reference#qcontrib"
|
||||||
- "qdebugstatus": "/en/developer-reference#qdebugstatus"
|
#- "qdebugstatus": "/en/developer-reference#qdebugstatus"
|
||||||
- "qfcommit": "/en/developer-reference#qfcommit"
|
- "qfcommit": "/en/developer-reference#qfcommit"
|
||||||
- "qgetsigs": "/en/developer-reference#qgetsigs"
|
- "qgetsigs": "/en/developer-reference#qgetsigs"
|
||||||
- "qjustify": "/en/developer-reference#qjustify"
|
- "qjustify": "/en/developer-reference#qjustify"
|
||||||
|
|
|
@ -3,6 +3,7 @@ This file is licensed under the MIT License (MIT) available on
|
||||||
http://opensource.org/licenses/MIT.
|
http://opensource.org/licenses/MIT.
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/decoderawtransaction.md" %}
|
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/decoderawtransaction.md" %}
|
||||||
|
<!--__-->
|
||||||
|
|
||||||
##### DecodeRawTransaction
|
##### DecodeRawTransaction
|
||||||
{% include helpers/subhead-links.md %}
|
{% include helpers/subhead-links.md %}
|
||||||
|
@ -106,67 +107,69 @@ Decode a coinbase special transaction (CbTx):
|
||||||
|
|
||||||
{% highlight bash %}
|
{% highlight bash %}
|
||||||
dash-cli decoderawtransaction 03000500010000000000000000000000000000000000\
|
dash-cli decoderawtransaction 03000500010000000000000000000000000000000000\
|
||||||
000000000000000000000000000000ffffffff4b02953d045e572a5c08fabe6d6d66663734\
|
000000000000000000000000000000ffffffff2703ae50011a4d696e656420627920416e74\
|
||||||
36333636333230616162346432366264616530386339366263623534010000000000000010\
|
506f6f6c2021000b01201da9196f0000000007000000ffffffff02809e4730000000001976\
|
||||||
00000eaf0000000d2f6e6f64655374726174756d2f0000000002b4e32237010000001976a9\
|
a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac809e4730000000001976a91488\
|
||||||
14cb594917ad4e5849688ec63f29a0f7f3badb5da688acaae32237010000001976a914a3c5\
|
a060bc2dfe05780ae4dcb6c98b12436c35a93988ac00000000460200ae50010078e5c08b39\
|
||||||
284d3cd896815ac815f2dd76a3a71cb3d8e688ac00000000260100953d00007b8577a1c051\
|
960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f92\
|
||||||
bcab40e08c72209f3eddc476d859c8054c57a7287700b2de2db4
|
45e20cfd5d830382ac634d434725ca6349ab5db920a3
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
Result:
|
Result:
|
||||||
|
|
||||||
{% highlight json %}
|
{% highlight json %}
|
||||||
{
|
{
|
||||||
"txid": "414a3911a274053beb867c79ad9a19bf508041554f147a1a2c73f8f9bc029717",
|
"txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
|
||||||
"size": 233,
|
"size": 229,
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"type": 5,
|
"type": 5,
|
||||||
"locktime": 0,
|
"locktime": 0,
|
||||||
"vin": [
|
"vin": [
|
||||||
{
|
{
|
||||||
"coinbase": "02953d045e572a5c08fabe6d6d666637343633363633323061616234643236626461653038633936626362353401000000000000001000000eaf0000000d2f6e6f64655374726174756d2f",
|
"coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
|
||||||
"sequence": 0
|
"sequence": 4294967295
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"vout": [
|
"vout": [
|
||||||
{
|
{
|
||||||
"value": 52.20000692,
|
"value": 8.10000000,
|
||||||
"valueSat": 5220000692,
|
"valueSat": 810000000,
|
||||||
"n": 0,
|
"n": 0,
|
||||||
"scriptPubKey": {
|
"scriptPubKey": {
|
||||||
"asm": "OP_DUP OP_HASH160 cb594917ad4e5849688ec63f29a0f7f3badb5da6 OP_EQUALVERIFY OP_CHECKSIG",
|
"asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
|
||||||
"hex": "76a914cb594917ad4e5849688ec63f29a0f7f3badb5da688ac",
|
"hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
|
||||||
"reqSigs": 1,
|
"reqSigs": 1,
|
||||||
"type": "pubkeyhash",
|
"type": "pubkeyhash",
|
||||||
"addresses": [
|
"addresses": [
|
||||||
"yereyozxENB9jbhqpbg1coE5c39ExqLSaG"
|
"yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"value": 52.20000682,
|
"value": 8.10000000,
|
||||||
"valueSat": 5220000682,
|
"valueSat": 810000000,
|
||||||
"n": 1,
|
"n": 1,
|
||||||
"scriptPubKey": {
|
"scriptPubKey": {
|
||||||
"asm": "OP_DUP OP_HASH160 a3c5284d3cd896815ac815f2dd76a3a71cb3d8e6 OP_EQUALVERIFY OP_CHECKSIG",
|
"asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
|
||||||
"hex": "76a914a3c5284d3cd896815ac815f2dd76a3a71cb3d8e688ac",
|
"hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
|
||||||
"reqSigs": 1,
|
"reqSigs": 1,
|
||||||
"type": "pubkeyhash",
|
"type": "pubkeyhash",
|
||||||
"addresses": [
|
"addresses": [
|
||||||
"ybFPBD7hm9KVd2Dubj97K5mw2ymR8gWJre"
|
"yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"extraPayloadSize": 38,
|
"extraPayloadSize": 70,
|
||||||
"extraPayload": "0100953d00007b8577a1c051bcab40e08c72209f3eddc476d859c8054c57a7287700b2de2db4",
|
"extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
|
||||||
"cbTx": {
|
"cbTx": {
|
||||||
"version": 1,
|
"version": 2,
|
||||||
"height": 15765,
|
"height": 86190,
|
||||||
"merkleRootMNList": "b42ddeb2007728a7574c05c859d876c4dd3e9f20728ce040abbc51c0a177857b"
|
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
|
||||||
|
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
|
||||||
},
|
},
|
||||||
"instantlock": false
|
"instantlock": false,
|
||||||
|
"chainlock": false
|
||||||
}
|
}
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
|
|
|
@ -285,58 +285,59 @@ Get a block in raw hex:
|
||||||
|
|
||||||
{% highlight bash %}
|
{% highlight bash %}
|
||||||
dash-cli -testnet getblock \
|
dash-cli -testnet getblock \
|
||||||
0000000005fdd3a647d4048f183e639310885fab7983b8e7b5079729e065d91f \
|
00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b \
|
||||||
0
|
0
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
Result (wrapped):
|
Result (wrapped):
|
||||||
|
|
||||||
{% highlight text %}
|
{% highlight text %}
|
||||||
00000020354559625d75e59743370290291a5c7df72d1af739c3e2ecf7483314\
|
00000020272e374a06c87a0ce0e6ee1a0754c98b9ec2493e7c0ac7ba41a07300\
|
||||||
000000002ba12397f0ae5884e623004a5e790d7c608fa013630656e61057c0e4\
|
00000000568b3c4156090db4d8db5447762e95dd1d4c921c96801a9086720ded\
|
||||||
fc67a656031f9d5c3e6f221c890a5ec001030005000100000000000000000000\
|
85266325916cc05caa94001c5caf359501030005000100000000000000000000\
|
||||||
00000000000000000000000000000000000000000000ffffffff4c03bc0d0104\
|
00000000000000000000000000000000000000000000ffffffff2703ae50011a\
|
||||||
031f9d5c08fabe6d6d736170747365743a7265737574736574000c870f000008\
|
4d696e656420627920416e74506f6f6c2021000b01201da9196f000000000700\
|
||||||
308d3b4900000019730100000000000000580000004f0000000d2f6e6f646553\
|
0000ffffffff02809e4730000000001976a914cbd7bfcc50351180132b2c0698\
|
||||||
74726174756d2f000000000240230e43000000001976a914cb594917ad4e5849\
|
cb90ad74c473c788ac809e4730000000001976a91488a060bc2dfe05780ae4dc\
|
||||||
688ec63f29a0f7f3badb5da688ac40230e43000000001976a914477a52436b94\
|
b6c98b12436c35a93988ac00000000460200ae50010078e5c08b39960887bf95\
|
||||||
4f3e9223ac8404a7717d4176fa5388ac00000000260100bc0d01001dd9fb7d61\
|
185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f92\
|
||||||
1bfd2c05c7a508085d2b35053a45fe67c40c0e43be7cd87a7c9b83
|
45e20cfd5d830382ac634d434725ca6349ab5db920a3
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
Get the same block in JSON:
|
Get the same block in JSON:
|
||||||
|
|
||||||
{% highlight bash %}
|
{% highlight bash %}
|
||||||
dash-cli -testnet getblock \
|
dash-cli -testnet getblock \
|
||||||
0000000005fdd3a647d4048f183e639310885fab7983b8e7b5079729e065d91f
|
00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
Result:
|
Result:
|
||||||
|
|
||||||
{% highlight json %}
|
{% highlight json %}
|
||||||
{
|
{
|
||||||
"hash": "0000000005fdd3a647d4048f183e639310885fab7983b8e7b5079729e065d91f",
|
"hash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b",
|
||||||
"confirmations": 1,
|
"confirmations": 1,
|
||||||
"size": 315,
|
"size": 310,
|
||||||
"height": 69052,
|
"height": 86190,
|
||||||
"version": 536870912,
|
"version": 536870912,
|
||||||
"versionHex": "20000000",
|
"versionHex": "20000000",
|
||||||
"merkleroot": "56a667fce4c05710e656066313a08f607c0d795e4a0023e68458aef09723a12b",
|
"merkleroot": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
|
||||||
"tx": [
|
"tx": [
|
||||||
"56a667fce4c05710e656066313a08f607c0d795e4a0023e68458aef09723a12b"
|
"25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56"
|
||||||
],
|
],
|
||||||
"cbTx": {
|
"cbTx": {
|
||||||
"version": 1,
|
"version": 2,
|
||||||
"height": 69052,
|
"height": 86190,
|
||||||
"merkleRootMNList": "839b7c7ad87cbe430e0cc467fe453a05352b5d0808a5c7052cfd1b617dfbd91d"
|
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
|
||||||
|
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
|
||||||
},
|
},
|
||||||
"time": 1553800963,
|
"time": 1556114577,
|
||||||
"mediantime": 1553800156,
|
"mediantime": 1556113720,
|
||||||
"nonce": 3227388553,
|
"nonce": 2503323484,
|
||||||
"bits": "1c226f3e",
|
"bits": "1c0094aa",
|
||||||
"difficulty": 7.434282417439254,
|
"difficulty": 440.8261075201009,
|
||||||
"chainwork": "000000000000000000000000000000000000000000000000003dfe3d34685d0a",
|
"chainwork": "0000000000000000000000000000000000000000000000000045ab6f9403a8e7",
|
||||||
"previousblockhash": "00000000143348f7ece2c339f71a2df77d5c1a299002374397e5755d62594535",
|
"previousblockhash": "000000000073a041bac70a7c3e49c29e8bc954071aeee6e00c7ac8064a372e27",
|
||||||
"chainlock": false
|
"chainlock": false
|
||||||
}
|
}
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
@ -345,86 +346,88 @@ Get the same block in JSON with transaction details:
|
||||||
|
|
||||||
{% highlight bash %}
|
{% highlight bash %}
|
||||||
dash-cli -testnet getblock \
|
dash-cli -testnet getblock \
|
||||||
0000000005fdd3a647d4048f183e639310885fab7983b8e7b5079729e065d91f 2
|
00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b 2
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
Result:
|
Result:
|
||||||
|
|
||||||
{% highlight json %}
|
{% highlight json %}
|
||||||
{
|
{
|
||||||
"hash": "0000000005fdd3a647d4048f183e639310885fab7983b8e7b5079729e065d91f",
|
"hash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b",
|
||||||
"confirmations": 1,
|
"confirmations": 1,
|
||||||
"size": 315,
|
"size": 310,
|
||||||
"height": 69052,
|
"height": 86190,
|
||||||
"version": 536870912,
|
"version": 536870912,
|
||||||
"versionHex": "20000000",
|
"versionHex": "20000000",
|
||||||
"merkleroot": "56a667fce4c05710e656066313a08f607c0d795e4a0023e68458aef09723a12b",
|
"merkleroot": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
|
||||||
"tx": [
|
"tx": [
|
||||||
{
|
{
|
||||||
"txid": "56a667fce4c05710e656066313a08f607c0d795e4a0023e68458aef09723a12b",
|
"txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
|
||||||
"size": 234,
|
"size": 229,
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"type": 5,
|
"type": 5,
|
||||||
"locktime": 0,
|
"locktime": 0,
|
||||||
"vin": [
|
"vin": [
|
||||||
{
|
{
|
||||||
"coinbase": "03bc0d0104031f9d5c08fabe6d6d736170747365743a7265737574736574000c870f000008308d3b4900000019730100000000000000580000004f0000000d2f6e6f64655374726174756d2f",
|
"coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
|
||||||
"sequence": 0
|
"sequence": 4294967295
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"vout": [
|
"vout": [
|
||||||
{
|
{
|
||||||
"value": 11.25000000,
|
"value": 8.10000000,
|
||||||
"valueSat": 1125000000,
|
"valueSat": 810000000,
|
||||||
"n": 0,
|
"n": 0,
|
||||||
"scriptPubKey": {
|
"scriptPubKey": {
|
||||||
"asm": "OP_DUP OP_HASH160 cb594917ad4e5849688ec63f29a0f7f3badb5da6 OP_EQUALVERIFY OP_CHECKSIG",
|
"asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
|
||||||
"hex": "76a914cb594917ad4e5849688ec63f29a0f7f3badb5da688ac",
|
"hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
|
||||||
"reqSigs": 1,
|
"reqSigs": 1,
|
||||||
"type": "pubkeyhash",
|
"type": "pubkeyhash",
|
||||||
"addresses": [
|
"addresses": [
|
||||||
"yereyozxENB9jbhqpbg1coE5c39ExqLSaG"
|
"yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"value": 11.25000000,
|
"value": 8.10000000,
|
||||||
"valueSat": 1125000000,
|
"valueSat": 810000000,
|
||||||
"n": 1,
|
"n": 1,
|
||||||
"scriptPubKey": {
|
"scriptPubKey": {
|
||||||
"asm": "OP_DUP OP_HASH160 477a52436b944f3e9223ac8404a7717d4176fa53 OP_EQUALVERIFY OP_CHECKSIG",
|
"asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
|
||||||
"hex": "76a914477a52436b944f3e9223ac8404a7717d4176fa5388ac",
|
"hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
|
||||||
"reqSigs": 1,
|
"reqSigs": 1,
|
||||||
"type": "pubkeyhash",
|
"type": "pubkeyhash",
|
||||||
"addresses": [
|
"addresses": [
|
||||||
"ySqPMrmGiB5zu7TYqgdaviEsqixPJc9hNQ"
|
"yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"extraPayloadSize": 38,
|
"extraPayloadSize": 70,
|
||||||
"extraPayload": "0100bc0d01001dd9fb7d611bfd2c05c7a508085d2b35053a45fe67c40c0e43be7cd87a7c9b83",
|
"extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
|
||||||
"cbTx": {
|
"cbTx": {
|
||||||
"version": 1,
|
"version": 2,
|
||||||
"height": 69052,
|
"height": 86190,
|
||||||
"merkleRootMNList": "839b7c7ad87cbe430e0cc467fe453a05352b5d0808a5c7052cfd1b617dfbd91d"
|
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
|
||||||
|
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
|
||||||
},
|
},
|
||||||
"instantlock": false,
|
"instantlock": false,
|
||||||
"chainlock": false
|
"chainlock": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"cbTx": {
|
"cbTx": {
|
||||||
"version": 1,
|
"version": 2,
|
||||||
"height": 69052,
|
"height": 86190,
|
||||||
"merkleRootMNList": "839b7c7ad87cbe430e0cc467fe453a05352b5d0808a5c7052cfd1b617dfbd91d"
|
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
|
||||||
|
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
|
||||||
},
|
},
|
||||||
"time": 1553800963,
|
"time": 1556114577,
|
||||||
"mediantime": 1553800156,
|
"mediantime": 1556113720,
|
||||||
"nonce": 3227388553,
|
"nonce": 2503323484,
|
||||||
"bits": "1c226f3e",
|
"bits": "1c0094aa",
|
||||||
"difficulty": 7.434282417439254,
|
"difficulty": 440.8261075201009,
|
||||||
"chainwork": "000000000000000000000000000000000000000000000000003dfe3d34685d0a",
|
"chainwork": "0000000000000000000000000000000000000000000000000045ab6f9403a8e7",
|
||||||
"previousblockhash": "00000000143348f7ece2c339f71a2df77d5c1a299002374397e5755d62594535",
|
"previousblockhash": "000000000073a041bac70a7c3e49c29e8bc954071aeee6e00c7ac8064a372e27",
|
||||||
"chainlock": false
|
"chainlock": false
|
||||||
}
|
}
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
|
@ -208,14 +208,13 @@ dash-cli getrawtransaction \
|
||||||
Result (wrapped):
|
Result (wrapped):
|
||||||
|
|
||||||
{% highlight text %}
|
{% highlight text %}
|
||||||
0300050001000000000000000000000000000000000000000000000000000000\
|
030005000100000000000000000000000000000000000000000000000000000000000\
|
||||||
0000000000ffffffff4b02953d045e572a5c08fabe6d6d666637343633363633\
|
00000ffffffff2703ae50011a4d696e656420627920416e74506f6f6c2021000b0120\
|
||||||
3230616162346432366264616530386339366263623534010000000000000010\
|
1da9196f0000000007000000ffffffff02809e4730000000001976a914cbd7bfcc503\
|
||||||
00000eaf0000000d2f6e6f64655374726174756d2f0000000002b4e322370100\
|
51180132b2c0698cb90ad74c473c788ac809e4730000000001976a91488a060bc2dfe\
|
||||||
00001976a914cb594917ad4e5849688ec63f29a0f7f3badb5da688acaae32237\
|
05780ae4dcb6c98b12436c35a93988ac00000000460200ae50010078e5c08b3996088\
|
||||||
010000001976a914a3c5284d3cd896815ac815f2dd76a3a71cb3d8e688ac0000\
|
7bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f92\
|
||||||
0000260100953d00007b8577a1c051bcab40e08c72209f3eddc476d859c8054c\
|
45e20cfd5d830382ac634d434725ca6349ab5db920a3
|
||||||
57a7287700b2de2db4
|
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
Get the same transaction in JSON:
|
Get the same transaction in JSON:
|
||||||
|
@ -230,61 +229,63 @@ Result:
|
||||||
|
|
||||||
{% highlight json %}
|
{% highlight json %}
|
||||||
{
|
{
|
||||||
"hex": "03000500010000000000000000000000000000000000000000000000000000000000000000ffffffff4b02953d045e572a5c08fabe6d6d666637343633363633323061616234643236626461653038633936626362353401000000000000001000000eaf0000000d2f6e6f64655374726174756d2f0000000002b4e32237010000001976a914cb594917ad4e5849688ec63f29a0f7f3badb5da688acaae32237010000001976a914a3c5284d3cd896815ac815f2dd76a3a71cb3d8e688ac00000000260100953d00007b8577a1c051bcab40e08c72209f3eddc476d859c8054c57a7287700b2de2db4",
|
"hex": "03000500010000000000000000000000000000000000000000000000000000000000000000ffffffff2703ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000ffffffff02809e4730000000001976a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac809e4730000000001976a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac00000000460200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
|
||||||
"txid": "414a3911a274053beb867c79ad9a19bf508041554f147a1a2c73f8f9bc029717",
|
"txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
|
||||||
"size": 233,
|
"size": 229,
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"type": 5,
|
"type": 5,
|
||||||
"locktime": 0,
|
"locktime": 0,
|
||||||
"vin": [
|
"vin": [
|
||||||
{
|
{
|
||||||
"coinbase": "02953d045e572a5c08fabe6d6d666637343633363633323061616234643236626461653038633936626362353401000000000000001000000eaf0000000d2f6e6f64655374726174756d2f",
|
"coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
|
||||||
"sequence": 0
|
"sequence": 4294967295
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"vout": [
|
"vout": [
|
||||||
{
|
{
|
||||||
"value": 52.20000692,
|
"value": 8.10000000,
|
||||||
"valueSat": 5220000692,
|
"valueSat": 810000000,
|
||||||
"n": 0,
|
"n": 0,
|
||||||
"scriptPubKey": {
|
"scriptPubKey": {
|
||||||
"asm": "OP_DUP OP_HASH160 cb594917ad4e5849688ec63f29a0f7f3badb5da6 OP_EQUALVERIFY OP_CHECKSIG",
|
"asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
|
||||||
"hex": "76a914cb594917ad4e5849688ec63f29a0f7f3badb5da688ac",
|
"hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
|
||||||
"reqSigs": 1,
|
"reqSigs": 1,
|
||||||
"type": "pubkeyhash",
|
"type": "pubkeyhash",
|
||||||
"addresses": [
|
"addresses": [
|
||||||
"yereyozxENB9jbhqpbg1coE5c39ExqLSaG"
|
"yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"value": 52.20000682,
|
"value": 8.10000000,
|
||||||
"valueSat": 5220000682,
|
"valueSat": 810000000,
|
||||||
"n": 1,
|
"n": 1,
|
||||||
"scriptPubKey": {
|
"scriptPubKey": {
|
||||||
"asm": "OP_DUP OP_HASH160 a3c5284d3cd896815ac815f2dd76a3a71cb3d8e6 OP_EQUALVERIFY OP_CHECKSIG",
|
"asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
|
||||||
"hex": "76a914a3c5284d3cd896815ac815f2dd76a3a71cb3d8e688ac",
|
"hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
|
||||||
"reqSigs": 1,
|
"reqSigs": 1,
|
||||||
"type": "pubkeyhash",
|
"type": "pubkeyhash",
|
||||||
"addresses": [
|
"addresses": [
|
||||||
"ybFPBD7hm9KVd2Dubj97K5mw2ymR8gWJre"
|
"yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"extraPayloadSize": 38,
|
"extraPayloadSize": 70,
|
||||||
"extraPayload": "0100953d00007b8577a1c051bcab40e08c72209f3eddc476d859c8054c57a7287700b2de2db4",
|
"extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
|
||||||
"cbTx": {
|
"cbTx": {
|
||||||
"version": 1,
|
"version": 2,
|
||||||
"height": 15765,
|
"height": 86190,
|
||||||
"merkleRootMNList": "b42ddeb2007728a7574c05c859d876c4dd3e9f20728ce040abbc51c0a177857b"
|
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
|
||||||
|
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
|
||||||
},
|
},
|
||||||
"blockhash": "0000000005f395d62a40ef9f2a13000bd4076e2131c8671db8333a5b31e4403f",
|
"blockhash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b",
|
||||||
"height": 15765,
|
"height": 86190,
|
||||||
"confirmations": 5,
|
"confirmations": 2,
|
||||||
"time": 1546278750,
|
"time": 1556114577,
|
||||||
"blocktime": 1546278750,
|
"blocktime": 1556114577,
|
||||||
"instantlock": false
|
"instantlock": false,
|
||||||
|
"chainlock": true
|
||||||
}
|
}
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ This file is licensed under the MIT License (MIT) available on
|
||||||
http://opensource.org/licenses/MIT.
|
http://opensource.org/licenses/MIT.
|
||||||
{% endcomment %}
|
{% endcomment %}
|
||||||
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getspecialtxes.md" %}
|
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getspecialtxes.md" %}
|
||||||
|
<!--__-->
|
||||||
|
|
||||||
##### GetSpecialTxes
|
##### GetSpecialTxes
|
||||||
{% include helpers/subhead-links.md %}
|
{% include helpers/subhead-links.md %}
|
||||||
|
@ -130,84 +131,61 @@ List of Coinbase Special Transactions (type: 5) in JSON format.
|
||||||
|
|
||||||
{% highlight bash %}
|
{% highlight bash %}
|
||||||
dash-cli -testnet getspecialtxes \
|
dash-cli -testnet getspecialtxes \
|
||||||
0000003db0006ecaccdf5ae2cfa9d94406ef40ff65b9ec34668b87fca3da9226 5 10 0 2
|
00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b 5 10 0 2
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
Result:
|
Result:
|
||||||
{% highlight json %}
|
{% highlight json %}
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
"txid": "1572a15f56307e413afe3cb7ea0017a1a3fd6d89c6c5f258cc17b2888a8e7fff",
|
"txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
|
||||||
"size": 303,
|
"size": 229,
|
||||||
"version": 3,
|
"version": 3,
|
||||||
"type": 5,
|
"type": 5,
|
||||||
"locktime": 0,
|
"locktime": 0,
|
||||||
"vin": [
|
"vin": [
|
||||||
{
|
{
|
||||||
"coinbase": "02051c0e2f5032506f6f6c2d74444153482f",
|
"coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
|
||||||
"sequence": 4294967295
|
"sequence": 4294967295
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"vout": [
|
"vout": [
|
||||||
{
|
{
|
||||||
"value": 68.17463792,
|
"value": 8.10000000,
|
||||||
"valueSat": 6817463792,
|
"valueSat": 810000000,
|
||||||
"n": 0,
|
"n": 0,
|
||||||
"scriptPubKey": {
|
"scriptPubKey": {
|
||||||
"asm": "OP_DUP OP_HASH160 4f79c383bc5d3e9d4d81b98f87337cedfa789536 OP_EQUALVERIFY OP_CHECKSIG",
|
"asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
|
||||||
"hex": "76a9144f79c383bc5d3e9d4d81b98f87337cedfa78953688ac",
|
"hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
|
||||||
"reqSigs": 1,
|
"reqSigs": 1,
|
||||||
"type": "pubkeyhash",
|
"type": "pubkeyhash",
|
||||||
"addresses": [
|
"addresses": [
|
||||||
"yTZg6eePKxbJZyoaC93bVrTUq5vjhFrbst"
|
"yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"value": 68.85000588,
|
"value": 8.10000000,
|
||||||
"valueSat": 6885000588,
|
"valueSat": 810000000,
|
||||||
"n": 1,
|
"n": 1,
|
||||||
"scriptPubKey": {
|
"scriptPubKey": {
|
||||||
"asm": "OP_DUP OP_HASH160 a472d798c41ccb2890b1b932a2b8786c150cf440 OP_EQUALVERIFY OP_CHECKSIG",
|
"asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
|
||||||
"hex": "76a914a472d798c41ccb2890b1b932a2b8786c150cf44088ac",
|
"hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
|
||||||
"reqSigs": 1,
|
"reqSigs": 1,
|
||||||
"type": "pubkeyhash",
|
"type": "pubkeyhash",
|
||||||
"addresses": [
|
"addresses": [
|
||||||
"ybJyF38BxTqKKL7C6VeHqbFRgViRgAfsvC"
|
"yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
"value": 0.67536809,
|
|
||||||
"valueSat": 67536809,
|
|
||||||
"n": 2,
|
|
||||||
"scriptPubKey": {
|
|
||||||
"asm": "047559d13c3f81b1fadbd8dd03e4b5a1c73b05e2b980e00d467aa9440b29c7de23664dde6428d75cafed22ae4f0d302e26c5c5a5dd4d3e1b796d7281bdc9430f35 OP_CHECKSIG",
|
|
||||||
"hex": "41047559d13c3f81b1fadbd8dd03e4b5a1c73b05e2b980e00d467aa9440b29c7de23664dde6428d75cafed22ae4f0d302e26c5c5a5dd4d3e1b796d7281bdc9430f35ac",
|
|
||||||
"reqSigs": 1,
|
|
||||||
"type": "pubkey",
|
|
||||||
"addresses": [
|
|
||||||
"yb21342iADyqAotjwcn4imqjvAcdYhnzeH"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"value": 0.00000000,
|
|
||||||
"valueSat": 0,
|
|
||||||
"n": 3,
|
|
||||||
"scriptPubKey": {
|
|
||||||
"asm": "OP_RETURN 81b990d34ff599e8f472241357f565e6662ee8694b6ecc2fdbba384a5a08bc1e000000001e000000",
|
|
||||||
"hex": "6a2881b990d34ff599e8f472241357f565e6662ee8694b6ecc2fdbba384a5a08bc1e000000001e000000",
|
|
||||||
"type": "nulldata"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"extraPayloadSize": 38,
|
"extraPayloadSize": 70,
|
||||||
"extraPayload": "0100051c0000f258bbb41563f0badab6c2dd47b0d8e73f1b1d88036855223ab0455a750b3ceb",
|
"extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
|
||||||
"cbTx": {
|
"cbTx": {
|
||||||
"version": 1,
|
"version": 2,
|
||||||
"height": 7173,
|
"height": 86190,
|
||||||
"merkleRootMNList": "eb3c0b755a45b03a22556803881d1b3fe7d8b047ddc2b6dabaf06315b4bb58f2"
|
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
|
||||||
|
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
|
||||||
},
|
},
|
||||||
"instantlock": false,
|
"instantlock": false,
|
||||||
"chainlock": false
|
"chainlock": false
|
||||||
|
|
|
@ -307,7 +307,7 @@ The `quorum<!--noref--> list` RPC displays a list of on-chain quorums.
|
||||||
- n: "→ → →<br>`phase`"
|
- n: "→ → →<br>`phase`"
|
||||||
t: "number"
|
t: "number"
|
||||||
p: "Required<br>(exactly 1)"
|
p: "Required<br>(exactly 1)"
|
||||||
d: "The active DKG phase"
|
d: "The active DKG phase<br>`1` - Initialized<br>`2` - Contributing<br>`3` - Complaining<br>`4` - Justifying<br>`5` - Committing<br>`6` - Finalizing"
|
||||||
|
|
||||||
- n: "→ → →<br>`sentContributions`"
|
- n: "→ → →<br>`sentContributions`"
|
||||||
t: "bool"
|
t: "bool"
|
||||||
|
|
|
@ -762,6 +762,13 @@ for additional details.
|
||||||
| **[Threshold Signature Recovery Phase](https://github.com/dashpay/dips/blob/master/dip-0007.md#recovered-threshold-signatures<!--noref-->)** | | | A recovered signature is created by a quorum member once valid signature shares from at least the threshold number of members have been received |
|
| **[Threshold Signature Recovery Phase](https://github.com/dashpay/dips/blob/master/dip-0007.md#recovered-threshold-signatures<!--noref-->)** | | | A recovered signature is created by a quorum member once valid signature shares from at least the threshold number of members have been received |
|
||||||
| `qsigrec` message | → | | Masternode sends the quorum recovered signature **to all peers** (except those that have asked to be excluded via a `qsendrecsigs` message)
|
| `qsigrec` message | → | | Masternode sends the quorum recovered signature **to all peers** (except those that have asked to be excluded via a `qsendrecsigs` message)
|
||||||
|
|
||||||
|
Note the following timeouts defined by Dash Core related to signing sessions:
|
||||||
|
|
||||||
|
| Parameter | Timeout, sec | Description |
|
||||||
|
| `SESSION_NEW_SHARES_TIMEOUT` | 60 | Time to wait for new shares |
|
||||||
|
| `SIG_SHARE_REQUEST_TIMEOUT` | 5 | Time to wait for a requested share before requesting from a different node |
|
||||||
|
| `SESSION_TOTAL_TIMEOUT` | 300 | Time to wait for session to complete |
|
||||||
|
|
||||||
{% endautocrossref %}
|
{% endautocrossref %}
|
||||||
|
|
||||||
#### Quorum Selection
|
#### Quorum Selection
|
||||||
|
|
|
@ -1459,6 +1459,9 @@ example, TXIDs will be in internal byte order).
|
||||||
if the `BLOOM_UPDATE_P2PUBKEY_ONLY` flag was set. See the subsection
|
if the `BLOOM_UPDATE_P2PUBKEY_ONLY` flag was set. See the subsection
|
||||||
below for details.)
|
below for details.)
|
||||||
|
|
||||||
|
As of Dash Core 0.14.0, elements in the extra payload section of DIP2-based
|
||||||
|
special transactions are also compared against bloom filters.
|
||||||
|
|
||||||
The following annotated hexdump of a transaction is from the [raw
|
The following annotated hexdump of a transaction is from the [raw
|
||||||
transaction format section][raw transaction format]; the elements which
|
transaction format section][raw transaction format]; the elements which
|
||||||
would be checked by the filter are emphasized in bold. Note that this
|
would be checked by the filter are emphasized in bold. Note that this
|
||||||
|
@ -1887,6 +1890,11 @@ If a `version` message is accepted, the receiving node should send a
|
||||||
before initializing its half of the connection by first sending a
|
before initializing its half of the connection by first sending a
|
||||||
`version` message.
|
`version` message.
|
||||||
|
|
||||||
|
Protocol version 70214 added a masternode authentication (challenge/response)
|
||||||
|
system. Following the `verack` message, masternodes should send a `mnauth` message
|
||||||
|
that signs the `mnauth_challenge` with their BLS operator key.
|
||||||
|
|
||||||
|
|
||||||
| Bytes | Name | Data Type | Required/Optional | Description
|
| Bytes | Name | Data Type | Required/Optional | Description
|
||||||
|----------|-----------------------|------------------|------------------------------------------|-------------
|
|----------|-----------------------|------------------|------------------------------------------|-------------
|
||||||
| 4 | version | int32_t | Required | The highest protocol version understood by the transmitting node. See the [protocol version section][section protocol versions].
|
| 4 | version | int32_t | Required | The highest protocol version understood by the transmitting node. See the [protocol version section][section protocol versions].
|
||||||
|
@ -1903,6 +1911,7 @@ before initializing its half of the connection by first sending a
|
||||||
| *Varies* | user_agent | string | Required if user_agent bytes > 0 | *Renamed in protocol version 60000.* <br><br>User agent as defined by BIP14. Previously called subVer.<br><br>Dash Core limits the length to 256 characters.
|
| *Varies* | user_agent | string | Required if user_agent bytes > 0 | *Renamed in protocol version 60000.* <br><br>User agent as defined by BIP14. Previously called subVer.<br><br>Dash Core limits the length to 256 characters.
|
||||||
| 4 | start_height | int32_t | Required | The height of the transmitting node's best block chain or, in the case of an SPV client, best block header chain.
|
| 4 | start_height | int32_t | Required | The height of the transmitting node's best block chain or, in the case of an SPV client, best block header chain.
|
||||||
| 1 | relay | bool | Optional | *Added in protocol version 70001 as described by BIP37.* <br><br>Transaction relay flag. If 0x00, no `inv` messages or `tx` messages announcing new transactions should be sent to this client until it sends a `filterload` message or `filterclear` message. If the relay field is not present or is set to 0x01, this node wants `inv` messages and `tx` messages announcing new transactions.
|
| 1 | relay | bool | Optional | *Added in protocol version 70001 as described by BIP37.* <br><br>Transaction relay flag. If 0x00, no `inv` messages or `tx` messages announcing new transactions should be sent to this client until it sends a `filterload` message or `filterclear` message. If the relay field is not present or is set to 0x01, this node wants `inv` messages and `tx` messages announcing new transactions.
|
||||||
|
| 32 | mnauth_challenge | uint256 | Optional | *Added in protocol version 70214* <br><br>A challenge to be signed by the receiving masternode. The response is returned via a `mnauth` message following the `verack` message.
|
||||||
|
|
||||||
|
|
||||||
The following service identifiers have been assigned.
|
The following service identifiers have been assigned.
|
||||||
|
@ -1919,9 +1928,9 @@ message header has been omitted and the actual IP addresses have been
|
||||||
replaced with [RFC5737][] reserved IP addresses.)
|
replaced with [RFC5737][] reserved IP addresses.)
|
||||||
|
|
||||||
{% highlight text %}
|
{% highlight text %}
|
||||||
3e120100 .................................... Protocol version: 70206
|
46120100 .................................... Protocol version: 70214
|
||||||
0500000000000000 ............................ Services: NODE_NETWORK (1) + NODE_BLOOM (4)
|
0500000000000000 ............................ Services: NODE_NETWORK (1) + NODE_BLOOM (4)
|
||||||
bc8f5e5400000000 ............................ Epoch time: 1415483324
|
9c10ad5c00000000 ............................ Epoch time: 1554845852
|
||||||
|
|
||||||
0100000000000000 ............................ Receiving node's services
|
0100000000000000 ............................ Receiving node's services
|
||||||
00000000000000000000ffffc61b6409 ............ Receiving node's IPv6 address
|
00000000000000000000ffffc61b6409 ............ Receiving node's IPv6 address
|
||||||
|
@ -1933,11 +1942,14 @@ bc8f5e5400000000 ............................ Epoch time: 1415483324
|
||||||
|
|
||||||
128035cbc97953f8 ............................ Nonce
|
128035cbc97953f8 ............................ Nonce
|
||||||
|
|
||||||
14 .......................................... Bytes in user agent string: 20
|
12 .......................................... Bytes in user agent string: 18
|
||||||
2f4461736820436f72653a302e31322e312e352f..... User agent: /Satoshi:0.9.2.1/
|
2f4461736820436f72653a302e31322e312e352f..... User agent: /Dash Core:0.14.0/
|
||||||
|
|
||||||
851f0b00 .................................... Start height: 728965
|
851f0b00 .................................... Start height: 76944
|
||||||
01 .......................................... Relay flag: true
|
01 .......................................... Relay flag: true
|
||||||
|
|
||||||
|
5dbb5d1baade6a9afa34db708f72c0dd
|
||||||
|
b5bd82b3656493484556689640a91357 ............ Masternode Auth. Challenge
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
{% endautocrossref %}
|
{% endautocrossref %}
|
||||||
|
@ -2873,75 +2885,6 @@ features built in to Dash.
|
||||||
{% endautocrossref %}
|
{% endautocrossref %}
|
||||||
|
|
||||||
|
|
||||||
#### Debugging
|
|
||||||
{% include helpers/subhead-links.md %}
|
|
||||||
|
|
||||||
|
|
||||||
##### qdebugstatus
|
|
||||||
{% include helpers/subhead-links.md %}
|
|
||||||
|
|
||||||
{% autocrossref %}
|
|
||||||
|
|
||||||
*Added in protocol version 70214 of Dash Core*
|
|
||||||
|
|
||||||
The `qdebugstatus` message is used to...
|
|
||||||
|
|
||||||
| Bytes | Name | Data type | Description |
|
|
||||||
| --- | --- | --- | --- |
|
|
||||||
| 32 | proTxHash | uint256 | The ProRegTx hash
|
|
||||||
| 8 | nTime | int64_t |
|
|
||||||
| 1-9 | sessionsSize | compactSize uint |
|
|
||||||
| `sessionsSize` * <> | sessions | <uint8_t, CDKGDebugSessionStatus> |
|
|
||||||
| 96 | sig | byte[] | BLS signature
|
|
||||||
|
|
||||||
`CDKGDebugSessionStatus`:
|
|
||||||
|
|
||||||
| Bytes | Name | Data type | Description |
|
|
||||||
| --- | --- | --- | --- |
|
|
||||||
| 1 | llmqType | uint8_t | The type of LLMQ
|
|
||||||
| 32 | quorumHash | uint256 | The quorum identifier
|
|
||||||
| 4 | quorumHeight | uint32_t | The quorum height
|
|
||||||
| 1 | phase | uint8_t | The DKG phase of the quorum
|
|
||||||
| 1-9 | membersSize | compactSize uint |
|
|
||||||
| `membersSize` * <> | members | CDKGDebugMemberStatus |
|
|
||||||
|
|
||||||
`CDKGDebugMemberStatus`:
|
|
||||||
|
|
||||||
| Bytes | Name | Data type | Description |
|
|
||||||
| --- | --- | --- | --- |
|
|
||||||
| 1 | statusBitset | uint8_t |
|
|
||||||
| 32 * <> | complaintsFromMembers | uint16_t |
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
|
||||||
The following annotated hexdump shows a `qdebugstatus` message. (The
|
|
||||||
message header has been omitted.)
|
|
||||||
|
|
||||||
{% highlight text %}
|
|
||||||
|
|
||||||
{% endhighlight %}
|
|
||||||
|
|
||||||
-->
|
|
||||||
{% endautocrossref %}
|
|
||||||
|
|
||||||
|
|
||||||
##### qwatch
|
|
||||||
{% include helpers/subhead-links.md %}
|
|
||||||
|
|
||||||
{% autocrossref %}
|
|
||||||
|
|
||||||
*Added in protocol version 70214 of Dash Core*
|
|
||||||
|
|
||||||
The `qwatch` message tells the receiving peer to relay LLMQ messages
|
|
||||||
(`qcontrib` messages, `qcomplaint` messages, `qjustify` messages, and
|
|
||||||
`qpcommit` messages).
|
|
||||||
|
|
||||||
There is no payload in a `qwatch` message. See the [message header
|
|
||||||
section][section message header] for an example of a message without a payload.
|
|
||||||
|
|
||||||
{% endautocrossref %}
|
|
||||||
|
|
||||||
|
|
||||||
#### Distributed Key Generation
|
#### Distributed Key Generation
|
||||||
{% include helpers/subhead-links.md %}
|
{% include helpers/subhead-links.md %}
|
||||||
|
|
||||||
|
@ -3353,7 +3296,7 @@ The `qbsigs` message is used to send batched signature shares in response to a
|
||||||
`qgetsigs` message.
|
`qgetsigs` message.
|
||||||
|
|
||||||
Note: The number of messages that can be sent in a batch is limited to 400
|
Note: The number of messages that can be sent in a batch is limited to 400
|
||||||
(as defined by `MAX_MSGS_TOTAL_BATCHED_SIGS`).
|
(as defined by `MAX_MSGS_TOTAL_BATCHED_SIGS` in Dash Core).
|
||||||
|
|
||||||
| Bytes | Name | Data type | Description |
|
| Bytes | Name | Data type | Description |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
|
@ -3428,13 +3371,14 @@ The `qgetsigs` message is used to request signature shares. The response to a
|
||||||
`qgetsigs` message is a `qbsigs` message.
|
`qgetsigs` message is a `qbsigs` message.
|
||||||
|
|
||||||
Note: The number of inventories in a `qgetsigs` message is limited to 200
|
Note: The number of inventories in a `qgetsigs` message is limited to 200
|
||||||
(as defined by `MAX_MSGS_CNT_QGETSIGSHARES`).
|
(as defined by `MAX_MSGS_CNT_QGETSIGSHARES` in Dash Core).
|
||||||
|
|
||||||
| Bytes | Name | Data type | Description |
|
| Bytes | Name | Data type | Description |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
| Varies | count | compactSize uint | Number of signature shares requested |
|
| Varies | count | compactSize uint | Number of signature shares requested |
|
||||||
| Varies | sessionId | varint | Signing session ID
|
| Varies | sessionId | varint | Signing session ID
|
||||||
| Varies | inv | | Quorum signature inventory |
|
| Varies | invSize | compactSize uint | Inventory size
|
||||||
|
| Varies | inv | CAutoBitSet | Quorum signature inventory |
|
||||||
|
|
||||||
The following annotated hexdump shows a `qgetsigs` message. (The
|
The following annotated hexdump shows a `qgetsigs` message. (The
|
||||||
message header has been omitted.)
|
message header has been omitted.)
|
||||||
|
@ -3448,11 +3392,13 @@ message header has been omitted.)
|
||||||
|
|
||||||
Signature share request 1
|
Signature share request 1
|
||||||
| 80db21 ................................... Session ID
|
| 80db21 ................................... Session ID
|
||||||
| 32012900 ................................. Inventory
|
| 32 ....................................... Inventory size: 50
|
||||||
|
| 012900 ................................... Inventory
|
||||||
|
|
||||||
Signature share request 2
|
Signature share request 2
|
||||||
| 80db22 ................................... Session ID
|
| 80db22 ................................... Session ID
|
||||||
| 32012900 ................................. Inventory
|
| 32 ....................................... Inventory Size: 50
|
||||||
|
| 012900 ................................... Inventory
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
{% endautocrossref %}
|
{% endautocrossref %}
|
||||||
|
@ -3553,7 +3499,7 @@ session. The sessionId will be used for all P2P messages related to that
|
||||||
session.
|
session.
|
||||||
|
|
||||||
Note: The maximum number of announcements in a `qsigsesann` message is limited to
|
Note: The maximum number of announcements in a `qsigsesann` message is limited to
|
||||||
100 (as defined by `MAX_MSGS_CNT_QSIGSESANN`).
|
100 (as defined by `MAX_MSGS_CNT_QSIGSESANN` in Dash Core).
|
||||||
|
|
||||||
| Bytes | Name | Data type | Description |
|
| Bytes | Name | Data type | Description |
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
|
@ -3622,7 +3568,7 @@ The `qsigsinv` message (quorum signature inventory) announces one or more quorum
|
||||||
signature share inventories known by the transmitting peer.
|
signature share inventories known by the transmitting peer.
|
||||||
|
|
||||||
Note: The maximum number of inventories in a `qsigsinv` message is limited to
|
Note: The maximum number of inventories in a `qsigsinv` message is limited to
|
||||||
200 (as defined by `MAX_MSGS_CNT_QSIGSHARESINV`).
|
200 (as defined by `MAX_MSGS_CNT_QSIGSHARESINV` in Dash Core).
|
||||||
|
|
||||||
<!-- See quorum_signing_shares.h (CSigSharesInv) -->
|
<!-- See quorum_signing_shares.h (CSigSharesInv) -->
|
||||||
|
|
||||||
|
@ -3630,7 +3576,8 @@ Note: The maximum number of inventories in a `qsigsinv` message is limited to
|
||||||
| --- | --- | --- | --- |
|
| --- | --- | --- | --- |
|
||||||
| Varies | count | compactSize uint | Number of session announcements |
|
| Varies | count | compactSize uint | Number of session announcements |
|
||||||
| Varies | sessionId | varint | Signing session ID (must be less than the maximum uint32_t value) |
|
| Varies | sessionId | varint | Signing session ID (must be less than the maximum uint32_t value) |
|
||||||
| Varies | inv | | Quorum signature inventory |
|
| Varies | invSize | compactSize uint | Inventory size
|
||||||
|
| Varies | inv | CAutoBitSet | Quorum signature inventory |
|
||||||
|
|
||||||
The following annotated hexdump shows a `qsigsinv` message. (The
|
The following annotated hexdump shows a `qsigsinv` message. (The
|
||||||
message header has been omitted.)
|
message header has been omitted.)
|
||||||
|
@ -3644,15 +3591,86 @@ Match qbsigs and qsigsesann
|
||||||
02 ......................................... Count: 2
|
02 ......................................... Count: 2
|
||||||
|
|
||||||
84d844 ..................................... Session ID
|
84d844 ..................................... Session ID
|
||||||
32011a040200 ............................... Inventory
|
32 ......................................... Inventory size: 50
|
||||||
|
011a040200 ................................. Inventory
|
||||||
|
|
||||||
84d843 ..................................... Session ID
|
84d843 ..................................... Session ID
|
||||||
32011a0700 ................................. Inventory
|
32 ......................................... Inventory size: 50
|
||||||
|
011a0700 ................................... Inventory
|
||||||
{% endhighlight %}
|
{% endhighlight %}
|
||||||
|
|
||||||
{% endautocrossref %}
|
{% endautocrossref %}
|
||||||
|
|
||||||
|
|
||||||
|
#### Debugging
|
||||||
|
{% include helpers/subhead-links.md %}
|
||||||
|
|
||||||
|
<!-- qdebugstatus is generally not used. Leaving undocumented per discussion with codablock
|
||||||
|
|
||||||
|
##### qdebugstatus
|
||||||
|
{% include helpers/subhead-links.md %}
|
||||||
|
|
||||||
|
{% autocrossref %}
|
||||||
|
{% endautocrossref %}
|
||||||
|
|
||||||
|
*Added in protocol version 70214 of Dash Core*
|
||||||
|
|
||||||
|
The `qdebugstatus` message is used to...
|
||||||
|
|
||||||
|
| Bytes | Name | Data type | Description |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| 32 | proTxHash | uint256 | The ProRegTx hash
|
||||||
|
| 8 | nTime | int64_t |
|
||||||
|
| 1-9 | sessionsSize | compactSize uint |
|
||||||
|
| `sessionsSize` * <> | sessions | <uint8_t, CDKGDebugSessionStatus> |
|
||||||
|
| 96 | sig | byte[] | BLS signature
|
||||||
|
|
||||||
|
`CDKGDebugSessionStatus`:
|
||||||
|
|
||||||
|
| Bytes | Name | Data type | Description |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| 1 | llmqType | uint8_t | The type of LLMQ
|
||||||
|
| 32 | quorumHash | uint256 | The quorum identifier
|
||||||
|
| 4 | quorumHeight | uint32_t | The quorum height
|
||||||
|
| 1 | phase | uint8_t | The DKG phase of the quorum
|
||||||
|
| 1-9 | membersSize | compactSize uint |
|
||||||
|
| `membersSize` * <> | members | CDKGDebugMemberStatus |
|
||||||
|
|
||||||
|
`CDKGDebugMemberStatus`:
|
||||||
|
|
||||||
|
| Bytes | Name | Data type | Description |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| 1 | statusBitset | uint8_t |
|
||||||
|
| 32 * <> | complaintsFromMembers | uint16_t |
|
||||||
|
|
||||||
|
The following annotated hexdump shows a `qdebugstatus` message. (The
|
||||||
|
message header has been omitted.)
|
||||||
|
|
||||||
|
{% highlight text %}
|
||||||
|
|
||||||
|
{% endhighlight %}
|
||||||
|
|
||||||
|
{% autocrossref %}
|
||||||
|
{% endautocrossref %}
|
||||||
|
-->
|
||||||
|
|
||||||
|
##### qwatch
|
||||||
|
{% include helpers/subhead-links.md %}
|
||||||
|
|
||||||
|
{% autocrossref %}
|
||||||
|
|
||||||
|
*Added in protocol version 70214 of Dash Core*
|
||||||
|
|
||||||
|
The `qwatch` message tells the receiving peer to relay LLMQ messages
|
||||||
|
(`qcontrib` messages, `qcomplaint` messages, `qjustify` messages, and
|
||||||
|
`qpcommit` messages).
|
||||||
|
|
||||||
|
There is no payload in a `qwatch` message. See the [message header
|
||||||
|
section][section message header] for an example of a message without a payload.
|
||||||
|
|
||||||
|
{% endautocrossref %}
|
||||||
|
|
||||||
|
|
||||||
### Governance Messages
|
### Governance Messages
|
||||||
{% include helpers/subhead-links.md %}
|
{% include helpers/subhead-links.md %}
|
||||||
|
|
||||||
|
|
|
@ -239,7 +239,7 @@ http://opensource.org/licenses/MIT.
|
||||||
{% comment %}<!-- Fee Filter not currently implemented in Dash Core. [feefilter message]: /en/developer-reference#feefilter "The P2P network message which requests the receiving peer not relay any transactions below the specified fee rate" -->{% endcomment %}
|
{% comment %}<!-- Fee Filter not currently implemented in Dash Core. [feefilter message]: /en/developer-reference#feefilter "The P2P network message which requests the receiving peer not relay any transactions below the specified fee rate" -->{% endcomment %}
|
||||||
[filteradd message]: /en/developer-reference#filteradd "A P2P protocol message used to add a data element to an existing bloom filter."
|
[filteradd message]: /en/developer-reference#filteradd "A P2P protocol message used to add a data element to an existing bloom filter."
|
||||||
[filterclear message]: /en/developer-reference#filterclear "A P2P protocol message used to remove an existing bloom filter."
|
[filterclear message]: /en/developer-reference#filterclear "A P2P protocol message used to remove an existing bloom filter."
|
||||||
[filterload message]: /en/developer-reference#filterclear "A P2P protocol message used to send a filter to a remote peer, requesting that they only send transactions which match the filter."
|
[filterload message]: /en/developer-reference#filterload "A P2P protocol message used to send a filter to a remote peer, requesting that they only send transactions which match the filter."
|
||||||
[getaddr message]: /en/developer-reference#getaddr "A P2P protool message used to request an addr message containing connection information for other nodes"
|
[getaddr message]: /en/developer-reference#getaddr "A P2P protool message used to request an addr message containing connection information for other nodes"
|
||||||
[getblocks message]: /en/developer-reference#getblocks "A P2P protocol message used to request an inv message containing a range of block header hashes"
|
[getblocks message]: /en/developer-reference#getblocks "A P2P protocol message used to request an inv message containing a range of block header hashes"
|
||||||
[getblocktxn message]: /en/developer-reference#getblocktxn "A P2P protocol message used to request transactions from a compact block"
|
[getblocktxn message]: /en/developer-reference#getblocktxn "A P2P protocol message used to request transactions from a compact block"
|
||||||
|
@ -269,7 +269,7 @@ http://opensource.org/licenses/MIT.
|
||||||
[qbsigs message]: /en/developer-reference#qbsigs "A P2P network message used to to send batched LLMQ signature shares"
|
[qbsigs message]: /en/developer-reference#qbsigs "A P2P network message used to to send batched LLMQ signature shares"
|
||||||
[qcomplaint message]: /en/developer-reference#qcomplaint "A P2P network message used to send a complaint about another masternodes DKG contribution"
|
[qcomplaint message]: /en/developer-reference#qcomplaint "A P2P network message used to send a complaint about another masternodes DKG contribution"
|
||||||
[qcontrib message]: /en/developer-reference#qcontrib "A P2P network message used to send LLMQ DKG contributions"
|
[qcontrib message]: /en/developer-reference#qcontrib "A P2P network message used to send LLMQ DKG contributions"
|
||||||
[qdebugstatus message]: /en/developer-reference#qdebugstatus "A P2P network message used to debug quorums"
|
{% comment %}<!-- [qdebugstatus message]: /en/developer-reference#qdebugstatus "A P2P network message used to debug quorums" -->{% endcomment %}
|
||||||
[qfcommit message]: /en/developer-reference#qfcommit "A P2P network message used to finalize the members of a long-living masternode quorum (LLMQ)"
|
[qfcommit message]: /en/developer-reference#qfcommit "A P2P network message used to finalize the members of a long-living masternode quorum (LLMQ)"
|
||||||
[qgetsigs message]: /en/developer-reference#qgetsigs "A P2P network message used to request signature shares"
|
[qgetsigs message]: /en/developer-reference#qgetsigs "A P2P network message used to request signature shares"
|
||||||
[qjustify message]: /en/developer-reference#qjustify "A P2P network message used to respond to another masternodes DKG complaint"
|
[qjustify message]: /en/developer-reference#qjustify "A P2P network message used to respond to another masternodes DKG complaint"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue