diff --git a/_autocrossref.yaml b/_autocrossref.yaml index e860fe02..b71e28fa 100644 --- a/_autocrossref.yaml +++ b/_autocrossref.yaml @@ -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 diff --git a/_config.yml b/_config.yml index ab112b6a..c8d77492 100644 --- a/_config.yml +++ b/_config.yml @@ -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" diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/decoderawtransaction.md b/_includes/devdoc/dash-core/rpcs/rpcs/decoderawtransaction.md index 11101227..9fc6f77d 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/decoderawtransaction.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/decoderawtransaction.md @@ -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 %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getblock.md b/_includes/devdoc/dash-core/rpcs/rpcs/getblock.md index 4ed8b953..dcaa272c 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getblock.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getblock.md @@ -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 %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getrawtransaction.md b/_includes/devdoc/dash-core/rpcs/rpcs/getrawtransaction.md index be25ede5..94cf58e3 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getrawtransaction.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getrawtransaction.md @@ -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 %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getspecialtxes.md b/_includes/devdoc/dash-core/rpcs/rpcs/getspecialtxes.md index 7935a66e..9a2e5384 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getspecialtxes.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getspecialtxes.md @@ -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 diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/quorum.md b/_includes/devdoc/dash-core/rpcs/rpcs/quorum.md index 5e054a4d..636428f6 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/quorum.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/quorum.md @@ -307,7 +307,7 @@ The `quorum list` RPC displays a list of on-chain quorums. - n: "→ → →
`phase`" t: "number" p: "Required
(exactly 1)" - d: "The active DKG phase" + d: "The active DKG phase
`1` - Initialized
`2` - Contributing
`3` - Complaining
`4` - Justifying
`5` - Committing
`6` - Finalizing" - n: "→ → →
`sentContributions`" t: "bool" diff --git a/_includes/devdoc/guide_dash_features.md b/_includes/devdoc/guide_dash_features.md index ec7b9cd9..55ef7e24 100644 --- a/_includes/devdoc/guide_dash_features.md +++ b/_includes/devdoc/guide_dash_features.md @@ -762,6 +762,13 @@ for additional details. | **[Threshold Signature Recovery Phase](https://github.com/dashpay/dips/blob/master/dip-0007.md#recovered-threshold-signatures)** | | | 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 diff --git a/_includes/devdoc/ref_p2p_networking.md b/_includes/devdoc/ref_p2p_networking.md index 0011777a..f3868232 100644 --- a/_includes/devdoc/ref_p2p_networking.md +++ b/_includes/devdoc/ref_p2p_networking.md @@ -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.*

User agent as defined by BIP14. Previously called subVer.

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

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*

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 | | -| 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 | - - - -{% 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). @@ -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 %} + + + +##### 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 %} diff --git a/_includes/references.md b/_includes/references.md index aba58606..dcba0bb2 100644 --- a/_includes/references.md +++ b/_includes/references.md @@ -239,7 +239,7 @@ http://opensource.org/licenses/MIT. {% comment %}{% 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 %}{% 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"