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:
thephez 2019-04-24 11:38:05 -04:00 committed by GitHub
parent 4d4536a124
commit 302401e431
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
10 changed files with 264 additions and 254 deletions

View file

@ -188,8 +188,8 @@ public key infrastructure: pki
'`qcomplaint` messages': qcomplaint message
'`qcontrib` message': qcontrib message
'`qcontrib` messages': qcontrib message
'`qdebugstatus` message': qdebugstatus message
'`qdebugstatus` messages': qdebugstatus message
#'`qdebugstatus` message': qdebugstatus message
#'`qdebugstatus` messages': qdebugstatus message
'`qfcommit` message': qfcommit message
'`qfcommit` messages': qfcommit message
'`qgetsigs` message': qgetsigs message

View file

@ -579,7 +579,7 @@ devsearches:
- "qbsigs": "/en/developer-reference#qbsigs"
- "qcomplaint": "/en/developer-reference#qcomplaint"
- "qcontrib": "/en/developer-reference#qcontrib"
- "qdebugstatus": "/en/developer-reference#qdebugstatus"
#- "qdebugstatus": "/en/developer-reference#qdebugstatus"
- "qfcommit": "/en/developer-reference#qfcommit"
- "qgetsigs": "/en/developer-reference#qgetsigs"
- "qjustify": "/en/developer-reference#qjustify"

View file

@ -3,6 +3,7 @@ This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/decoderawtransaction.md" %}
<!--__-->
##### DecodeRawTransaction
{% include helpers/subhead-links.md %}
@ -106,67 +107,69 @@ Decode a coinbase special transaction (CbTx):
{% highlight bash %}
dash-cli decoderawtransaction 03000500010000000000000000000000000000000000\
000000000000000000000000000000ffffffff4b02953d045e572a5c08fabe6d6d66663734\
36333636333230616162346432366264616530386339366263623534010000000000000010\
00000eaf0000000d2f6e6f64655374726174756d2f0000000002b4e32237010000001976a9\
14cb594917ad4e5849688ec63f29a0f7f3badb5da688acaae32237010000001976a914a3c5\
284d3cd896815ac815f2dd76a3a71cb3d8e688ac00000000260100953d00007b8577a1c051\
bcab40e08c72209f3eddc476d859c8054c57a7287700b2de2db4
000000000000000000000000000000ffffffff2703ae50011a4d696e656420627920416e74\
506f6f6c2021000b01201da9196f0000000007000000ffffffff02809e4730000000001976\
a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac809e4730000000001976a91488\
a060bc2dfe05780ae4dcb6c98b12436c35a93988ac00000000460200ae50010078e5c08b39\
960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f92\
45e20cfd5d830382ac634d434725ca6349ab5db920a3
{% endhighlight %}
Result:
{% highlight json %}
{
"txid": "414a3911a274053beb867c79ad9a19bf508041554f147a1a2c73f8f9bc029717",
"size": 233,
"txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
"size": 229,
"version": 3,
"type": 5,
"locktime": 0,
"vin": [
{
"coinbase": "02953d045e572a5c08fabe6d6d666637343633363633323061616234643236626461653038633936626362353401000000000000001000000eaf0000000d2f6e6f64655374726174756d2f",
"sequence": 0
"coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
"sequence": 4294967295
}
],
"vout": [
{
"value": 52.20000692,
"valueSat": 5220000692,
"value": 8.10000000,
"valueSat": 810000000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 cb594917ad4e5849688ec63f29a0f7f3badb5da6 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914cb594917ad4e5849688ec63f29a0f7f3badb5da688ac",
"asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"yereyozxENB9jbhqpbg1coE5c39ExqLSaG"
"yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
]
}
},
{
"value": 52.20000682,
"valueSat": 5220000682,
"value": 8.10000000,
"valueSat": 810000000,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 a3c5284d3cd896815ac815f2dd76a3a71cb3d8e6 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914a3c5284d3cd896815ac815f2dd76a3a71cb3d8e688ac",
"asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"ybFPBD7hm9KVd2Dubj97K5mw2ymR8gWJre"
"yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV"
]
}
}
],
"extraPayloadSize": 38,
"extraPayload": "0100953d00007b8577a1c051bcab40e08c72209f3eddc476d859c8054c57a7287700b2de2db4",
"extraPayloadSize": 70,
"extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
"cbTx": {
"version": 1,
"height": 15765,
"merkleRootMNList": "b42ddeb2007728a7574c05c859d876c4dd3e9f20728ce040abbc51c0a177857b"
"version": 2,
"height": 86190,
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
},
"instantlock": false
"instantlock": false,
"chainlock": false
}
{% endhighlight %}

