mirror of
https://github.com/seigler/dash-docs
synced 2025-07-26 17:26:12 +00:00
V0.13.0 RC updates (#95)
* Content - RPC - Update quick reference * RPC - Update getblockchaininfo to show BIP-9 progress Related to dashpay/dash#2435 * RPC - Update gobject prepare with new params Use-IS (dashpay/dash#2452) Use specific UTXO for fee (dashpay/dash#2482) * RPC - Update mode name * RPC - Update protx default mode dashpay/dash#2513 * Content - Add spork 17 * Content - Special transactions Add info for Quorum commitment Remove messages not in 13.0 (SubTx) * P2P - Add new txlvote fields masternodeProTxHash (dashpay/dash#2484) quorumModifierHash (dashpay/dash#2505) * RPC - Update protx list Make all options follow the same parameter format (dashpay/dash#2559) * Content - version bump 0.13.0.0 bumped to 70213 (dashpay/dash#2557) * Guide - PrivateSend dstx message limit Up to 5 simultaneous dstxs per MN allowed (dashpay/dash#2552) * RPC - Update getblock Add missing versionHex field (dashpay/dash@e7d9ffa) Change to use verbosity syntax (dashpay/dash#2506 and bitcoin/bitcoin#8704) * P2P - Add qfcommit message (no hexdump example) DIP6 quorum final commitment (dashpay/dash#2477) * P2P - qfcommit typo Change description of llmqType field * P2P - Special tx payload size clarification * Guide - Update MN payment description Related to dashpay/dash#2258 * Guide - fix broken link * Guide - Update some example txs Change to hashes on the chain following the 12.3.4 reset * P2P - Add QcTx hexdump * P2P - DIP4 message updates Add SML entry Update hexdump to include new fields Add getmnlistd and mnlistdiff to cross ref * P2P - minor DIP3-related comments
This commit is contained in:
parent
be84b44e9b
commit
28514b62d7
13 changed files with 549 additions and 146 deletions
|
@ -69,6 +69,8 @@ fiat:
|
|||
'`getheaders` messages': getheaders message
|
||||
'`getaddr` message': getaddr message
|
||||
'`getaddr` messages': getaddr message
|
||||
'`getmnlistd` message': getmnlistd message
|
||||
'`getmnlistd` messages': getmnlistd message
|
||||
'`getsporks` message': getsporks message
|
||||
'`getsporks` messages': getsporks message
|
||||
'`govobj` message': govobj message
|
||||
|
@ -114,6 +116,8 @@ micropayment channels: micropayment channel
|
|||
'`mnb` messages': mnb message
|
||||
'`mnget` message': mnget message
|
||||
'`mnget` messages': mnget message
|
||||
'`mnlistdiff` message': mnlistdiff message
|
||||
'`mnlistdiff` messages': mnlistdiff message
|
||||
'`mnp` message': mnp message
|
||||
'`mnp` messages': mnp message
|
||||
'`mnv` message': mnv message
|
||||
|
@ -170,6 +174,9 @@ protocol version 70012: section protocol versions
|
|||
protocol version 70013: section protocol versions
|
||||
protocol version 70014: section protocol versions
|
||||
public key infrastructure: pki
|
||||
'QcTx': quorum commitment special tx
|
||||
'`qfcommit` message': qfcommit message
|
||||
'`qfcommit` messages': qfcommit message
|
||||
'`r`': r
|
||||
receipt: DO NOT AUTOCROSSREF
|
||||
recurrent rebilling:
|
||||
|
|
|
@ -532,10 +532,12 @@ devsearches:
|
|||
- "getblocktxn": "/en/developer-reference#getblocktxn"
|
||||
- "getdata": "/en/developer-reference#getdata"
|
||||
- "getheaders": "/en/developer-reference#getheaders"
|
||||
- "getmnlistd": "/en/developer-reference#getmnlistd"
|
||||
- "headers": "/en/developer-reference#headers"
|
||||
- "inv": "/en/developer-reference#inv"
|
||||
- "mempool": "/en/developer-reference#mempool"
|
||||
- "merkleblock": "/en/developer-reference#merkleblock"
|
||||
- "mnlistdiff": "/en/developer-reference#mnlistdiff"
|
||||
- "notfound": "/en/developer-reference#notfound"
|
||||
- "ping": "/en/developer-reference#ping"
|
||||
- "pong": "/en/developer-reference#pong"
|
||||
|
@ -572,6 +574,7 @@ devsearches:
|
|||
- "mnw": "/en/developer-reference#mnw"
|
||||
- "mnwb": "/en/developer-reference#mnwb"
|
||||
- "ssc": "/en/developer-reference#ssc"
|
||||
- "qfcommit": "/en/developer-reference#qfcommit"
|
||||
|
||||
# Dash - governance
|
||||
- "govobj": "/en/developer-reference#govobj"
|
||||
|
|
|
@ -101,8 +101,8 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
|
|||
{% autocrossref %}
|
||||
|
||||
* [GetBestBlockHash][rpc getbestblockhash]: {{summary_getBestBlockHash}}
|
||||
* [GetBlock][rpc getblock]: {{summary_getBlock}} {{UPDATED0_13_0}}
|
||||
* [GetBlockChainInfo][rpc getblockchaininfo]: {{summary_getBlockChainInfo}} {{DASH_UPDATED0_12_3}} {{UPDATED0_12_1}}
|
||||
* [GetBlock][rpc getblock]: {{summary_getBlock}} {{DASH_UPDATED0_13_0}}
|
||||
* [GetBlockChainInfo][rpc getblockchaininfo]: {{summary_getBlockChainInfo}} {{DASH_UPDATED0_13_0}} {{UPDATED0_12_1}}
|
||||
* [GetBlockCount][rpc getblockcount]: {{summary_getBlockCount}}
|
||||
* [GetBlockHash][rpc getblockhash]: {{summary_getBlockHash}}
|
||||
* [GetBlockHashes][rpc getblockhashes]: {{summary_getBlockHashes}} {{DASH_NEW0_12_1}}
|
||||
|
@ -146,11 +146,11 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
|
|||
|
||||
{% autocrossref %}
|
||||
|
||||
* [GetGovernanceInfo][rpc getgovernanceinfo]: {{summary_getGovernanceInfo}} {{DASH_UPDATED0_12_3}}
|
||||
* [GetGovernanceInfo][rpc getgovernanceinfo]: {{summary_getGovernanceInfo}} {{DASH_UPDATED0_13_0}}
|
||||
* [GetPoolInfo][rpc getpoolinfo]: {{summary_getPoolInfo}}
|
||||
* [GetSuperblockBudget][rpc getsuperblockbudget]: {{summary_getSuperblockBudget}}
|
||||
* [GObject][rpc gobject]: {{summary_gObject}} {{DASH_UPDATED0_12_3}}
|
||||
* [Masternode][rpc masternode]: {{summary_masternode}} {{DASH_UPDATED0_12_3}}
|
||||
* [GObject][rpc gobject]: {{summary_gObject}} {{DASH_UPDATED0_13_0}}
|
||||
* [Masternode][rpc masternode]: {{summary_masternode}} {{DASH_UPDATED0_13_0}}
|
||||
* [MasternodeBroadcast][rpc masternodebroadcast]: {{summary_masternodeBroadcast}}
|
||||
* [MasternodeList][rpc masternodelist]: {{summary_masternodeList}} {{DASH_UPDATED0_12_3}}
|
||||
* [MnSync][rpc mnsync]: {{summary_mnSync}}
|
||||
|
@ -189,7 +189,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
|
|||
|
||||
{% autocrossref %}
|
||||
|
||||
* [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} {{DASH_UPDATED0_12_3}}
|
||||
* [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} {{DASH_UPDATED0_13_0}}
|
||||
* [GetMiningInfo][rpc getmininginfo]: {{summary_getMiningInfo}} {{UPDATED0_14_0}}
|
||||
* [GetNetworkHashPS][rpc getnetworkhashps]: {{summary_getNetworkHashPS}}
|
||||
* [PrioritiseTransaction][rpc prioritisetransaction]: {{summary_prioritiseTransaction}}
|
||||
|
@ -228,7 +228,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
|
|||
* [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}} {{UPDATED0_13_0}}
|
||||
* [DecodeScript][rpc decodescript]: {{summary_decodeScript}}
|
||||
* [FundRawTransaction][rpc fundrawtransaction]: {{summary_fundRawTransaction}} {{DASH_UPDATED0_12_3}} {{UPDATED0_14_0}}
|
||||
* [GetRawTransaction][rpc getrawtransaction]: {{summary_getRawTransaction}} {{DASH_UPDATED0_12_3}} {{UPDATED0_14_0}}
|
||||
* [GetRawTransaction][rpc getrawtransaction]: {{summary_getRawTransaction}} {{DASH_UPDATED0_13_0}} {{UPDATED0_14_0}}
|
||||
* [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}}
|
||||
* [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}}
|
||||
|
||||
|
@ -267,16 +267,16 @@ default.
|
|||
* [BackupWallet][rpc backupwallet]: {{summary_backupWallet}}
|
||||
* [DumpHDInfo][rpc dumphdinfo]: {{summary_dumpHDInfo}} {{DASH_NEW0_12_2}}
|
||||
* [DumpPrivKey][rpc dumpprivkey]: {{summary_dumpPrivKey}}
|
||||
* [DumpWallet][rpc dumpwallet]: {{summary_dumpWallet}}
|
||||
* [DumpWallet][rpc dumpwallet]: {{summary_dumpWallet}} {{DASH_UPDATED0_13_0}}
|
||||
* [EncryptWallet][rpc encryptwallet]: {{summary_encryptWallet}}
|
||||
* [GetAccount][rpc getaccount]: {{summary_getAccount}} {{DEPRECATED}}
|
||||
* [GetAccountAddress][rpc getaccountaddress]: {{summary_getAccountAddress}} {{DEPRECATED}}
|
||||
* [GetAddressesByAccount][rpc getaddressesbyaccount]: {{summary_getAddressesByAccount}} {{DEPRECATED}}
|
||||
* [GetBalance][rpc getbalance]: {{summary_getBalance}}
|
||||
* [GetBalance][rpc getbalance]: {{summary_getBalance}} {{DASH_UPDATED0_13_0}}
|
||||
* [GetNewAddress][rpc getnewaddress]: {{summary_getNewAddress}}
|
||||
* [GetRawChangeAddress][rpc getrawchangeaddress]: {{summary_getRawChangeAddress}}
|
||||
* [GetReceivedByAccount][rpc getreceivedbyaccount]: {{summary_getReceivedByAccount}} {{DEPRECATED}}
|
||||
* [GetReceivedByAddress][rpc getreceivedbyaddress]: {{summary_getReceivedByAddress}}
|
||||
* [GetReceivedByAccount][rpc getreceivedbyaccount]: {{summary_getReceivedByAccount}} {{DASH_UPDATED0_13_0}} {{DEPRECATED}}
|
||||
* [GetReceivedByAddress][rpc getreceivedbyaddress]: {{summary_getReceivedByAddress}} {{DASH_UPDATED0_13_0}}
|
||||
* [GetTransaction][rpc gettransaction]: {{summary_getTransaction}} {{UPDATED0_12_0}}
|
||||
* [GetUnconfirmedBalance][rpc getunconfirmedbalance]: {{summary_getUnconfirmedBalance}}
|
||||
* [GetWalletInfo][rpc getwalletinfo]: {{summary_getWalletInfo}} {{DASH_UPDATED0_12_3}}
|
||||
|
@ -290,20 +290,20 @@ default.
|
|||
* [InstantSendToAddress][rpc instantsendtoaddress]: {{summary_instantSendToAddress}}
|
||||
* [KeePass][rpc keepass]: {{summary_keepass}} {{DARKCOIN_NEW0_11_0}}
|
||||
* [KeyPoolRefill][rpc keypoolrefill]: {{summary_keyPoolRefill}}
|
||||
* [ListAccounts][rpc listaccounts]: {{summary_listAccounts}} {{DEPRECATED}}
|
||||
* [ListAccounts][rpc listaccounts]: {{summary_listAccounts}} {{DASH_UPDATED0_13_0}} {{DEPRECATED}}
|
||||
* [ListAddressBalances][rpc listaddressbalances]: {{summary_listAddressBalances}} {{DASH_NEW0_12_3}}
|
||||
* [ListAddressGroupings][rpc listaddressgroupings]: {{summary_listAddressGroupings}}
|
||||
* [ListLockUnspent][rpc listlockunspent]: {{summary_listLockUnspent}}
|
||||
* [ListReceivedByAccount][rpc listreceivedbyaccount]: {{summary_listReceivedByAccount}} {{DEPRECATED}}
|
||||
* [ListReceivedByAddress][rpc listreceivedbyaddress]: {{summary_listReceivedByAddress}}
|
||||
* [ListReceivedByAccount][rpc listreceivedbyaccount]: {{summary_listReceivedByAccount}} {{DASH_UPDATED0_13_0}} {{DEPRECATED}}
|
||||
* [ListReceivedByAddress][rpc listreceivedbyaddress]: {{summary_listReceivedByAddress}} {{DASH_UPDATED0_13_0}}
|
||||
* [ListSinceBlock][rpc listsinceblock]: {{summary_listSinceBlock}}
|
||||
* [ListTransactions][rpc listtransactions]: {{summary_listTransactions}} {{UPDATED0_12_1}}
|
||||
* [ListUnspent][rpc listunspent]: {{summary_listUnspent}} {{DASH_UPDATED0_12_3}} {{UPDATED0_13_0}}
|
||||
* [LockUnspent][rpc lockunspent]: {{summary_lockUnspent}}
|
||||
* [Move][rpc move]: {{summary_move}} {{DEPRECATED}}
|
||||
* [RemovePrunedFunds][rpc removeprunedfunds]: {{summary_removePrunedFunds}} {{DASH_NEW0_12_3}} {{NEW0_13_0}}
|
||||
* [SendFrom][rpc sendfrom]: {{summary_sendFrom}} {{DEPRECATED}}
|
||||
* [SendMany][rpc sendmany]: {{summary_sendMany}}
|
||||
* [SendFrom][rpc sendfrom]: {{summary_sendFrom}} {{DASH_UPDATED0_13_0}} {{DEPRECATED}}
|
||||
* [SendMany][rpc sendmany]: {{summary_sendMany}} {{DASH_UPDATED0_13_0}}
|
||||
* [SendToAddress][rpc sendtoaddress]: {{summary_sendToAddress}}
|
||||
* [SetAccount][rpc setaccount]: {{summary_setAccount}} {{DEPRECATED}}
|
||||
* [SetPrivateSendAmount][rpc setprivatesendamount]: {{summary_setPrivateSendAmount}}
|
||||
|
|
|
@ -13,10 +13,10 @@ http://opensource.org/licenses/MIT.
|
|||
|
||||
The `getblock` RPC {{summary_getBlock}}
|
||||
|
||||
*Parameter #1---header hash*
|
||||
*Parameter #1---block hash*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "Header Hash"
|
||||
- n: "Block Hash"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of the header of the block to get, encoded as hex in RPC byte order"
|
||||
|
@ -26,14 +26,14 @@ The `getblock` RPC {{summary_getBlock}}
|
|||
*Parameter #2---whether to get JSON or hex output*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "Format"
|
||||
t: "boolean"
|
||||
p: "Optional<br>(true or false)"
|
||||
d: "Set to `false` to get the block in serialized block format; set to `true` (the default) to get the decoded block as a JSON object"
|
||||
- n: "Verbosity"
|
||||
t: "number (int)"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "Set to one of the following verbosity levels:<br>• `0` - Get the block in serialized block format;<br>• `1` - Get the decoded block as a JSON object (default)<br>• `2` - Get the decoded block as a JSON object with transaction details"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
*Result (if format was `false`)---a serialized block*
|
||||
*Result (if verbosity was `0`)---a serialized block*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`result`"
|
||||
|
@ -43,7 +43,7 @@ The `getblock` RPC {{summary_getBlock}}
|
|||
|
||||
{% enditemplate %}
|
||||
|
||||
*Result (if format was `true` or omitted)---a JSON block*
|
||||
*Result (if verbosity was `1` or omitted)---a JSON block with transaction hashes*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`result`"
|
||||
|
@ -76,6 +76,11 @@ The `getblock` RPC {{summary_getBlock}}
|
|||
p: "Required<br>(exactly 1)"
|
||||
d: "This block's version number. See [block version numbers][section block versions]"
|
||||
|
||||
- n: "→<br>`versionHex`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "_Added in Bitcoin Core 0.13.0_<br><br>The block version formatted in hexadecimal"
|
||||
|
||||
- n: "→<br>`merkleroot`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
|
@ -133,63 +138,253 @@ The `getblock` RPC {{summary_getBlock}}
|
|||
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.12.2*
|
||||
*Result (if verbosity was `2`---a JSON block with full transaction details*
|
||||
|
||||
{% assign DEPTH="→" %}
|
||||
{% include helpers/vars.md %}
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`result`"
|
||||
t: "object/null"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "An object containing the requested block, or JSON `null` if an error occurred"
|
||||
|
||||
- n: "→<br>`hash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of this block's block header encoded as hex in RPC byte order. This is the same as the hash provided in parameter #1"
|
||||
|
||||
- n: "→<br>`confirmations`"
|
||||
t: "number (int)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The number of confirmations the transactions in this block have, starting at 1 when this block is at the tip of the best block chain. This score will be -1 if the the block is not part of the best block chain"
|
||||
|
||||
- n: "→<br>`size`"
|
||||
t: "number (int)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The size of this block in serialized block format, counted in bytes"
|
||||
|
||||
- n: "→<br>`height`"
|
||||
t: "number (int)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The height of this block on its block chain"
|
||||
|
||||
- n: "→<br>`version`"
|
||||
t: "number (int)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "This block's version number. See [block version numbers][section block versions]"
|
||||
|
||||
- n: "→<br>`versionHex`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "_Added in Bitcoin Core 0.13.0_<br><br>The block version formatted in hexadecimal"
|
||||
|
||||
- n: "→<br>`merkleroot`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The merkle root for this block, encoded as hex in RPC byte order"
|
||||
|
||||
- n: "→<br>`tx`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "An array containing the TXIDs of all transactions in this block. The transactions appear in the array in the same order they appear in the serialized block"
|
||||
|
||||
{{INCLUDE_DECODE_RAW_TRANSACTION}}
|
||||
|
||||
- n: "→<br>`time`"
|
||||
t: "number (int)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The value of the *time* field in the block header, indicating approximately when the block was created"
|
||||
|
||||
- n: "→<br>`mediantime`"
|
||||
t: "number (int)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "*Added in Bitcoin Core 0.12.0*<br><br>The median block time in Unix epoch time"
|
||||
|
||||
- n: "→<br>`nonce`"
|
||||
t: "number (int)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The nonce which was successful at turning this particular block into one that could be added to the best block chain"
|
||||
|
||||
- n: "→<br>`bits`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The value of the *nBits* field in the block header, indicating the target threshold this block's header had to pass"
|
||||
|
||||
- n: "→<br>`difficulty`"
|
||||
t: "number (real)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The estimated amount of work done to find this block relative to the estimated amount of work done to find block 0"
|
||||
|
||||
- n: "→<br>`chainwork`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The estimated number of block header hashes miners had to check from the genesis block to this block, encoded as big-endian hex"
|
||||
|
||||
- n: "→<br>`previousblockhash`"
|
||||
t: "string (hex)"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "The hash of the header of the previous block, encoded as hex in RPC byte order. Not returned for genesis block"
|
||||
|
||||
- n: "→<br>`nextblockhash`"
|
||||
t: "string (hex)"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "The hash of the next block on the best block chain, if known, encoded as hex in RPC byte order"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.13.0*
|
||||
|
||||
Get a block in raw hex:
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet getblock \
|
||||
0000000037955fcc39af8b1ae75914ffb422313c0fca7eba96a1ac99c2e57f84 \
|
||||
false
|
||||
00000012e877c56af0b33d79aae888b5cb40b47809b4bee764e8fea7a9033994 \
|
||||
0
|
||||
{% endhighlight %}
|
||||
|
||||
Result (wrapped):
|
||||
|
||||
{% highlight text %}
|
||||
0100002011f5719a0a0c4881ff98b4a68c1c828dc3b10f5b51033f5f93d48dbf\
|
||||
000000004b8e38f197d6ee878e160d2bae3ce05ab898a6252458ec67ce770140\
|
||||
260397c4dd2ed659a1dd001d00636b5601010000000100000000000000000000\
|
||||
00000000000000000000000000000000000000000000ffffffff4b02041204dd\
|
||||
2ed65908fabe6d6d7445746d63506b62572d2d35584853467a765a6748696972\
|
||||
30657a3a6f6d656e010000000000000017fffff9020000000d2f6e6f64655374\
|
||||
726174756d2f00000000058028bb13010000001976a914bad55652dffb1af943\
|
||||
41015c94feea79793442fd88ac40e553b1020000001976a9142b7856de53d4c1\
|
||||
823090c98f8ad79862842c09b588ac4094dd89000000001976a914c2c29ebc78\
|
||||
7954ef99d01c5f79115abf7012fb8e88ac4094dd89000000001976a914d7b47d\
|
||||
4b40a23c389f5a17754d7f60f511c7d0ec88ac4094dd89000000001976a914dc\
|
||||
3e0793134b081145ec0c67a9c72a7b297df27c88ac00000000
|
||||
01000020d2fb795188566bd52deaa8e62de6f59c2833e842f9f6a48cea026689\
|
||||
04000000c7274c45e043e5953f2d62a1938818b513d8fd4c9f99c2c1541d1449\
|
||||
7f368602c2d8175c417b4d1d0007a96501010000000100000000000000000000\
|
||||
00000000000000000000000000000000000000000000ffffffff1202a91a0e2f\
|
||||
5032506f6f6c2d74444153482fffffffff0404e65a96010000001976a9144f79\
|
||||
c383bc5d3e9d4d81b98f87337cedfa78953688ac40c3609a010000001976a914\
|
||||
f627e64c0453f74d879f6e6a37709189af0298da88ac3cdd0504000000001976\
|
||||
a914badadfdebaa6d015a0299f23fbc1fcbdd72ba96f88ac0000000000000000\
|
||||
2a6a285fb560df18bc5145faa0860841df9daf30dc544c7b0cdb52ff28c06fa3\
|
||||
b33924000000000100000000000000
|
||||
{% endhighlight %}
|
||||
|
||||
Get the same block in JSON:
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet getblock \
|
||||
0000000037955fcc39af8b1ae75914ffb422313c0fca7eba96a1ac99c2e57f84
|
||||
00000012e877c56af0b33d79aae888b5cb40b47809b4bee764e8fea7a9033994
|
||||
{% endhighlight %}
|
||||
|
||||
Result:
|
||||
|
||||
{% highlight json %}
|
||||
{
|
||||
"hash": "0000000037955fcc39af8b1ae75914ffb422313c0fca7eba96a1ac99c2e57f84",
|
||||
"confirmations": 3,
|
||||
"size": 377,
|
||||
"height": 4612,
|
||||
"hash": "00000012e877c56af0b33d79aae888b5cb40b47809b4bee764e8fea7a9033994",
|
||||
"confirmations": 1,
|
||||
"size": 303,
|
||||
"height": 6825,
|
||||
"version": 536870913,
|
||||
"merkleroot": "c4970326400177ce67ec582425a698b85ae03cae2b0d168e87eed697f1388e4b",
|
||||
"versionHex": "20000001",
|
||||
"merkleroot": "0286367f49141d54c1c2999f4cfdd813b5188893a1622d3f95e543e0454c27c7",
|
||||
"tx": [
|
||||
"c4970326400177ce67ec582425a698b85ae03cae2b0d168e87eed697f1388e4b"
|
||||
"0286367f49141d54c1c2999f4cfdd813b5188893a1622d3f95e543e0454c27c7"
|
||||
],
|
||||
"time": 1507208925,
|
||||
"mediantime": 1507208645,
|
||||
"nonce": 1449878272,
|
||||
"bits": "1d00dda1",
|
||||
"difficulty": 1.155066358813473,
|
||||
"chainwork": "000000000000000000000000000000000000000000000000000001c3e86f0f04",
|
||||
"previousblockhash": "00000000bf8dd4935f3f03515b0fb1c38d821c8ca6b498ff81480c0a9a71f511",
|
||||
"nextblockhash": "0000000028817c7fce55d802f3647640600535a983d00e16076f284ec6cb001b"
|
||||
"time": 1545066690,
|
||||
"mediantime": 1545065992,
|
||||
"nonce": 1705576192,
|
||||
"bits": "1d4d7b41",
|
||||
"difficulty": 0.01290611629979371,
|
||||
"chainwork": "00000000000000000000000000000000000000000000000000000647104aa574",
|
||||
"previousblockhash": "00000004896602ea8ca4f6f942e833289cf5e62de6a8ea2dd56b56885179fbd2"
|
||||
}
|
||||
{% endhighlight %}
|
||||
|
||||
Get the same block in JSON with transaction details:
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet getblock \
|
||||
00000012e877c56af0b33d79aae888b5cb40b47809b4bee764e8fea7a9033994 2
|
||||
{% endhighlight %}
|
||||
|
||||
Result:
|
||||
|
||||
{% highlight json %}
|
||||
{
|
||||
"hash": "00000012e877c56af0b33d79aae888b5cb40b47809b4bee764e8fea7a9033994",
|
||||
"confirmations": 1,
|
||||
"size": 303,
|
||||
"height": 6825,
|
||||
"version": 536870913,
|
||||
"versionHex": "20000001",
|
||||
"merkleroot": "0286367f49141d54c1c2999f4cfdd813b5188893a1622d3f95e543e0454c27c7",
|
||||
"tx": [
|
||||
{
|
||||
"txid": "0286367f49141d54c1c2999f4cfdd813b5188893a1622d3f95e543e0454c27c7",
|
||||
"size": 222,
|
||||
"version": 1,
|
||||
"type": 0,
|
||||
"locktime": 0,
|
||||
"vin": [
|
||||
{
|
||||
"coinbase": "02a91a0e2f5032506f6f6c2d74444153482f",
|
||||
"sequence": 4294967295
|
||||
}
|
||||
],
|
||||
"vout": [
|
||||
{
|
||||
"value": 68.17506820,
|
||||
"valueSat": 6817506820,
|
||||
"n": 0,
|
||||
"scriptPubKey": {
|
||||
"asm": "OP_DUP OP_HASH160 4f79c383bc5d3e9d4d81b98f87337cedfa789536 OP_EQUALVERIFY OP_CHECKSIG",
|
||||
"hex": "76a9144f79c383bc5d3e9d4d81b98f87337cedfa78953688ac",
|
||||
"reqSigs": 1,
|
||||
"type": "pubkeyhash",
|
||||
"addresses": [
|
||||
"yTZg6eePKxbJZyoaC93bVrTUq5vjhFrbst"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 68.85000000,
|
||||
"valueSat": 6885000000,
|
||||
"n": 1,
|
||||
"scriptPubKey": {
|
||||
"asm": "OP_DUP OP_HASH160 f627e64c0453f74d879f6e6a37709189af0298da OP_EQUALVERIFY OP_CHECKSIG",
|
||||
"hex": "76a914f627e64c0453f74d879f6e6a37709189af0298da88ac",
|
||||
"reqSigs": 1,
|
||||
"type": "pubkeyhash",
|
||||
"addresses": [
|
||||
"yikzsfaaQ2eZ1RpVUpf1EvedzgGdJD17dC"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 0.67493180,
|
||||
"valueSat": 67493180,
|
||||
"n": 2,
|
||||
"scriptPubKey": {
|
||||
"asm": "OP_DUP OP_HASH160 badadfdebaa6d015a0299f23fbc1fcbdd72ba96f OP_EQUALVERIFY OP_CHECKSIG",
|
||||
"hex": "76a914badadfdebaa6d015a0299f23fbc1fcbdd72ba96f88ac",
|
||||
"reqSigs": 1,
|
||||
"type": "pubkeyhash",
|
||||
"addresses": [
|
||||
"ydMSjYqwv4xTossPJ1xndTxwS1Hho9DmuM"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"value": 0.00000000,
|
||||
"valueSat": 0,
|
||||
"n": 3,
|
||||
"scriptPubKey": {
|
||||
"asm": "OP_RETURN 5fb560df18bc5145faa0860841df9daf30dc544c7b0cdb52ff28c06fa3b339240000000001000000",
|
||||
"hex": "6a285fb560df18bc5145faa0860841df9daf30dc544c7b0cdb52ff28c06fa3b339240000000001000000",
|
||||
"type": "nulldata"
|
||||
}
|
||||
}
|
||||
],
|
||||
"instantlock": false
|
||||
}
|
||||
],
|
||||
"time": 1545066690,
|
||||
"mediantime": 1545065992,
|
||||
"nonce": 1705576192,
|
||||
"bits": "1d4d7b41",
|
||||
"difficulty": 0.01290611629979371,
|
||||
"chainwork": "00000000000000000000000000000000000000000000000000000647104aa574",
|
||||
"previousblockhash": "00000004896602ea8ca4f6f942e833289cf5e62de6a8ea2dd56b56885179fbd2"
|
||||
}
|
||||
{% endhighlight %}
|
||||
|
||||
*See also*
|
||||
|
|
|
@ -165,6 +165,31 @@ The `getblockchaininfo` RPC {{summary_getBlockChainInfo}}
|
|||
p: "Optional<br>(0 or 1)"
|
||||
d: "The bit (0-28) in the block version field used to signal this softfork. Field is only shown when status is `started`"
|
||||
|
||||
- n: "→ → →<br>`period`"
|
||||
t: "numeric<br>(int)"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "*Added in Dash Core 0.13.0*<br><br>The window size/period for this softfork. Field is only shown when status is `started`"
|
||||
|
||||
- n: "→ → →<br>`threshold`"
|
||||
t: "numeric<br>(int)"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "*Added in Dash Core 0.13.0*<br><br>The threshold for this softfork. Field is only shown when status is `started`"
|
||||
|
||||
- n: "→ → →<br>`windowStart`"
|
||||
t: "numeric<br>(int)"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "*Added in Dash Core 0.13.0*<br><br>The starting block height of the current window. Field is only shown when status is `started`"
|
||||
|
||||
- n: "→ → →<br>`windowBlocks`"
|
||||
t: "numeric<br>(int)"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "*Added in Dash Core 0.13.0*<br><br>The number of blocks in the current window that had the version bit set for this softfork. Field is only shown when status is `started`"
|
||||
|
||||
- n: "→ → →<br>`windowProgress`"
|
||||
t: "numeric<br>(int)"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "*Added in Dash Core 0.13.0*<br><br>The progress (between 0 and 1) for activation of this softfork. Field is only shown when status is `started`"
|
||||
|
||||
- n: "→ → →<br>`startTime`"
|
||||
t: "numeric<br>(int)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
|
|
|
@ -116,6 +116,37 @@ The `gobject prepare` RPC prepares a governance object by signing and creating a
|
|||
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #5---use-IS*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`use-IS`"
|
||||
t: "boolean"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "*Added in Dash Core 0.13.0*<br><br>InstantSend lock the collateral, only requiring one chain confirmation"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #6---outputHash*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`outputHash`"
|
||||
t: "string (hex)"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "*Added in Dash Core 0.13.0*<br><br>The single output to submit the proposal fee from"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #7---outputIndex*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`outputIndex`"
|
||||
t: "numeric"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "*Added in Dash Core 0.13.0*<br><br>The output index (required if the `outputHash` parameter is provided)"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
|
||||
*Result---collateral transaction ID*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
|
|
|
@ -40,7 +40,7 @@ Mode | Description
|
|||
`lastseen` | Print timestamp of when a masternode was last seen on the network
|
||||
`payee` | Print Dash address associated with a masternode (can be additionally filtered, partial match)
|
||||
`protocol` | Print protocol of a masternode (can be additionally filtered, exact match)
|
||||
`pubkey` | Print the masternode (not collateral) public key
|
||||
`keyid` | Print the masternode (not collateral) key id
|
||||
`rank` | Print rank of a masternode based on current block
|
||||
`sentinel` | Print sentinel version of a masternode (can be additionally filtered, exact match)
|
||||
`status` | Print masternode status: PRE_ENABLED / ENABLED / EXPIRED / SENTINEL_PING_EXPIRED / NEW_START_REQUIRED / UPDATE_REQUIRED / POSE_BAN / OUTPOINT_SPENT (can be additionally filtered, partial match)
|
||||
|
|
|
@ -415,7 +415,7 @@ Result:
|
|||
The `protx<!--noref--> list` RPC returns a list of provider transactions.
|
||||
|
||||
Lists all ProTxs in your wallet or on-chain, depending on the given type. If
|
||||
`type` is not specified, it defaults to `wallet`. All types have the optional
|
||||
`type` is not specified, it defaults to `registered`. All types have the optional
|
||||
argument `detailed` which if set to `true` will result in a detailed list being
|
||||
returned. If set to `false`, only the hashes of the ProTx will be returned.
|
||||
|
||||
|
@ -428,29 +428,6 @@ returned. If set to `false`, only the hashes of the ProTx will be returned.
|
|||
d: "The type of ProTxs to list:<br>`registered` - all ProTxs registered at height<br>`valid` - all active/valid ProTxs at height<br>`wallet` - all ProTxs found in the current wallet<br><br>Height defaults to current chain-tip if one is not provided"
|
||||
{% enditemplate %}
|
||||
|
||||
**List Type - `registered` or `valid`**
|
||||
|
||||
*Parameter #2---height*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`height`"
|
||||
t: "bool"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "List ProTxs from this height."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #3---detailed*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`detailed`"
|
||||
t: "bool"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "If set to `false` (default), only ProTx hashes are returned. If set to `true`, a detailed list of ProTx details is returned."
|
||||
{% enditemplate %}
|
||||
|
||||
|
||||
**List Type - `wallet`**
|
||||
|
||||
*Parameter #2---detailed*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
|
@ -460,6 +437,14 @@ returned. If set to `false`, only the hashes of the ProTx will be returned.
|
|||
d: "If set to `false` (default), only ProTx hashes are returned. If set to `true`, a detailed list of ProTx details is returned."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #3---height*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`height`"
|
||||
t: "bool"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "List ProTxs from this height (default: current chain tip)."
|
||||
{% enditemplate %}
|
||||
|
||||
*Result (if `detailed` was `false`)---provider registration transaction hash*
|
||||
|
||||
|
@ -505,7 +490,7 @@ Result:
|
|||
List of ProTxs which are active/valid at the given chain height.
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet protx list valid 700
|
||||
dash-cli -testnet protx list valid false 700
|
||||
{% endhighlight %}
|
||||
|
||||
Result:
|
||||
|
@ -518,7 +503,7 @@ Result:
|
|||
Detailed list of ProTxs which are active/valid at the given chain height.
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet protx list valid 700 true
|
||||
dash-cli -testnet protx list valid true 700
|
||||
{% endhighlight %}
|
||||
|
||||
Result:
|
||||
|
|
|
@ -154,7 +154,7 @@ integer value used in P2P messages, and the actual Dash value.
|
|||
| 3 | 8 | 00.0100001 |
|
||||
| 4 | 16 | 00.00100001 |
|
||||
|
||||
Protocol version 70212 added a 5th denomination (0.001 DASH).
|
||||
Protocol version 70213 added a 5th denomination (0.001 DASH).
|
||||
|
||||
The denominations are structured to allow converting between denominations
|
||||
directly without requiring additional inputs or creating change (for example,
|
||||
|
@ -162,14 +162,14 @@ directly without requiring additional inputs or creating change (for example,
|
|||
|
||||
{% endautocrossref %}
|
||||
|
||||
[Example Testnet denomination creation transaction](https://testnet-insight.dashevo.org/insight/tx/702e77d19dcb0fbfe7d7daa5543bcfeacec0f552c49e398b27fb8141ae52d3e2)
|
||||
[Example Testnet denomination creation transaction](https://testnet-insight.dashevo.org/insight/tx/f0174fc87d68a18617c2990df4d9455c0459c601d2d6473934357a66f9b8b70a)
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
**Creating Collaterals**
|
||||
|
||||
PrivateSend collaterals are used to pay mixing fees, but are kept separate from
|
||||
the denominations to maximize privacy. Since protocol version 70212, the minimum
|
||||
the denominations to maximize privacy. Since protocol version 70213, the minimum
|
||||
collateral fee is 1/10 of the smallest denomination for all mixing sessions
|
||||
regardless of denomination.
|
||||
In Dash Core, collaterals are created with enough value to pay 4 collateral fees
|
||||
|
@ -182,9 +182,9 @@ input from 1x the minimum collateral amount to the maximum collateral amount.
|
|||
|
||||
{% endautocrossref %}
|
||||
|
||||
[Example Testnet collateral creation transaction](https://testnet-insight.dashevo.org/insight/tx/c2fc4af6a9940bf33446f3dddf6892c3dac4351fd0add89157666ca1019454ca)
|
||||
[Example Testnet collateral creation transaction](https://testnet-insight.dashevo.org/insight/tx/8f9b15973983876f7ce4eb2c32b09690dfb0432d2caf6c6df516196a8d17689f)
|
||||
|
||||
[Example Testnet collateral payment transaction](https://testnet-insight.dashevo.org/insight/tx/70404808f1871e600cc8d30ad1eaf2bab63906dd1f3ae4a799b7182e1689721b)
|
||||
[Example Testnet collateral payment transaction](https://testnet-insight.dashevo.org/insight/tx/de51e6f7c5ef75aad0dbb0a808ef4873d7ef6d67b25f3a658d5a241db4f3eeeb)
|
||||
|
||||
|
||||
#### PrivateSend Mixing
|
||||
|
@ -251,6 +251,13 @@ mixing pool.
|
|||
* Inputs/outputs are ordered deterministically as defined by [BIP-69](https://github.com/quantumexplorer/bips/blob/master/bip-0069.mediawiki#Abstract) to avoid leaking any data ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/privatesend<!--noref-->-server.cpp#L321-#L322))
|
||||
* Clients must sign their inputs to the Final Transaction within 15 seconds or risk forfeiting the collateral they provided in the `dsi` message (Step 4) ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/privatesend<!--noref-->.h#L23))
|
||||
|
||||
_**Step 10 - Final Transaction broadcast**_
|
||||
|
||||
* Prior to protocol version 70213, masternodes could only send a single
|
||||
un-mined `dstx` message at a time. As of protocol version 70213, up to 5
|
||||
(`MASTERNODE_MAX_MIXING_TXES`) un-mined `dstx` messages per masternode are
|
||||
allowed.
|
||||
|
||||
_**General**_
|
||||
|
||||
With the exception of the `dsq` message and the `dstx` message (which need
|
||||
|
@ -295,6 +302,20 @@ value of only 0.00000546 DASH as shown by the calculation below.
|
|||
|
||||
{% autocrossref %}
|
||||
|
||||
Since DIP3 (introduced in Dash Core 0.13.0), masternode reward payments are based
|
||||
on the deterministic masternode list information found on-chain in each block.
|
||||
This results in a transparent, deterministic process that operates using the
|
||||
[algorithm described in DIP3](https://github.com/dashpay/dips/blob/master/dip-0003.md#masternode<!--noref-->-rewards).
|
||||
|
||||
On-chain masternode lists reduce the complexity of reward payments, make
|
||||
payments much more predictable, and also allow masternode payments to be
|
||||
enforced for all blocks (enforcement for superblocks was not possible in the
|
||||
previous system).
|
||||
|
||||
**Historical Note**
|
||||
|
||||
Prior to DIP3, the masternode payment process operated as described below.
|
||||
|
||||
Masternode payment uses a verifiable process to determine which masternode is
|
||||
paid in each block. When a new block is processed, a quorum of
|
||||
`MNPAYMENTS_SIGNATURES_TOTAL` (10) masternodes vote on the next masternode
|
||||
|
|
|
@ -66,7 +66,7 @@ with the most recent versions listed first. (If you know of a protocol
|
|||
version that implemented a major change but which is not listed here,
|
||||
please [open an issue][docs issue].)
|
||||
|
||||
As of Dash Core 0.13.0.0, the most recent protocol version is 70212.
|
||||
As of Dash Core 0.13.0.0, the most recent protocol version is 70213.
|
||||
|
||||
| Version | Initial Release | Major Changes
|
||||
|---------|------------------------------------|--------------
|
||||
|
@ -174,6 +174,7 @@ The currently-available type identifiers are:
|
|||
| 18 | [`MSG_GOVERNANCE_OBJECT_VOTE`][msg_governance_object_vote]{:#term-msg_governance_object_vote}{:.term} | The hash is a Governance Object Vote.
|
||||
| 19 | [`MSG_MASTERNODE_VERIFY`][msg_masternode_verify]{:#term-msg_masternode_verify}{:.term} | The hash is a Masternode Verify.
|
||||
| 20 | [`MSG_CMPCT_BLOCK`][msg_cmpct_block]{:#term-msg_cmpct_block}{:.term} | The hash is of a block header; identical to `MSG_BLOCK`. When used in a `getdata` message, this indicates the response should be a `cmpctblock` message. **Only for use in `getdata` messages.**
|
||||
| 21 | [`MSG_QUORUM_FINAL_COMMITMENT`][msg_quorum_final_commitment]{:#term-msg_quorum_final_commitment}{:.term} | The hash is a long-living masternode quorum final commitment.
|
||||
|
||||
Type identifier zero and type identifiers greater than twenty are reserved
|
||||
for future implementations. Dash Core ignores all inventories with
|
||||
|
@ -547,10 +548,12 @@ to the `getheaders` message will include as many as 2,000 block headers.
|
|||
|
||||
{% autocrossref %}
|
||||
|
||||
*Added in protocol version 70212*
|
||||
*Added in protocol version 70213*
|
||||
|
||||
The `getmnlistd` message is sent to request a full masternode list or an
|
||||
update to a previously requested masternode list.
|
||||
The `getmnlistd` message requests a `mnlistdiff` message that provides either:
|
||||
|
||||
1. A full masternode list (if `baseBlockHash` is all-zero)
|
||||
2. An update to a previously requested masternode list
|
||||
|
||||
| Bytes | Name | Data type | Required | Description |
|
||||
| ---------- | ----------- | --------- | -------- | -------- |
|
||||
|
@ -882,7 +885,7 @@ template near the beginning of this subsection.
|
|||
|
||||
{% autocrossref %}
|
||||
|
||||
*Added in protocol version 70212*
|
||||
*Added in protocol version 70213*
|
||||
|
||||
The `mnlistdiff` message is a reply to a `getmnlistd` message which
|
||||
requested either a full masternode list or a diff for a range of blocks.
|
||||
|
@ -898,7 +901,19 @@ requested either a full masternode list or a diff for a range of blocks.
|
|||
| variable | merkleFlags | vector<uint8_t> | Required | Merkle flag bits, packed per 8 in a byte, least significant bit first
|
||||
| variable | cbTx | CTransaction | Required | The fully serialized coinbase transaction of `blockHash`
|
||||
| variable | deletedMNs | vector | Required | A list of ProRegTx hashes for masternode which were deleted after `baseBlockHash`
|
||||
| variable | mnList | vector | Required | The list of SML entries which were added or updated since `baseBlockHash`
|
||||
| variable | mnList | vector | Required | The list of Simplified Masternode List (SML) entries which were added or updated since `baseBlockHash`
|
||||
|
||||
Simplified Masternode List (SML) Entry
|
||||
|
||||
| Bytes | Name | Data type | Description |
|
||||
| ---------- | ----------- | -------- | -------- |
|
||||
| 32 | proRegTxHash | uint256 | The hash of the ProRegTx that identifies the masternode
|
||||
| 32 | confirmedHash | uint256 | The hash of the block at which the masternode got confirmed
|
||||
| 16 | ipAddress | byte[] | IPv6 address in network byte order. Only IPv4 mapped addresses are allowed (to be extended in the future)
|
||||
| 2 | port | uint_16 | Port (network byte order)
|
||||
| 48 | pubKeyOperator | BLSPubKey | The operators public key
|
||||
| 20 |keyIDVoting | CKeyID | The public key hash used for voting.
|
||||
| 1 | isValid | bool | True if a masternode is not PoSe-banned
|
||||
|
||||
The following annotated hexdump shows a `mnlistdiff` message. (The
|
||||
message header has been omitted.)
|
||||
|
@ -936,6 +951,10 @@ Masternode List
|
|||
| Masternode 1
|
||||
| | 01040eb32f760490054543356cff4638
|
||||
| | 65633439dd073cffa570305eb086f70e ....... ProRegTx hash
|
||||
| |
|
||||
| | 000001ee5108348a2c59396da29dc576
|
||||
| | 9b2a9bb303d7577aee9cd95136c49b9b ....... Confirmed block hash
|
||||
| |
|
||||
| | 00000000000000000000000000000000 ....... IP Address: ::ffff:0.0.0.0
|
||||
| | 0000 ................................... Port: 0
|
||||
| |
|
||||
|
@ -943,10 +962,16 @@ Masternode List
|
|||
| | 0000000000000000000000000000000000000000
|
||||
| | 0000000000000000 ....................... Operator public key (BLS)
|
||||
| | c2ae01fb4084cbc3bc31e7f59b36be228a320404 Voting pubkey hash (ECDSA)
|
||||
| |
|
||||
| | 0 ...................................... Valid (0 - No)
|
||||
|
|
||||
| Masternode 2
|
||||
| | f7737beb39779971e9bc59632243e13f
|
||||
| | c5fc9ada93b69bf48c2d4c463296cd5a ....... ProRegTx hash
|
||||
| |
|
||||
| | 0000030f51f12e7069a7aa5f1bc9085d
|
||||
| | db3fe368976296fd3b6d73fdaf898cc0 ....... Confirmed block hash
|
||||
| |
|
||||
| | 000000000000000000000000cf9af40d ....... IP Address: ::ffff:207.154.244.13
|
||||
| | 4e1f ................................... Port: 19999
|
||||
| |
|
||||
|
@ -954,6 +979,8 @@ Masternode List
|
|||
| | de4a8db4d76fda6d6985dbdf10404fb9bb5cd0e8
|
||||
| | c22f4a914a6c5566 ....................... Operator public key (BLS)
|
||||
| | 43ce12751c4ba45dcdfe2c16cefd61461e17a54d Voting pubkey hash (ECDSA)
|
||||
| |
|
||||
| | 1 ...................................... Valid (1 - Yes)
|
||||
{% endhighlight %}
|
||||
|
||||
{% endautocrossref %}
|
||||
|
@ -1742,6 +1769,7 @@ Sporks (per [`src/spork.h`][spork.h])
|
|||
| 10013 | 14 | `REQUIRE_SENTINEL_FLAG` | Only masternode's running sentinel will be paid
|
||||
| 10014 | 15 | `DETERMINISTIC_MNS_ENABLED` | Deterministic masternode lists are enabled
|
||||
| 10015 | 16 | `INSTANTSEND_AUTOLOCKS` | Automatic InstantSend for transactions with <=4 inputs (also eliminates the special InstantSend fee requirement for these transactions)
|
||||
| 10016 | 17 | `SPORK_17_QUORUM_DKG_ENABLED` | Enable long-living masternode quorum (LLMQ) distributed key generation (DKG). When enabled, simple PoSe scoring and banning is active as well.
|
||||
| | | |
|
||||
| | | **Removed Sporks** |
|
||||
| _10012_ | _13_ | _`OLD_SUPERBLOCK_FLAG`_ | _Removed in Dash Core 0.12.3. No network function since block 614820_
|
||||
|
@ -1904,32 +1932,41 @@ is sent by masternodes to indicate approval of a transaction lock request
|
|||
| 32 | txHash | uint256 | Required | TXID of the transaction to lock
|
||||
| 36 | outPoint | outpoint | Required | The unspent outpoint to lock in this transaction
|
||||
| 36 | outpointMasternode | outpoint | Required | The outpoint of the masternode which is signing the vote
|
||||
| 66* | vchMasternodeSignature | char[] | Required | 66 bytes in most cases. Length (1 byte) + Signature (65 bytes)
|
||||
| 32 | quorumModifierHash | uint256 | Required | *Added in protocol version 70213. Only present when Spork 15 is active.*<br><br>
|
||||
| 32 | masternodeProTxHash | uint256 | Required | *Added in protocol version 70213. Only present when Spork 15 is active.*<br><br>The proTxHash of the DIP3 masternode which is signing the vote
|
||||
| 96 | vchMasternodeSignature | char[] | Required | Masternode BLS signature
|
||||
|
||||
The following annotated hexdump shows a `txlvote` message. (The
|
||||
message header has been omitted.)
|
||||
|
||||
{% highlight text %}
|
||||
3c121fb4a12b2f715e2f70a9fa282115
|
||||
be197dde14073959fb2a2b8e95a7418f ..... TXID
|
||||
84a27bb879f316482598fe65b0b51544
|
||||
e85490d85fc36af1c293e186da373c02 ..... TXID
|
||||
|
||||
Outpoint to lock
|
||||
| bb607995757c6a6efd6429215dcb3688
|
||||
| b252d34d835c81fed310fd905f487020 ... Outpoint TXID
|
||||
| 01000000 ........................... Outpoint index number: 1
|
||||
|
||||
Masternode Outpoint
|
||||
| de9029c7e9b7eb7cd11f27ba670b2349
|
||||
| 0c3f0717b86ed949c316874589405cd2 ... Outpoint TXID
|
||||
| 4c1e6318bab4f9284d3bc0e49ec7fe76
|
||||
| 1e9c914b8ea0bcac4563005daa451221 ... Outpoint TXID
|
||||
| 00000000 ........................... Outpoint index number: 0
|
||||
|
||||
41 ................................... Signature length: 65
|
||||
Masternode Outpoint
|
||||
| 5d02f07c7318411e41fdd4be9f1e5ece
|
||||
| 16d680cfe318306087edc8fb205e507b ... Outpoint TXID
|
||||
| 01000000 ........................... Outpoint index number: 1
|
||||
|
||||
1ccc39ffb9c62111a8c82823d3ce61d2
|
||||
380db4e8f76ec238d568908f37558a90
|
||||
4e79566a53663de12ec2be1183c87d61
|
||||
250e8ebd57be171be1d4b5e89b69c263
|
||||
88 ................................... Masternode Signature
|
||||
b62cb5007704d2db8595d5b31cfb7cb0
|
||||
8d7e530c16a7597e1db4430a00000000 ..... Quorum Modifier hash
|
||||
|
||||
569abbea4ab45f36dd059c44f1dc0804
|
||||
f3f13071379c2f418d3637fb548c4159 ..... Masternode ProRegTx hash
|
||||
|
||||
60 ................................... Signature length: 96
|
||||
|
||||
0b0b97ec14fbc1f12566c3a90ed113e4
|
||||
e9c5ee6cdcf2fe2171e4b5f387286146
|
||||
a0632a250d64ea507ce5e1d1f1983aae
|
||||
0b70e568ad2856a0cc13008001c6d0f3
|
||||
5bdeb380f6aba0c54663a3b5e2d86d44
|
||||
305c2e5d855c72588ffb0e8e2a36482c ..... Masternode BLS Signature
|
||||
{% endhighlight %}
|
||||
|
||||
{% endautocrossref %}
|
||||
|
@ -2831,6 +2868,9 @@ ecd50100 ................................... Dashd Deamon Version (12.3.0)
|
|||
|
||||
{% autocrossref %}
|
||||
|
||||
 NOTE: This message will be deprecated
|
||||
following activation of DIP3 which implements deterministic masternode lists.
|
||||
|
||||
The `mnv` message is used by masternodes to verify each other. Several `mnv`
|
||||
messages are exchanged in the process. This results in the IP address of
|
||||
masternode 1 being validated as of the provided block height.
|
||||
|
@ -3031,8 +3071,8 @@ Sync Item IDs
|
|||
|
||||
| ID | Description | Response To
|
||||
|------|--------------|---------------
|
||||
| 2 | MASTERNODE_SYNC_LIST | `dseg` message
|
||||
| 3 | MASTERNODE_SYNC_MNW | `mnget` message
|
||||
| 2 | MASTERNODE_SYNC_LIST | _Deprecated following activation of DIP3 in Dash Core 0.13.0_<br><br>`dseg` message
|
||||
| 3 | MASTERNODE_SYNC_MNW | _Deprecated following activation of DIP3 in Dash Core 0.13.0_<br><br>`mnget` message
|
||||
| 10 | MASTERNODE_SYNC_GOVOBJ | `govsync` message
|
||||
| 11 | MASTERNODE_SYNC_GOVOBJ_VOTE | `govsync` message with non-zero hash
|
||||
|
||||
|
@ -3046,6 +3086,49 @@ bf110000 ................................... Count: 4543
|
|||
|
||||
{% endautocrossref %}
|
||||
|
||||
#### qfcommit
|
||||
{% include helpers/subhead-links.md %}
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
The `qfcommit` message is used to finalize a long-living masternode quorum setup
|
||||
by aggregating the information necessary to mine the on-chain QcTx
|
||||
special transaction. The message contains all the necessary information required
|
||||
to validate the long-living masternode quorum's signing results.
|
||||
|
||||
It is possible to receive multiple valide final commitments for the same DKG
|
||||
session. These should only differ in the number of signers, which can be ignored
|
||||
as long as there are at least `quorumThreshold` number of signers. The set of
|
||||
valid members for these final commitments should always be the same, as each
|
||||
member only creates a single premature commitment. This means that only one set
|
||||
of valid members (and thus only one quorum verification vector and quorum public
|
||||
key) can gain a majority. If the threshold is not reached, there will be no
|
||||
valid final commitment.
|
||||
|
||||
| Bytes | Name | Data type | Description |
|
||||
| --- | --- | --- | --- |
|
||||
| 2 | version | uint16_t | Version of the final commitment message
|
||||
| 1 | llmqType | uint8_t | The type of LLMQ
|
||||
| 32 | quorumHash | uint256 | The quorum identifier
|
||||
| 1-9 | signersSize | compactSize uint | Bit size of the signers bitvector
|
||||
| (bitSize + 7) / 8 | signers | byte[] | Bitset representing the aggregated signers of this final commitment
|
||||
| 1-9 | validMembersSize | compactSize uint | Bit size of the `validMembers` bitvector
|
||||
| (bitSize + 7) / 8 | validMembers | byte[] | Bitset of valid members in this commitment
|
||||
| 48 | quorumPublicKey | BLSPubKey | The quorum public key
|
||||
| 32 | quorumVvecHash | uint256 | The hash of the quorum verification vector
|
||||
| 96 | quorumSig | BLSSig | Recovered threshold signature
|
||||
| 96 | sig | BLSSig | Aggregated BLS signatures from all included commitments
|
||||
|
||||
<!--
|
||||
The following annotated hexdump shows a `qfcommit` message. (The
|
||||
message header has been omitted.)
|
||||
|
||||
{% highlight text %}
|
||||
|
||||
{% endhighlight %}
|
||||
|
||||
-->
|
||||
{% endautocrossref %}
|
||||
|
||||
### Governance Messages
|
||||
{% include helpers/subhead-links.md %}
|
||||
|
|
|
@ -414,7 +414,9 @@ flexibility to expand beyond the financial uses of classical transactions. DIP2
|
|||
transactions modified classical transactions by:
|
||||
|
||||
1. Splitting the 32 bit `version` field into two 16 bit fields (`version` and `type`)
|
||||
2. Adding support for a generic extra payload following the `lock_time` field
|
||||
2. Adding support for a generic extra payload following the `lock_time` field. The
|
||||
maximum allowed size for a transaction version 3 extra payload is 10000 bytes
|
||||
(`MAX_TX_EXTRA_PAYLOAD`).
|
||||
|
||||
Classical (financial) transactions have a `type` of 0 while special transactions
|
||||
have a `type` defined in the DIP describing them. A list of current special
|
||||
|
@ -427,7 +429,7 @@ transaction types is maintained in the [DIP repository](https://github.com/dashp
|
|||
|
||||
{% autocrossref %}
|
||||
|
||||
*Added in protocol version 70212 of Dash Core as described by DIP3*
|
||||
*Added in protocol version 70213 of Dash Core as described by DIP3*
|
||||
|
||||
The Masternode Registration (ProRegTx) special transaction is used to join the
|
||||
masternode list by proving ownership of the 1000 DASH necessary to create a
|
||||
|
@ -585,7 +587,7 @@ ProRegTx Payload
|
|||
|
||||
{% autocrossref %}
|
||||
|
||||
*Added in protocol version 70212 of Dash Core as described by DIP3*
|
||||
*Added in protocol version 70213 of Dash Core as described by DIP3*
|
||||
|
||||
The Masternode Provider Update Service (ProUpServTx) special transaction is used
|
||||
to update the IP Address and port of a masternode. If a non-zero operatorReward
|
||||
|
@ -658,7 +660,7 @@ ProUpServTx Payload
|
|||
|
||||
{% autocrossref %}
|
||||
|
||||
*Added in protocol version 70212 of Dash Core as described by DIP3*
|
||||
*Added in protocol version 70213 of Dash Core as described by DIP3*
|
||||
|
||||
The Masternode Provider Update Registrar (ProUpRegTx) special transaction is used
|
||||
by a masternode owner to update masternode metadata (e.g. operator/voting key
|
||||
|
@ -739,7 +741,7 @@ ProRegTx Payload
|
|||
|
||||
{% autocrossref %}
|
||||
|
||||
*Added in protocol version 70212 of Dash Core as described by DIP3*
|
||||
*Added in protocol version 70213 of Dash Core as described by DIP3*
|
||||
|
||||
The Masternode Operator Revocation (ProUpRevTx) special transaction allows an
|
||||
operator to revoke their key in case of compromise or if they wish to terminate
|
||||
|
@ -801,7 +803,7 @@ ProUpRevTx Payload
|
|||
|
||||
{% autocrossref %}
|
||||
|
||||
*Added in protocol version 70212 of Dash Core as described by DIP4*
|
||||
*Added in protocol version 70213 of Dash Core as described by DIP4*
|
||||
|
||||
The Coinbase (CbTx) special transaction adds information to the block’s coinbase
|
||||
transaction that enables verification of the deterministic masternode list without
|
||||
|
@ -867,48 +869,95 @@ Coinbase Transaction Payload
|
|||
|
||||
{% endautocrossref %}
|
||||
|
||||
#### Quorum Commitment
|
||||
#### QcTx
|
||||
{% include helpers/subhead-links.md %}
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
Quorum Commitment
|
||||
*Added in protocol version 70213 of Dash Core as described by DIP6*
|
||||
|
||||
{% endautocrossref %}
|
||||
The Quorum Commitment (QcTx) special transaction adds the best final commitment from a
|
||||
Long-Living Masternode Quorum (LLMQ) Distributed Key Generation (DKG) session to
|
||||
the chain. This special transaction has no inputs and no outputs and thus also
|
||||
pays no fee.
|
||||
|
||||
#### SubTxRegister
|
||||
{% include helpers/subhead-links.md %}
|
||||
Since this special transaction pays no fees, it is mandatory by consensus rules
|
||||
to ensure that miners include it. Exactly one quorum commitment transaction MUST
|
||||
be included in every block while in the mining phase of the LLMQ process until a
|
||||
valid commitment is present in a block.
|
||||
|
||||
{% autocrossref %}
|
||||
If a DKG failed or a miner did not receive a final commitment in-time, a null
|
||||
commitment has to be included in the special transaction payload. A null
|
||||
commitment must have the `signers` and `validMembers` bitsets set to the
|
||||
`quorumSize` and all bits set to zero. All other fields must be set to the null
|
||||
representation of the field’s types.
|
||||
|
||||
Register Blockchain User
|
||||
The special transaction type used for Quorum Commitment Transactions is 6 and
|
||||
the extra payload consists of the following data:
|
||||
|
||||
{% endautocrossref %}
|
||||
| Bytes | Name | Data type | Description |
|
||||
| ---------- | ----------- | -------- | -------- |
|
||||
| 2 | version | uint_16 | Quorum Commitment version number. Currently set to 1.
|
||||
| 4 | height | uint32_t | Height of the block
|
||||
| Variable | commitment | qfcommit | The payload of the `qfcommit` message
|
||||
|
||||
#### SubTxTopup
|
||||
{% include helpers/subhead-links.md %}
|
||||
The following annotated hexdump shows a QcTx transaction.
|
||||
|
||||
{% autocrossref %}
|
||||
<!--getrawtransaction f218f2d5b8003bc530016dc510b3d982a5cf43ff76313b991ac5aa90a91065b7 true-->
|
||||
|
||||
Topup Blockchain User Credit
|
||||
An itemized quorum commitment transaction:
|
||||
|
||||
{% endautocrossref %}
|
||||
{% highlight text %}
|
||||
0300 ....................................... Version (3)
|
||||
0600 ....................................... Type (6 - Quorum Commitment)
|
||||
|
||||
#### SubTxResetKey
|
||||
{% include helpers/subhead-links.md %}
|
||||
00 ......................................... Number of inputs
|
||||
00 ......................................... Number of outputs
|
||||
|
||||
{% autocrossref %}
|
||||
00000000 ................................... Locktime
|
||||
|
||||
Change Blockchain User Public Key
|
||||
fd4901 ..................................... Extra payload size (329)
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
#### SubTxCloseAccount
|
||||
{% include helpers/subhead-links.md %}
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
Close Blockchain User Account
|
||||
Quorum Commitment Transaction Payload
|
||||
| 0100 ..................................... Version (1)
|
||||
|
|
||||
| 921d0000 ................................. Block height: 7570
|
||||
|
|
||||
| Payload from the qfcommit message
|
||||
| | 01 ..................................... LLMQ Type (1)
|
||||
| |
|
||||
| | 8d80561839648b844ade10b6e81069fa
|
||||
| | 6c4bde6166dd59242be3487a00000000 ....... Quorum hash
|
||||
| |
|
||||
| | 32 ..................................... Number of signers (50)
|
||||
| | ff7effffbebe02 ......................... Aggregrated signers bitvector
|
||||
| |
|
||||
| | 32 ..................................... Number of valid members (50)
|
||||
| | ff7effffbebe02 ......................... Valid members bitvector
|
||||
| |
|
||||
| | 81d0717b893b557f54daacbd060bcffa
|
||||
| | 2dc341175d0b89c7974dc57ef482ae27
|
||||
| | e10fb273eda534596993999950817cd4 ....... Quorum public key (BLS)
|
||||
| |
|
||||
| | ed93bc215d15350bd7030be811cf1df2
|
||||
| | c114f6b34df9bd4095161af93608ed90 ....... Quorum verification vector hash
|
||||
| |
|
||||
| | Quorum threshold signature (BLS)
|
||||
| | 8d2bbb0b9c5b8626eb852ea0ff4f2509
|
||||
| | 19becc2d24653910fb8e11cf5573062f
|
||||
| | 9f64c03a5031f1d462163ce98e8bf78a
|
||||
| | 1470f7074a8e6fe23ccb53d73635ecd5
|
||||
| | ad71b26a938fc21638bcae7d272af9fa
|
||||
| | 919f296a17e77191e3d4c708bc6e1b9a ....... BLS Signatures (96 bytes)
|
||||
| |
|
||||
| | Aggregated signatures from all commitments (BLS)
|
||||
| | 19e702ff84ff851312cceba1de528ee7
|
||||
| | ffe33647ae28ef895b35558512901394
|
||||
| | b430c804c7c42494a3312545606b5598
|
||||
| | 0480985494fa2c49f50c65d47570380f
|
||||
| | 13c2851ce33d8584b64e8b659146d732
|
||||
| | 67d821c78d09ba7caea3d03641f78c7a ....... BLS Signature (96 bytes)
|
||||
{% endhighlight %}
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
|
|
|
@ -71,13 +71,13 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
|
|||
<td class="tg-b7b8">Blockchain</td>
|
||||
<td class="tg-b7b8"><a href="#getblock">GetBlock</a></td>
|
||||
<td class="tg-dzk6">Y</td>
|
||||
<td class="tg-dzk6"></td>
|
||||
<td class="tg-dzk6">Updated in 0.13.0.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tg-yw4l">Blockchain</td>
|
||||
<td class="tg-yw4l"><a href="#getblockchaininfo">GetBlockChainInfo</a></td>
|
||||
<td class="tg-baqh">Y</td>
|
||||
<td class="tg-baqh">Updated in 0.12.3.0</td>
|
||||
<td class="tg-baqh">Updated in 0.13.0.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tg-b7b8">Blockchain</td>
|
||||
|
@ -245,7 +245,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
|
|||
<td class="tg-yw4l">Dash</td>
|
||||
<td class="tg-yw4l"><a href="#gobject">GObject</a></td>
|
||||
<td class="tg-baqh">Y</td>
|
||||
<td class="tg-baqh">Updated in 0.12.3.0</td>
|
||||
<td class="tg-baqh">Updated in 0.13.0.0</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="tg-b7b8">Dash</td>
|
||||
|
|
|
@ -33,7 +33,7 @@ http://opensource.org/licenses/MIT.
|
|||
[msg_governance_object_vote]: /en/developer-reference#term-msg_governance_object_vote "Governance object vote data type identifier of an inventory on the P2P network"
|
||||
[msg_masternode_verify]: /en/developer-reference#term-msg_masternode_verify "Masternode Verify data type identifier of an inventory on the P2P network"
|
||||
[msg_cmpct_block]: /en/developer-reference#term-msg_cmpct_block "An alternative to the block header hash data type identifier of an inventory on the P2P network used to request a compact block"
|
||||
|
||||
[msg_quorum_final_commitment]: /en/developer-reference#term-msg_quorum_final_commitment "The Long-Living Masternode Quorum Final Commitment data type identifier of an inventory on the P2P network"
|
||||
[network]: /en/developer-guide#term-network "The Dash P2P network which broadcasts transactions and blocks"
|
||||
[op_checkmultisig]: /en/developer-reference#term-op-checkmultisig "Opcode which returns true if one or more provided signatures (m) sign the correct parts of a transaction and match one or more provided public keys (n)"
|
||||
[op_checksig]: /en/developer-reference#term-op-checksig "Opcode which returns true if a signature signs the correct parts of a transaction and matches a provided public key"
|
||||
|
@ -234,6 +234,7 @@ http://opensource.org/licenses/MIT.
|
|||
[getblocktxn message]: /en/developer-reference#getblocktxn "A P2P protocol message used to request transactions from a compact block"
|
||||
[getdata message]: /en/developer-reference#getdata "A P2P protocol message used to request one or more transactions, blocks, or merkle blocks"
|
||||
[getheaders message]: /en/developer-reference#getheaders "A P2P protocol message used to request a range of block headers"
|
||||
[getmnlistd message]: /en/developer-reference#getmnlistd "A P2P protool message used to request a simplified masternode list"
|
||||
[getsporks message]: /en/developer-reference#getsporks "A P2P network message used to request the status of sporks"
|
||||
[govobj message]: /en/developer-reference#govobj "A P2P network message used to send governance objects (proposals, etc.)"
|
||||
[govobjvote message]: /en/developer-reference#govobjvote "A P2P network message used to send governance object votes"
|
||||
|
@ -245,12 +246,14 @@ http://opensource.org/licenses/MIT.
|
|||
[merkleblock message]: /en/developer-reference#merkleblock "A P2P protocol message used to request a filtered block useful for SPV proofs"
|
||||
[mnb message]: /en/developer-reference#mnb "A P2P protocol message used to describe the masternode entry and how to validate messages from it"
|
||||
[mnget message]: /en/developer-reference#mnget "A P2P protocol message that requests masternode payment sync"
|
||||
[mnlistdiff message]: /en/developer-reference#mnlistdiff "A P2P protocol message used to send a diff of simplified masternode list entries between two blocks"
|
||||
[mnp message]: /en/developer-reference#mnp "A P2P protocol message sent by masternodes every few minutes to ping the network with a message that propagates across the whole network"
|
||||
[mnv message]: /en/developer-reference#mnv "A P2P protocol message used by masternodes to verify other masternode's IP Addresses."
|
||||
[mnw message]: /en/developer-reference#mnw "A P2P protocol message used to pick the next winning masternode (payee)"
|
||||
[notfound message]: /en/developer-reference#notfound "A P2P protocol message sent to indicate that the requested data was not available"
|
||||
[ping message]: /en/developer-reference#ping "A P2P network message used to see if the remote host is still connected"
|
||||
[pong message]: /en/developer-reference#pong "A P2P network message used to reply to a P2P network ping message"
|
||||
[qfcommit message]: /en/developer-reference#qfcommit "A P2P network message used to finalize the members of a long-living masternode quorum (LLMQ)"
|
||||
[reject message]: /en/developer-reference#reject "A P2P network message used to indicate a previously-received message was rejected for some reason"
|
||||
[sendcmpct message]: /en/developer-reference#sendcmpct "A P2P network message used to request new blocks be announced as compact blocks"
|
||||
[sendheaders message]: /en/developer-reference#sendheaders "A P2P network message used to request new blocks be announced through headers messages rather than inv messages"
|
||||
|
@ -458,6 +461,7 @@ http://opensource.org/licenses/MIT.
|
|||
[proupservtx special tx]: /en/developer-reference#proupservtx
|
||||
[python-bitcoinlib]: https://github.com/petertodd/python-bitcoinlib
|
||||
[python-blkmaker]: https://gitorious.org/bitcoin/python-blkmaker
|
||||
[quorum commitment special tx]: /en/developer-reference#qctx
|
||||
[Satoshi Nakamoto]: https://en.bitcoin.it/wiki/Satoshi_Nakamoto
|
||||
[setup tor]: https://www.torproject.org/
|
||||
[SHA256]: https://en.wikipedia.org/wiki/SHA-2
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue