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
parent aa254c489c
commit 6ee3f06b32
10 changed files with 264 additions and 254 deletions

View file

@ -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

View file

@ -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"

View file

@ -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 %}

View file

@ -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 %}

View file

@ -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 %}

View file

@ -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

View file

@ -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"

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 | | **[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

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 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 %}

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 %} {% 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"