View file

@ -285,58 +285,59 @@ Get a block in raw hex:
{% highlight bash %}
dash-cli -testnet getblock \
0000000005fdd3a647d4048f183e639310885fab7983b8e7b5079729e065d91f \
00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b \
0
{% endhighlight %}
Result (wrapped):
{% highlight text %}
00000020354559625d75e59743370290291a5c7df72d1af739c3e2ecf7483314\
000000002ba12397f0ae5884e623004a5e790d7c608fa013630656e61057c0e4\
fc67a656031f9d5c3e6f221c890a5ec001030005000100000000000000000000\
00000000000000000000000000000000000000000000ffffffff4c03bc0d0104\
031f9d5c08fabe6d6d736170747365743a7265737574736574000c870f000008\
308d3b4900000019730100000000000000580000004f0000000d2f6e6f646553\
74726174756d2f000000000240230e43000000001976a914cb594917ad4e5849\
688ec63f29a0f7f3badb5da688ac40230e43000000001976a914477a52436b94\
4f3e9223ac8404a7717d4176fa5388ac00000000260100bc0d01001dd9fb7d61\
1bfd2c05c7a508085d2b35053a45fe67c40c0e43be7cd87a7c9b83
00000020272e374a06c87a0ce0e6ee1a0754c98b9ec2493e7c0ac7ba41a07300\
00000000568b3c4156090db4d8db5447762e95dd1d4c921c96801a9086720ded\
85266325916cc05caa94001c5caf359501030005000100000000000000000000\
00000000000000000000000000000000000000000000ffffffff2703ae50011a\
4d696e656420627920416e74506f6f6c2021000b01201da9196f000000000700\
0000ffffffff02809e4730000000001976a914cbd7bfcc50351180132b2c0698\
cb90ad74c473c788ac809e4730000000001976a91488a060bc2dfe05780ae4dc\
b6c98b12436c35a93988ac00000000460200ae50010078e5c08b39960887bf95\
185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f92\
45e20cfd5d830382ac634d434725ca6349ab5db920a3
{% endhighlight %}
Get the same block in JSON:
{% highlight bash %}
dash-cli -testnet getblock \
0000000005fdd3a647d4048f183e639310885fab7983b8e7b5079729e065d91f
00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b
{% endhighlight %}
Result:
{% highlight json %}
{
"hash": "0000000005fdd3a647d4048f183e639310885fab7983b8e7b5079729e065d91f",
"hash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b",
"confirmations": 1,
"size": 315,
"height": 69052,
"size": 310,
"height": 86190,
"version": 536870912,
"versionHex": "20000000",
"merkleroot": "56a667fce4c05710e656066313a08f607c0d795e4a0023e68458aef09723a12b",
"merkleroot": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
"tx": [
"56a667fce4c05710e656066313a08f607c0d795e4a0023e68458aef09723a12b"
"25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56"
],
"cbTx": {
"version": 1,
"height": 69052,
"merkleRootMNList": "839b7c7ad87cbe430e0cc467fe453a05352b5d0808a5c7052cfd1b617dfbd91d"
"version": 2,
"height": 86190,
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
},
"time": 1553800963,
"mediantime": 1553800156,
"nonce": 3227388553,
"bits": "1c226f3e",
"difficulty": 7.434282417439254,
"chainwork": "000000000000000000000000000000000000000000000000003dfe3d34685d0a",
"previousblockhash": "00000000143348f7ece2c339f71a2df77d5c1a299002374397e5755d62594535",
"time": 1556114577,
"mediantime": 1556113720,
"nonce": 2503323484,
"bits": "1c0094aa",
"difficulty": 440.8261075201009,
"chainwork": "0000000000000000000000000000000000000000000000000045ab6f9403a8e7",
"previousblockhash": "000000000073a041bac70a7c3e49c29e8bc954071aeee6e00c7ac8064a372e27",
"chainlock": false
}
{% endhighlight %}
@ -345,86 +346,88 @@ Get the same block in JSON with transaction details:
{% highlight bash %}
dash-cli -testnet getblock \
0000000005fdd3a647d4048f183e639310885fab7983b8e7b5079729e065d91f 2
00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b 2
{% endhighlight %}
Result:
{% highlight json %}
{
"hash": "0000000005fdd3a647d4048f183e639310885fab7983b8e7b5079729e065d91f",
"hash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b",
"confirmations": 1,
"size": 315,
"height": 69052,
"size": 310,
"height": 86190,
"version": 536870912,
"versionHex": "20000000",
"merkleroot": "56a667fce4c05710e656066313a08f607c0d795e4a0023e68458aef09723a12b",
"merkleroot": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
"tx": [
{
"txid": "56a667fce4c05710e656066313a08f607c0d795e4a0023e68458aef09723a12b",
"size": 234,
"txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
"size": 229,
"version": 3,
"type": 5,
"locktime": 0,
"vin": [
{
"coinbase": "03bc0d0104031f9d5c08fabe6d6d736170747365743a7265737574736574000c870f000008308d3b4900000019730100000000000000580000004f0000000d2f6e6f64655374726174756d2f",
"sequence": 0
"coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
"sequence": 4294967295
}
],
"vout": [
{
"value": 11.25000000,
"valueSat": 1125000000,
"value": 8.10000000,
"valueSat": 810000000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 cb594917ad4e5849688ec63f29a0f7f3badb5da6 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914cb594917ad4e5849688ec63f29a0f7f3badb5da688ac",
"asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"yereyozxENB9jbhqpbg1coE5c39ExqLSaG"
"yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
]
}
},
{
"value": 11.25000000,
"valueSat": 1125000000,
"value": 8.10000000,
"valueSat": 810000000,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 477a52436b944f3e9223ac8404a7717d4176fa53 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914477a52436b944f3e9223ac8404a7717d4176fa5388ac",
"asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"ySqPMrmGiB5zu7TYqgdaviEsqixPJc9hNQ"
"yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV"
]
}
}
],
"extraPayloadSize": 38,
"extraPayload": "0100bc0d01001dd9fb7d611bfd2c05c7a508085d2b35053a45fe67c40c0e43be7cd87a7c9b83",
"extraPayloadSize": 70,
"extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
"cbTx": {
"version": 1,
"height": 69052,
"merkleRootMNList": "839b7c7ad87cbe430e0cc467fe453a05352b5d0808a5c7052cfd1b617dfbd91d"
"version": 2,
"height": 86190,
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
},
"instantlock": false,
"chainlock": false
}
],
"cbTx": {
"version": 1,
"height": 69052,
"merkleRootMNList": "839b7c7ad87cbe430e0cc467fe453a05352b5d0808a5c7052cfd1b617dfbd91d"
"version": 2,
"height": 86190,
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
},
"time": 1553800963,
"mediantime": 1553800156,
"nonce": 3227388553,
"bits": "1c226f3e",
"difficulty": 7.434282417439254,
"chainwork": "000000000000000000000000000000000000000000000000003dfe3d34685d0a",
"previousblockhash": "00000000143348f7ece2c339f71a2df77d5c1a299002374397e5755d62594535",
"time": 1556114577,
"mediantime": 1556113720,
"nonce": 2503323484,
"bits": "1c0094aa",
"difficulty": 440.8261075201009,
"chainwork": "0000000000000000000000000000000000000000000000000045ab6f9403a8e7",
"previousblockhash": "000000000073a041bac70a7c3e49c29e8bc954071aeee6e00c7ac8064a372e27",
"chainlock": false
}
{% endhighlight %}

View file

@ -208,14 +208,13 @@ dash-cli getrawtransaction \
Result (wrapped):
{% highlight text %}
0300050001000000000000000000000000000000000000000000000000000000\
0000000000ffffffff4b02953d045e572a5c08fabe6d6d666637343633363633\
3230616162346432366264616530386339366263623534010000000000000010\
00000eaf0000000d2f6e6f64655374726174756d2f0000000002b4e322370100\
00001976a914cb594917ad4e5849688ec63f29a0f7f3badb5da688acaae32237\
010000001976a914a3c5284d3cd896815ac815f2dd76a3a71cb3d8e688ac0000\
0000260100953d00007b8577a1c051bcab40e08c72209f3eddc476d859c8054c\
57a7287700b2de2db4
030005000100000000000000000000000000000000000000000000000000000000000\
00000ffffffff2703ae50011a4d696e656420627920416e74506f6f6c2021000b0120\
1da9196f0000000007000000ffffffff02809e4730000000001976a914cbd7bfcc503\
51180132b2c0698cb90ad74c473c788ac809e4730000000001976a91488a060bc2dfe\
05780ae4dcb6c98b12436c35a93988ac00000000460200ae50010078e5c08b3996088\
7bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f92\
45e20cfd5d830382ac634d434725ca6349ab5db920a3
{% endhighlight %}
Get the same transaction in JSON:
@ -230,61 +229,63 @@ Result:
{% highlight json %}
{
"hex": "03000500010000000000000000000000000000000000000000000000000000000000000000ffffffff4b02953d045e572a5c08fabe6d6d666637343633363633323061616234643236626461653038633936626362353401000000000000001000000eaf0000000d2f6e6f64655374726174756d2f0000000002b4e32237010000001976a914cb594917ad4e5849688ec63f29a0f7f3badb5da688acaae32237010000001976a914a3c5284d3cd896815ac815f2dd76a3a71cb3d8e688ac00000000260100953d00007b8577a1c051bcab40e08c72209f3eddc476d859c8054c57a7287700b2de2db4",
"txid": "414a3911a274053beb867c79ad9a19bf508041554f147a1a2c73f8f9bc029717",
"size": 233,
"hex": "03000500010000000000000000000000000000000000000000000000000000000000000000ffffffff2703ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000ffffffff02809e4730000000001976a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac809e4730000000001976a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac00000000460200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
"txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
"size": 229,
"version": 3,
"type": 5,
"locktime": 0,
"vin": [
{
"coinbase": "02953d045e572a5c08fabe6d6d666637343633363633323061616234643236626461653038633936626362353401000000000000001000000eaf0000000d2f6e6f64655374726174756d2f",
"sequence": 0
"coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
"sequence": 4294967295
}
],
"vout": [
{
"value": 52.20000692,
"valueSat": 5220000692,
"value": 8.10000000,
"valueSat": 810000000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 cb594917ad4e5849688ec63f29a0f7f3badb5da6 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914cb594917ad4e5849688ec63f29a0f7f3badb5da688ac",
"asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"yereyozxENB9jbhqpbg1coE5c39ExqLSaG"
"yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
]
}
},
{
"value": 52.20000682,
"valueSat": 5220000682,
"value": 8.10000000,
"valueSat": 810000000,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 a3c5284d3cd896815ac815f2dd76a3a71cb3d8e6 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914a3c5284d3cd896815ac815f2dd76a3a71cb3d8e688ac",
"asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"ybFPBD7hm9KVd2Dubj97K5mw2ymR8gWJre"
"yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV"
]
}
}
],
"extraPayloadSize": 38,
"extraPayload": "0100953d00007b8577a1c051bcab40e08c72209f3eddc476d859c8054c57a7287700b2de2db4",
"extraPayloadSize": 70,
"extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
"cbTx": {
"version": 1,
"height": 15765,
"merkleRootMNList": "b42ddeb2007728a7574c05c859d876c4dd3e9f20728ce040abbc51c0a177857b"
"version": 2,
"height": 86190,
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
},
"blockhash": "0000000005f395d62a40ef9f2a13000bd4076e2131c8671db8333a5b31e4403f",
"height": 15765,
"confirmations": 5,
"time": 1546278750,
"blocktime": 1546278750,
"instantlock": false
"blockhash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b",
"height": 86190,
"confirmations": 2,
"time": 1556114577,
"blocktime": 1556114577,
"instantlock": false,
"chainlock": true
}
{% endhighlight %}

View file

@ -3,6 +3,7 @@ This file is licensed under the MIT License (MIT) available on
http://opensource.org/licenses/MIT.
{% endcomment %}
{% assign filename="_includes/devdoc/dash-core/rpcs/rpcs/getspecialtxes.md" %}
<!--__-->
##### GetSpecialTxes
{% include helpers/subhead-links.md %}
@ -130,84 +131,61 @@ List of Coinbase Special Transactions (type: 5) in JSON format.
{% highlight bash %}
dash-cli -testnet getspecialtxes \
0000003db0006ecaccdf5ae2cfa9d94406ef40ff65b9ec34668b87fca3da9226 5 10 0 2
00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b 5 10 0 2
{% endhighlight %}
Result:
{% highlight json %}
[
{
"txid": "1572a15f56307e413afe3cb7ea0017a1a3fd6d89c6c5f258cc17b2888a8e7fff",
"size": 303,
"txid": "25632685ed0d7286901a80961c924c1ddd952e764754dbd8b40d0956413c8b56",
"size": 229,
"version": 3,
"type": 5,
"locktime": 0,
"vin": [
{
"coinbase": "02051c0e2f5032506f6f6c2d74444153482f",
"coinbase": "03ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000",
"sequence": 4294967295
}
],
"vout": [
{
"value": 68.17463792,
"valueSat": 6817463792,
"value": 8.10000000,
"valueSat": 810000000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 4f79c383bc5d3e9d4d81b98f87337cedfa789536 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a9144f79c383bc5d3e9d4d81b98f87337cedfa78953688ac",
"asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"yTZg6eePKxbJZyoaC93bVrTUq5vjhFrbst"
"yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK"
]
}
},
{
"value": 68.85000588,
"valueSat": 6885000588,
"value": 8.10000000,
"valueSat": 810000000,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 a472d798c41ccb2890b1b932a2b8786c150cf440 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914a472d798c41ccb2890b1b932a2b8786c150cf44088ac",
"asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac",
"reqSigs": 1,
"type": "pubkeyhash",
"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,
"extraPayload": "0100051c0000f258bbb41563f0badab6c2dd47b0d8e73f1b1d88036855223ab0455a750b3ceb",
"extraPayloadSize": 70,
"extraPayload": "0200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3",
"cbTx": {
"version": 1,
"height": 7173,
"merkleRootMNList": "eb3c0b755a45b03a22556803881d1b3fe7d8b047ddc2b6dabaf06315b4bb58f2"
"version": 2,
"height": 86190,
"merkleRootMNList": "877392defa24888af72aa15f92b6609e71db1b385c1895bf870896398bc0e578",
"merkleRootQuorums": "a320b95dab4963ca2547434d63ac8203835dfd0ce245924fa83dc6bab6ac57c7"
},
"instantlock": false,
"chainlock": false

View file

@ -307,7 +307,7 @@ The `quorum<!--noref--> list` RPC displays a list of on-chain quorums.
- n: "→ → →<br>`phase`"
t: "number"
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`"
t: "bool"

View file

@ -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 |
| `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 %}
#### Quorum Selection

View file

@ -1459,6 +1459,9 @@ example, TXIDs will be in internal byte order).
if the `BLOOM_UPDATE_P2PUBKEY_ONLY` flag was set. See the subsection
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
transaction format section][raw transaction format]; the elements which
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
`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
|----------|-----------------------|------------------|------------------------------------------|-------------
| 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.
| 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.
| 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.
@ -1919,9 +1928,9 @@ message header has been omitted and the actual IP addresses have been
replaced with [RFC5737][] reserved IP addresses.)
{% highlight text %}
3e120100 .................................... Protocol version: 70206
46120100 .................................... Protocol version: 70214
0500000000000000 ............................ Services: NODE_NETWORK (1) + NODE_BLOOM (4)
bc8f5e5400000000 ............................ Epoch time: 1415483324
9c10ad5c00000000 ............................ Epoch time: 1554845852
0100000000000000 ............................ Receiving node's services
00000000000000000000ffffc61b6409 ............ Receiving node's IPv6 address
@ -1933,11 +1942,14 @@ bc8f5e5400000000 ............................ Epoch time: 1415483324
128035cbc97953f8 ............................ Nonce
14 .......................................... Bytes in user agent string: 20
2f4461736820436f72653a302e31322e312e352f..... User agent: /Satoshi:0.9.2.1/
12 .......................................... Bytes in user agent string: 18
2f4461736820436f72653a302e31322e312e352f..... User agent: /Dash Core:0.14.0/
851f0b00 .................................... Start height: 728965
851f0b00 .................................... Start height: 76944
01 .......................................... Relay flag: true
5dbb5d1baade6a9afa34db708f72c0dd
b5bd82b3656493484556689640a91357 ............ Masternode Auth. Challenge
{% endhighlight %}
{% endautocrossref %}
@ -2873,75 +2885,6 @@ features built in to Dash.
{% 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
{% 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.
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 |
| --- | --- | --- | --- |
@ -3428,13 +3371,14 @@ The `qgetsigs` message is used to request signature shares. The response to a
`qgetsigs` message is a `qbsigs` message.
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 |
| --- | --- | --- | --- |
| Varies | count | compactSize uint | Number of signature shares requested |
| 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
message header has been omitted.)
@ -3448,11 +3392,13 @@ message header has been omitted.)
Signature share request 1
| 80db21 ................................... Session ID
| 32012900 ................................. Inventory
| 32 ....................................... Inventory size: 50
| 012900 ................................... Inventory
Signature share request 2
| 80db22 ................................... Session ID
| 32012900 ................................. Inventory
| 32 ....................................... Inventory Size: 50
| 012900 ................................... Inventory
{% endhighlight %}
{% endautocrossref %}
@ -3553,7 +3499,7 @@ session. The sessionId will be used for all P2P messages related to that
session.
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 |
| --- | --- | --- | --- |
@ -3622,7 +3568,7 @@ The `qsigsinv` message (quorum signature inventory) announces one or more quorum
signature share inventories known by the transmitting peer.
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) -->
@ -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 | 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
message header has been omitted.)
@ -3644,15 +3591,86 @@ Match qbsigs and qsigsesann
02 ......................................... Count: 2
84d844 ..................................... Session ID
32011a040200 ............................... Inventory
32 ......................................... Inventory size: 50
011a040200 ................................. Inventory
84d843 ..................................... Session ID
32011a0700 ................................. Inventory
32 ......................................... Inventory size: 50
011a0700 ................................... Inventory
{% endhighlight %}
{% 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
{% include helpers/subhead-links.md %}

View file

@ -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 %}
[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."
[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"
[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"
@ -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"
[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"
[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)"
[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"