diff --git a/Gemfile.lock b/Gemfile.lock index 70121a85..069dbd68 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -51,7 +51,7 @@ GEM mercenary (0.3.5) mini_portile2 (2.3.0) multi_json (1.11.2) - nokogiri (1.8.1) + nokogiri (1.8.2) mini_portile2 (~> 2.3.0) parallel (1.6.1) rake (10.4.2) diff --git a/Makefile b/Makefile index da773483..c78e24e2 100644 --- a/Makefile +++ b/Makefile @@ -219,7 +219,7 @@ check-for-missing-rpc-summaries: ## Make sure the Quick Reference section has a summary for each RPC we ## have documented $S for f in _includes/devdoc/dash-core/rpcs/rpcs/*.md ;\ - do grep -q "\[$$( grep '^##### ' $$f | sed 's/^##### *\([a-zA-Z]*\).*/\1/')\]\[" _includes/devdoc/dash-core/rpcs/quick-reference.md \ + do grep -q "\[$$( grep '^##### ' $$f | sed 's/^##### *\([a-zA-Z0-9]*\).*/\1/')\]\[" _includes/devdoc/dash-core/rpcs/quick-reference.md \ || echo 'missing summary for '$$f', you need to add the summary to _includes/devdoc/dash-core/rpcs/quick-ref.md and run make manual-updates' \ ; done | eval $(ERROR_ON_OUTPUT) diff --git a/_autocrossref.yaml b/_autocrossref.yaml index e4e46169..ac1ba50c 100644 --- a/_autocrossref.yaml +++ b/_autocrossref.yaml @@ -20,7 +20,11 @@ bitcoin QR codes: URI QR code bitcoinj: '`block` message': block message '`block` messages': block message +'`blocktxn` message': blocktxn message +'`blocktxn` messages': blocktxn message certificate chain: +'`cmpctblock` message': cmpctblock message +'`cmpctblock` messages': cmpctblock message DER: DER format: der DER-formatted: der @@ -57,6 +61,8 @@ fiat: '`filterload` messages': filterload message '`getblocks` message': getblocks message '`getblocks` messages': getblocks message +'`getblocktxn` message': getblocktxn message +'`getblocktxn` messages': getblocktxn message '`getdata` message': getdata message '`getdata` messages': getdata message '`getheaders` message': getheaders message @@ -172,6 +178,8 @@ RPC: RPCs: rpc '`script`': DO NOT AUTOCROSSREF secp256k1: +'`sendcmpct` message': sendcmpct message +'`sendcmpct` messages': sendcmpct message '`spork` message': spork message '`spork` messages': spork message '`ssc` message': ssc message @@ -219,9 +227,11 @@ BIP61: BIP62: BIP65: BIP66: +BIP68: BIP70: BIP71: BIP72: +BIP90: BIP111: BIP112: BIP113: @@ -229,12 +239,16 @@ BIP125: BIP130: BIP133: BIP141: +BIP147: BIP151: BIP152: ## CVEs CVE-2012-2459: +## DIPs in numerical order; don't use padding zeros (e.g. DIP1 not DIP0001) +DIP1: + ## RPCs '`abandontransaction`': rpc abandontransaction '`abandontransaction` RPC': rpc abandontransaction @@ -414,6 +428,8 @@ CVE-2012-2459: '`keypoolrefill` RPC': rpc keypoolrefill '`listaccounts`': rpc listaccounts '`listaccounts` RPC': rpc listaccounts +'`listaddressbalances`': rpc listaddressbalances +'`listaddressbalances` RPC': rpc listaddressbalances '`listaddressgroupings`': rpc listaddressgroupings '`listaddressgroupings` RPC': rpc listaddressgroupings '`listbanned`': rpc listbanned @@ -467,6 +483,8 @@ CVE-2012-2459: '`sendtoaddress` RPC': rpc sendtoaddress '`setaccount`': rpc setaccount '`setaccount` RPC': rpc setaccount +'`setbip69enabled`': rpc setbip69enabled +'`setbip69enabled` RPC': rpc setbip69enabled '`setban`': rpc setban '`setban` RPC': rpc setban '`setgenerate`': rpc setgenerate diff --git a/_config.yml b/_config.yml index 311ccd25..3dde5510 100644 --- a/_config.yml +++ b/_config.yml @@ -228,15 +228,15 @@ devsearches: - 'GetChainTips': "/en/developer-reference#getchaintips" - 'GetConnectionCount': "/en/developer-reference#getconnectioncount" - 'GetDifficulty': "/en/developer-reference#getdifficulty" - - 'GetGovernanceInfo': "/en/developer-reference#getgovernanceinfo" - 'GetGenerate': "/en/developer-reference#getgenerate" + - 'GetGovernanceInfo': "/en/developer-reference#getgovernanceinfo" - 'GetHashesPerSec': "/en/developer-reference#gethashespersec" - 'GetInfo': "/en/developer-reference#getinfo" - 'GetMemoryInfo': "/en/developer-reference#getmemoryinfo" - - 'GetMempoolInfo': "/en/developer-reference#getmempoolinfo" - - 'GetMempoolEntry': "/en/developer-reference#getmempoolentry" - 'GetMempoolAncestors': "/en/developer-reference#getmempoolancestors" - 'GetMempoolDescendants': "/en/developer-reference#getmempooldescendants" + - 'GetMempoolEntry': "/en/developer-reference#getmempoolentry" + - 'GetMempoolInfo': "/en/developer-reference#getmempoolinfo" - 'GetMiningInfo': "/en/developer-reference#getmininginfo" - 'GetNetTotals': "/en/developer-reference#getnettotals" - 'GetNetworkHashPS': "/en/developer-reference#getnetworkhashps" @@ -271,6 +271,7 @@ devsearches: - 'KeePass': "/en/developer-reference#keepass" - 'KeypoolRefill': "/en/developer-reference#keypoolrefill" - 'ListAccounts': "/en/developer-reference#listaccounts" + - 'ListAddressBalances': "/en/developer-reference#listaddressbalances" - 'ListAddressGroupings': "/en/developer-reference#listaddressgroupings" - 'ListBanned': "/en/developer-reference#listbanned" - 'ListLockUnspent': "/en/developer-reference#listlockunspent" @@ -297,6 +298,7 @@ devsearches: - 'SendToAddress': "/en/developer-reference#sendtoaddress" - 'SetAccount': "/en/developer-reference#setaccount" - 'SetBan': "/en/developer-reference#setban" + - 'SetBIP69Enabled': "/en/developer-reference#setbip69enabled" - 'SetGenerate': "/en/developer-reference#setgenerate" - 'SetNetworkActive': "/en/developer-reference#setnetworkactive" - 'SetTxFee': "/en/developer-reference#settxfee" @@ -326,6 +328,7 @@ devsearches: - 'GetHeaders': "/en/developer-reference#get-headers" - 'GetMemPool-contents': "/en/developer-reference#get-mempoolcontents" - 'GetMemPool-info': "/en/developer-reference#get-mempoolinfo" + - 'GetTx': "/en/developer-reference#get-tx" ## Opcodes currently implemented in Bitcoin Core master branch. After ## we document them on Bitcoin.org, these links will be updated @@ -483,10 +486,12 @@ devsearches: - "BIP64: P2P geutxos message": "https://github.com/bitcoin/bips/blob/master/bip-0064.mediawiki" - "BIP65: OP_CHECKLOCKTIMEVERIFY": "https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki" - "BIP66: strict DER signatures": "https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki" + - "BIP68: relative lock-time": "https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki" - "BIP70: payment protocol": "https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki" - "BIP71: payment protocol MIME types": "https://github.com/bitcoin/bips/blob/master/bip-0071.mediawiki" - "BIP72: payment protocol URIs": "https://github.com/bitcoin/bips/blob/master/bip-0072.mediawiki" - "BIP73: accept header with payment protocol": "https://github.com/bitcoin/bips/blob/master/bip-0073.mediawiki" + - "BIP90: buried deployments": "https://github.com/bitcoin/bips/blob/master/bip-0090.mediawiki" - "BIP111: NODE_BLOOM service bit": "https://github.com/bitcoin/bips/blob/master/bip-0111.mediawiki" - "BIP112: OP_CHECKSEQUENCEVERIFY": "https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki" - "BIP113: median time for lock-time": "https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki" @@ -494,20 +499,30 @@ devsearches: - "BIP130: sendheaders message": "https://github.com/bitcoin/bips/blob/master/bip-0130.mediawiki" - "BIP133: feefilter message": "https://github.com/bitcoin/bips/blob/master/bip-0133.mediawiki" - "BIP141: segregated witness": "https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki" + - "BIP147: NULLYDUMMY enforcement": "https://github.com/bitcoin/bips/blob/master/bip-0147.mediawiki" - "BIP151: P2P communication encryption": "https://github.com/bitcoin/bips/blob/master/bip-0151.mediawiki" - "BIP152: compact block relay": "https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki" + "DIPs": + - "DIP1: 2MB Blocks": "https://github.com/dashpay/dips/blob/master/dip-0001.md" + - "DIP2: Special Transactions": "https://github.com/dashpay/dips/blob/master/dip-0002.md" + - "DIP3: Deterministic Masternode Lists": "https://github.com/dashpay/dips/blob/master/dip-0003.md" + - "DIP4: Simplified Verification of Deterministic Masternode Lists": "https://github.com/dashpay/dips/blob/master/dip-0004.md" + ## Bitcoin P2P Protocol messages documented on Bitcoin.org "P2P Messages": - "addr": "/en/developer-reference#addr" - "alert": "/en/developer-reference#alert" - "block": "/en/developer-reference#block" + - "blocktxn": "/en/developer-reference#blocktxn" + - "cmpctblock": "/en/developer-reference#cmpctblock" #- "feefilter": "/en/developer-reference#feefilter" - "filteradd": "/en/developer-reference#filteradd" - "filterclear": "/en/developer-reference#filterclear" - "filterload": "/en/developer-reference#filterload" - "getaddr": "/en/developer-reference#getaddr" - "getblocks": "/en/developer-reference#getblocks" + - "getblocktxn": "/en/developer-reference#getblocktxn" - "getdata": "/en/developer-reference#getdata" - "getheaders": "/en/developer-reference#getheaders" - "headers": "/en/developer-reference#headers" @@ -518,10 +533,44 @@ devsearches: - "ping": "/en/developer-reference#ping" - "pong": "/en/developer-reference#pong" - "reject": "/en/developer-reference#reject" + - "sendcmpct": "/en/developer-reference#sendcmpct" - "tx": "/en/developer-reference#tx" - "verack": "/en/developer-reference#verack" - "version": "/en/developer-reference#version" + # Dash - sporks + - "getsporks": "/en/developer-reference#getsporks" + - "spork": "/en/developer-reference#spork" + + # Dash - instantsend + - "ix": "/en/developer-reference#ix" + - "txlvote": "/en/developer-reference#txlvote" + + # Dash - privatesend + - "dsa": "/en/developer-reference#dsa" + - "dsc": "/en/developer-reference#dsc" + - "dsf": "/en/developer-reference#dsf" + - "dsi": "/en/developer-reference#dsi" + - "dsq": "/en/developer-reference#dsq" + - "dss": "/en/developer-reference#dss" + - "dssu": "/en/developer-reference#dssu" + - "dstx": "/en/developer-reference#dstx" + + # Dash - masternode + - "dseg": "/en/developer-reference#dseg" + - "mnb": "/en/developer-reference#mnb" + - "mnget": "/en/developer-reference#mnget" + - "mnp": "/en/developer-reference#mnp" + - "mnv": "/en/developer-reference#mnv" + - "mnw": "/en/developer-reference#mnw" + - "mnwb": "/en/developer-reference#mnwb" + - "ssc": "/en/developer-reference#ssc" + + # Dash - governance + - "govobj": "/en/developer-reference#govobj" + - "govobjvote": "/en/developer-reference#govobjvote" + - "govsync": "/en/developer-reference#govsync" + donation_banner: address: 1GwV7fPX97hmavc6iNrUZUogmjpLPrPFoE display: true diff --git a/_data/glossary/en/devnet.yaml b/_data/glossary/en/devnet.yaml new file mode 100644 index 00000000..63c42fd1 --- /dev/null +++ b/_data/glossary/en/devnet.yaml @@ -0,0 +1,32 @@ +--- +# This file is licensed under the MIT License (MIT) available on +# http://opensource.org/licenses/MIT. + +required: + #-------------40 characters-------------# + title_max_40_characters_no_formatting: Devnet, Development Network + + summary_max_255_characters_no_formatting: > + A development environment in which developers can obtain and + spend duffs that have no real-world value on a network that + is very similar to the Dash mainnet. Multiple independent devnets can + coexist without interference. Devnets can be either public or private. + + synonyms_shown_in_glossary_capitalize_first_letter: + - Devnet + +optional: + synonyms_and_pluralizations_not_shown_in_glossary: + - devnets + - devnets mode + - devnets modes + - development network + + not_to_be_confused_with_capitalize_first_letter: + - Regtest (a local testing environment where developers can control block generation) + - Testnet (a global testing environment which mostly mimics mainnet) + + links_html_or_markdown_style_capitalize_first_letter: + - "[Devnet mode](/en/developer-examples#devnet-mode) --- Developer Examples" + +--- diff --git a/_data/glossary/en/regression-test-mode.yaml b/_data/glossary/en/regression-test-mode.yaml index 90105b35..5ef8f327 100644 --- a/_data/glossary/en/regression-test-mode.yaml +++ b/_data/glossary/en/regression-test-mode.yaml @@ -23,6 +23,7 @@ optional: - regtest modes not_to_be_confused_with_capitalize_first_letter: + - Devnet (a public or private development network which mimics mainnet) - Testnet (a global testing environment which mostly mimics mainnet) links_html_or_markdown_style_capitalize_first_letter: diff --git a/_data/glossary/en/testnet.yaml b/_data/glossary/en/testnet.yaml index 440388f3..8f438c86 100644 --- a/_data/glossary/en/testnet.yaml +++ b/_data/glossary/en/testnet.yaml @@ -22,6 +22,7 @@ optional: - testing network not_to_be_confused_with_capitalize_first_letter: + - Devnet (a public or private development network which mimics mainnet) - Regtest (a local testing environment where developers can control block generation) links_html_or_markdown_style_capitalize_first_letter: diff --git a/_includes/devdoc/dash-core/rpcs/intro.md b/_includes/devdoc/dash-core/rpcs/intro.md index 4f49ab4b..9f900633 100644 --- a/_includes/devdoc/dash-core/rpcs/intro.md +++ b/_includes/devdoc/dash-core/rpcs/intro.md @@ -7,6 +7,8 @@ http://opensource.org/licenses/MIT. ### Remote Procedure Calls (RPCs) {% include helpers/subhead-links.md %} + + {% autocrossref %} Dash Core provides a remote procedure call (RPC) interface for various @@ -57,6 +59,7 @@ format: | →
`id` | string | Optional
(0 or 1) | An arbitrary string that will be returned with the response. May be omitted or set to an empty string ("") | →
`method` | string | Required
(exactly 1) | The RPC method name (e.g. `getblock`). See the RPC section for a list of available methods. | →
`params` | array | Optional
(0 or 1) | An array containing positional parameter values for the RPC. May be an empty array or omitted for RPC calls that don't have any required parameters. +| →
`params` | object | Optional
(0 or 1) | Starting from Dash Core 0.12.3 / Bitcoin Core 0.14.0 (replaces the params array above) An object containing named parameter values for the RPC. May be an empty object or omitted for RPC calls that don’t have any required parameters. | → →
Parameter | *any* | Optional
(0 or more) | A parameter. May be any JSON type allowed by the particular RPC method {:.ntpd} @@ -109,6 +112,12 @@ The command to send this request using `dash-cli` is: dash-cli getblockhash 0 {% endhighlight %} +The command to send this request using `dash-cli` with named parameters is: + +{% highlight bash %} +dash-cli -named getblockhash height=0 +{% endhighlight %} + Alternatively, we could `POST` this request using the cURL command-line program as follows: @@ -126,7 +135,7 @@ The HTTP response data for this request would be: {% highlight json %} { - "result": "00000ffd590b1485b3caadc19b22e6379c733355108f107a430458cdf3407ab6", + "result": "00000bafbc94add76cb75e2ec92894837288a481e5c005f6563d91623bf8bc2c", "error": null, "id": "foo" } @@ -147,7 +156,7 @@ Continuing with the example above, the output from the `dash-cli` command would be simply: {% highlight text %} -00000ffd590b1485b3caadc19b22e6379c733355108f107a430458cdf3407ab6 +00000bafbc94add76cb75e2ec92894837288a481e5c005f6563d91623bf8bc2c {% endhighlight %} If there's an error processing a request, Dash Core sets the `result` field diff --git a/_includes/devdoc/dash-core/rpcs/quick-reference.md b/_includes/devdoc/dash-core/rpcs/quick-reference.md index 8b227351..8275d351 100644 --- a/_includes/devdoc/dash-core/rpcs/quick-reference.md +++ b/_includes/devdoc/dash-core/rpcs/quick-reference.md @@ -19,17 +19,21 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing. {% assign DASH_NOT_IMPLEMENTED='**Not Implemented**' %} + +{% assign DASH_NEW0_12_3='**New in Dash Core 0.12.3**' %} +{% assign DASH_UPDATED0_12_3='**Updated in Dash Core 0.12.3**' %} + -{% assign DASH_NEW0_12_2='*New in Dash Core 0.12.2*' %} +{% assign DASH_NEW0_12_2='**New in Dash Core 0.12.2**' %} {% assign DASH_UPDATED0_12_2='**Updated in Dash Core 0.12.2**' %} {% assign DASH_NEW0_12_1='*New in Dash Core 0.12.1*' %} -{% assign DASH_UPDATED0_12_1='**Updated in Dash Core 0.12.1**' %} +{% assign DASH_UPDATED0_12_1='*Updated in Dash Core 0.12.1*' %} {% assign DARKCOIN_NEW0_11_0='*New in Darkcoin Core 0.11.0*' %} -{% assign DARKCOIN_UPDATED0_11_0='**Updated in Darkcoin Core 0.11.0**' %} +{% assign DARKCOIN_UPDATED0_11_0='*Updated in Darkcoin Core 0.11.0*' %} {% assign DEPRECATED='**Deprecated**' %} @@ -94,45 +98,39 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [GetBestBlockHash][rpc getbestblockhash]: {{summary_getBestBlockHash}} * [GetBlock][rpc getblock]: {{summary_getBlock}} {{UPDATED0_13_0}} -* [GetBlockChainInfo][rpc getblockchaininfo]: {{summary_getBlockChainInfo}} {{UPDATED0_12_1}} +* [GetBlockChainInfo][rpc getblockchaininfo]: {{summary_getBlockChainInfo}} {{DASH_UPDATED0_12_3}} {{UPDATED0_12_1}} * [GetBlockCount][rpc getblockcount]: {{summary_getBlockCount}} * [GetBlockHash][rpc getblockhash]: {{summary_getBlockHash}} * [GetBlockHashes][rpc getblockhashes]: {{summary_getBlockHashes}} {{DASH_NEW0_12_1}} * [GetBlockHeader][rpc getblockheader]: {{summary_getBlockHeader}} {{NEW0_12_0}} * [GetBlockHeaders][rpc getblockheaders]: {{summary_getBlockHeaders}} {{DASH_NEW0_12_1}} -* [GetChainTips][rpc getchaintips]: {{summary_getChainTips}} {{DASH_UPDATED0_12_1}} +* [GetChainTips][rpc getchaintips]: {{summary_getChainTips}} {{DASH_UPDATED0_12_3}} * [GetDifficulty][rpc getdifficulty]: {{summary_getDifficulty}} +* [GetMemPoolAncestors][rpc getmempoolancestors]: {{summary_getMemPoolAncestors}} {{DASH_NEW0_12_3}} {{NEW0_13_0}} +* [GetMemPoolDescendants][rpc getmempooldescendants]: {{summary_getMemPoolDescendants}} {{DASH_NEW0_12_3}} {{NEW0_13_0}} +* [GetMemPoolEntry][rpc getmempoolentry]: {{summary_getMemPoolEntry}} {{DASH_NEW0_12_3}} {{NEW0_13_0}} * [GetMemPoolInfo][rpc getmempoolinfo]: {{summary_getMemPoolInfo}} {{UPDATED0_12_0}} -* [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} {{UPDATED0_13_0}} +* [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} {{DASH_UPDATED0_12_3}} {{UPDATED0_13_0}} * [GetSpentInfo][rpc getspentinfo]: {{summary_getSpentInfo}} {{DASH_NEW0_12_1}} * [GetTxOut][rpc gettxout]: {{summary_getTxOut}} * [GetTxOutProof][rpc gettxoutproof]: {{summary_getTxOutProof}} {{NEW0_11_0}} * [GetTxOutSetInfo][rpc gettxoutsetinfo]: {{summary_getTxOutSetInfo}} +* [PreciousBlock][rpc preciousblock]: {{summary_preciousBlock}} {{DASH_NEW0_12_3}} {{NEW0_14_0}} +* [PruneBlockChain][rpc pruneblockchain]: {{summary_pruneBlockChain}} {{DASH_NEW0_12_3}} {{NEW0_14_0}} * [VerifyChain][rpc verifychain]: {{summary_verifyChain}} * [VerifyTxOutProof][rpc verifytxoutproof]: {{summary_verifyTxOutProof}} {{NEW0_11_0}} {% endautocrossref %} -**Not implemented in Dash** - -{% autocrossref %} - -* {{DASH_NOT_IMPLEMENTED}} [GetMemPoolAncestors][rpc getmempoolancestors]: {{summary_getMemPoolAncestors}} {{NEW0_13_0}} -* {{DASH_NOT_IMPLEMENTED}} [GetMemPoolDescendants][rpc getmempooldescendants]: {{summary_getMemPoolDescendants}} {{NEW0_13_0}} -* {{DASH_NOT_IMPLEMENTED}} [GetMemPoolEntry][rpc getmempoolentry]: {{summary_getMemPoolEntry}} {{NEW0_13_0}} -* {{DASH_NOT_IMPLEMENTED}} [PreciousBlock][rpc preciousblock]: {{summary_preciousBlock}} {{NEW0_14_0}} -* {{DASH_NOT_IMPLEMENTED}} [PruneBlockChain][rpc pruneblockchain]: {{summary_pruneBlockChain}} {{NEW0_14_0}} - -{% endautocrossref %} - #### Control RPCs {:.no_toc} {% autocrossref %} -* [Debug][rpc debug]: {{summary_debug}} +* [Debug][rpc debug]: {{summary_debug}} {{DASH_UPDATED0_12_3}} * [GetInfo][rpc getinfo]: {{summary_getInfo}} {{DEPRECATED}} +* [GetMemoryInfo][rpc getmemoryinfo]: {{summary_getMemoryInfo}} {{DASH_NEW0_12_3}} {{NEW_14_0}} * [Help][rpc help]: {{summary_help}} * [Stop][rpc stop]: {{summary_stop}} @@ -144,15 +142,15 @@ These RPCs are all Dash-specific and not found in Bitcoin Core {% autocrossref %} -* [GetGovernanceInfo][rpc getgovernanceinfo]: {{summary_getGovernanceInfo}} +* [GetGovernanceInfo][rpc getgovernanceinfo]: {{summary_getGovernanceInfo}} {{DASH_UPDATED0_12_3}} * [GetPoolInfo][rpc getpoolinfo]: {{summary_getPoolInfo}} * [GetSuperblockBudget][rpc getsuperblockbudget]: {{summary_getSuperblockBudget}} -* [GObject][rpc gobject]: {{summary_gObject}} -* [Masternode][rpc masternode]: {{summary_masternode}} +* [GObject][rpc gobject]: {{summary_gObject}} {{DASH_UPDATED0_12_3}} +* [Masternode][rpc masternode]: {{summary_masternode}} {{DASH_UPDATED0_12_3}} * [MasternodeBroadcast][rpc masternodebroadcast]: {{summary_masternodeBroadcast}} -* [MasternodeList][rpc masternodelist]: {{summary_masternodeList}} +* [MasternodeList][rpc masternodelist]: {{summary_masternodeList}} {{DASH_UPDATED0_12_3}} * [MnSync][rpc mnsync]: {{summary_mnSync}} -* [PrivateSend][rpc privatesend]: {{summary_privateSend}} +* [PrivateSend][rpc privatesend]: {{summary_privateSend}} {{DASH_UPDATED0_12_3}} * [SentinelPing][rpc sentinelping]: {{summary_sentinelPing}} * [Spork][rpc spork]: {{summary_spork-rpc}} * [VoteRaw][rpc voteraw]: {{summary_voteRaw}} @@ -165,10 +163,8 @@ These RPCs are all Dash-specific and not found in Bitcoin Core {% autocrossref %} -* [Generate][rpc generate]: {{summary_generate}} {{NEW0_11_0}}, {{UPDATED0_13_0}} -* [GetGenerate][rpc getgenerate]: {{summary_getGenerate}} -* [SetGenerate][rpc setgenerate]: {{summary_setGenerate}} -* {{DASH_NOT_IMPLEMENTED}} [GenerateToAddress][rpc generatetoaddress]: {{summary_generateToAddress}} {{NEW0_13_0}} +* [Generate][rpc generate]: {{summary_generate}} {{DASH_UPDATED0_12_3}} {{UPDATED0_13_0}} +* [GenerateToAddress][rpc generatetoaddress]: {{summary_generateToAddress}} {{DASH_NEW0_12_3}} {{NEW0_13_0}} {% endautocrossref %} @@ -178,7 +174,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core {% autocrossref %} -* [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} +* [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} {{DASH_UPDATED0_12_3}} * [GetMiningInfo][rpc getmininginfo]: {{summary_getMiningInfo}} {{UPDATED0_14_0}} * [GetNetworkHashPS][rpc getnetworkhashps]: {{summary_getNetworkHashPS}} * [PrioritiseTransaction][rpc prioritisetransaction]: {{summary_prioritiseTransaction}} @@ -195,10 +191,10 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [AddNode][rpc addnode]: {{summary_addNode}} {{UPDATED0_14_0}} * [ClearBanned][rpc clearbanned]: {{summary_clearBanned}} {{NEW0_12_0}} * [DisconnectNode][rpc disconnectnode]: {{summary_disconnectNode}} {{NEW0_12_0}} {{UPDATED0_14_1}} -* [GetAddedNodeInfo][rpc getaddednodeinfo]: {{summary_getAddedNodeInfo}} {{UPDATED0_14_0}} +* [GetAddedNodeInfo][rpc getaddednodeinfo]: {{summary_getAddedNodeInfo}} {{DASH_UPDATED0_12_3}} {{UPDATED0_14_0}} * [GetConnectionCount][rpc getconnectioncount]: {{summary_getConnectionCount}} * [GetNetTotals][rpc getnettotals]: {{summary_getNetTotals}} {{UPDATED0_12_0}} -* [GetNetworkInfo][rpc getnetworkinfo]: {{summary_getNetworkInfo}} {{UPDATED0_13_0}} +* [GetNetworkInfo][rpc getnetworkinfo]: {{summary_getNetworkInfo}} {{DASH_UPDATED0_12_3}} {{UPDATED0_13_0}} * [GetPeerInfo][rpc getpeerinfo]: {{summary_getPeerInfo}} {{UPDATED0_13_0}} * [ListBanned][rpc listbanned]: {{summary_listBanned}} {{NEW0_12_0}} * [Ping][rpc ping]: {{summary_ping-rpc}} @@ -213,11 +209,11 @@ These RPCs are all Dash-specific and not found in Bitcoin Core {% autocrossref %} -* [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}} {{UPDATED0_14_1}} +* [CreateRawTransaction][rpc createrawtransaction]: {{summary_createRawTransaction}} {{DASH_UPDATED0_12_3}} {{UPDATED0_14_1}} * [DecodeRawTransaction][rpc decoderawtransaction]: {{summary_decodeRawTransaction}} {{UPDATED0_13_0}} * [DecodeScript][rpc decodescript]: {{summary_decodeScript}} -* [FundRawTransaction][rpc fundrawtransaction]: {{summary_fundRawTransaction}} {{NEW0_12_0}}, {{UPDATED0_14_0}} -* [GetRawTransaction][rpc getrawtransaction]: {{summary_getRawTransaction}} {{UPDATED0_14_0}} +* [FundRawTransaction][rpc fundrawtransaction]: {{summary_fundRawTransaction}} {{DASH_UPDATED0_12_3}} {{UPDATED0_14_0}} +* [GetRawTransaction][rpc getrawtransaction]: {{summary_getRawTransaction}} {{DASH_UPDATED0_12_3}} {{UPDATED0_14_0}} * [SendRawTransaction][rpc sendrawtransaction]: {{summary_sendRawTransaction}} * [SignRawTransaction][rpc signrawtransaction]: {{summary_signRawTransaction}} @@ -231,14 +227,14 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [CreateMultiSig][rpc createmultisig]: {{summary_createMultiSig}} * [EstimateFee][rpc estimatefee]: {{summary_estimateFee}} -* [EstimatePriority][rpc estimatepriority]: {{summary_estimatePriority}} +* [EstimatePriority][rpc estimatepriority]: {{summary_estimatePriority}} {{DEPRECATED}} * [EstimateSmartFee][rpc estimatesmartfee]: {{summary_estimateSmartFee}} {{DEPRECATED}} * [EstimateSmartPriority][rpc estimatesmartpriority]: {{summary_estimateSmartPriority}} {{DEPRECATED}} -* [ValidateAddress][rpc validateaddress]: {{summary_validateAddress}} {{UPDATED0_13_0}} +* [SetBIP69Enabled][rpc setbip69enabled]: {{summary_setBIP69Enabled}} {{DASH_NEW0_12_3}} +* [SignMessageWithPrivKey][rpc signmessagewithprivkey]: {{summary_signMessageWithPrivKey}} {{DASH_NEW0_12_3}} {{NEW0_13_0}} +* [ValidateAddress][rpc validateaddress]: {{summary_validateAddress}} {{DASH_UPDATED0_12_3}} {{UPDATED0_13_0}} * [VerifyMessage][rpc verifymessage]: {{summary_verifyMessage}} -* {{DASH_NOT_IMPLEMENTED}} [GetMemoryInfo][rpc getmemoryinfo]: {{summary_getMemoryInfo}} {{NEW_14_0}} - {% endautocrossref %} #### Wallet RPCs @@ -268,25 +264,29 @@ default. * [GetReceivedByAddress][rpc getreceivedbyaddress]: {{summary_getReceivedByAddress}} * [GetTransaction][rpc gettransaction]: {{summary_getTransaction}} {{UPDATED0_12_0}} * [GetUnconfirmedBalance][rpc getunconfirmedbalance]: {{summary_getUnconfirmedBalance}} -* [GetWalletInfo][rpc getwalletinfo]: {{summary_getWalletInfo}} +* [GetWalletInfo][rpc getwalletinfo]: {{summary_getWalletInfo}} {{DASH_UPDATED0_12_3}} * [ImportAddress][rpc importaddress]: {{summary_importAddress}} * [ImportElectrumWallet][rpc importelectrumwallet]: {{summary_importElectrumWallet}} {{DASH_NEW0_12_1}} +* [ImportMulti][rpc importmulti]: {{summary_importMulti}} {{DASH_NEW0_12_3}} {{NEW0_14_0}} * [ImportPrivKey][rpc importprivkey]: {{summary_importPrivKey}} +* [ImportPrunedFunds][rpc importprunedfunds]: {{summary_importPrunedFunds}} {{DASH_NEW0_12_3}} {{NEW0_13_0}} * [ImportPubKey][rpc importpubkey]: {{summary_importPubKey}} * [ImportWallet][rpc importwallet]: {{summary_importWallet}} * [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}} +* [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}} * [ListSinceBlock][rpc listsinceblock]: {{summary_listSinceBlock}} * [ListTransactions][rpc listtransactions]: {{summary_listTransactions}} {{UPDATED0_12_1}} -* [ListUnspent][rpc listunspent]: {{summary_listUnspent}} {{UPDATED0_13_0}} +* [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}} * [SendToAddress][rpc sendtoaddress]: {{summary_sendToAddress}} @@ -299,10 +299,6 @@ default. * {{DASH_NOT_IMPLEMENTED}} [AddWitnessAddress][rpc addwitnessaddress]: {{summary_addWitnessAddress}} {{NEW0_13_0}} * {{DASH_NOT_IMPLEMENTED}} [BumpFee][rpc bumpfee]: {{summary_bumpFee}} {{NEW0_14_0}} -* {{DASH_NOT_IMPLEMENTED}} [ImportMulti][rpc importmulti]: {{summary_importMulti}} {{NEW0_14_0}} -* {{DASH_NOT_IMPLEMENTED}} [ImportPrunedFunds][rpc importprunedfunds]: {{summary_importPrunedFunds}} {{NEW0_13_0}} -* {{DASH_NOT_IMPLEMENTED}} [RemovePrunedFunds][rpc removeprunedfunds]: {{summary_removePrunedFunds}} {{NEW0_13_0}} -* {{DASH_NOT_IMPLEMENTED}} [SignMessageWithPrivKey][rpc signmessagewithprivkey]: {{summary_signMessageWithPrivKey}} {{NEW0_13_0}} {% endautocrossref %} @@ -314,8 +310,6 @@ default. * [GetHashesPerSec][rpc gethashespersec]: {{summary_getHashesPerSec}} * [GetWork][rpc getwork]: {{summary_getWork}} - {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/createrawtransaction.md b/_includes/devdoc/dash-core/rpcs/rpcs/createrawtransaction.md index 99e92915..72a3940f 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/createrawtransaction.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/createrawtransaction.md @@ -7,6 +7,8 @@ http://opensource.org/licenses/MIT. ##### CreateRawTransaction {% include helpers/subhead-links.md %} + + {% assign summary_createRawTransaction="creates an unsigned serialized transaction that spends a previous output to a new output with a P2PKH or P2SH address. The transaction is not stored in the wallet or transmitted to the network." %} {% autocrossref %} @@ -39,7 +41,7 @@ The `createrawtransaction` RPC {{summary_createRawTransaction}} - n: "→ →
`Sequence`" t: "number (int)" p: "Optional
(0 or 1)" - d: "NOT IMPLEMENTED IN DASH.

The sequence number to use for the input" + d: "Added in Dash Core 0.12.3.0.

The sequence number to use for the input" {% enditemplate %} @@ -56,6 +58,11 @@ The `createrawtransaction` RPC {{summary_createRawTransaction}} p: "Required
(1 or more)" d: "A key/value pair with the address to pay as a string (key) and the amount to pay that address (value) in Dash" +- n: "→
Data/Hex" + t: "data : hex" + p: "Required
(1 or more)" + d: "A key/value pair where the key is 'data' and the value is hex encoded data" + {% enditemplate %} *Parameter #3---locktime* diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/debug.md b/_includes/devdoc/dash-core/rpcs/rpcs/debug.md index 589c5ea0..28725336 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/debug.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/debug.md @@ -19,20 +19,20 @@ The `debug` RPC {{summary_debug}} - n: "Debug category" t: "string" p: "Required
(1 or more)" - d: "The debug category to activate. Use a comma to specify multiple categories. Categories will be one of the following:
• `0` - Disables all categories
• `1` - Enables all categories
• `addrman`
• `alert`
• `bench`
• `coindb`
• `db`
• `lock`
• `rand`
• `rpc`
• `selectcoins`
• `mempool`
• `mempoolrej`
• `net`
• `proxy`
• `prune`
• `http`
• `libevent`
• `tor`
• `zmq`
• `dash`
• `privatesend`
• `instantsend`
• `masternode`
• `spork`
• `keepass`
• `mnpayments`
• `gobject`
" + d: "The debug category to activate. Use a `+` to specify multiple categories. Categories will be one of the following:
• `0` - Disables all categories
• `1` - Enables all categories
• `addrman`
• `alert`
• `bench`
• `coindb`
• `db`
• `lock`
• `rand`
• `rpc`
• `selectcoins`
• `mempool`
• `mempoolrej`
• `net`
• `proxy`
• `prune`
• `http`
• `libevent`
• `tor`
• `zmq`
• `dash`
• `privatesend`
• `instantsend`
• `masternode`
• `spork`
• `keepass`
• `mnpayments`
• `gobject`
" {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3* {% highlight bash %} -dash-cli -testnet debug "net,mempool" +dash-cli -testnet debug "net+mempool" {% endhighlight %} Result: {% highlight text %} -Debug mode: net,mempool +Debug mode: net+mempool {% endhighlight %} *See also: none* diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/disconnectnode.md b/_includes/devdoc/dash-core/rpcs/rpcs/disconnectnode.md index 058adcc4..175e32f7 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/disconnectnode.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/disconnectnode.md @@ -18,7 +18,7 @@ The `disconnectnode` RPC {{summary_disconnectNode}} *Parameter #1---hostname/IP address and port of node to disconnect* {% itemplate ntpd1 %} -- n: "`node`" +- n: "`address`" t: "string" p: "Required
(exactly 1)" d: "The node you want to disconnect from as a string in the form of `:`.

*Updated in Bitcoin Core 0.14.1*" diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/estimatepriority.md b/_includes/devdoc/dash-core/rpcs/rpcs/estimatepriority.md index 570d3243..9f5522d8 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/estimatepriority.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/estimatepriority.md @@ -7,6 +7,8 @@ http://opensource.org/licenses/MIT. ##### EstimatePriority {% include helpers/subhead-links.md %} + + {% autocrossref %} {% assign summary_estimatePriority="estimates the priority that a transaction needs in order to be included within a certain number of blocks as a free high-priority transaction." %} @@ -15,7 +17,7 @@ http://opensource.org/licenses/MIT. The `estimatepriority` RPC {{summary_estimatePriority}} This should not to be confused with the `prioritisetransaction` RPC which will remain supported for adding fee deltas to transactions. -{{WARNING}} `estimatepriority` has been [removed from Bitcoin](https://github.com/bitcoin/bitcoin/commit/fe282acd7604b5265762b24e531bdf1ebb1f009b) and will no longer be available in the next major release (planned for Bitcoin Core 0.15.0). Still present in Dash Core. +{{WARNING}} `estimatepriority` has been [removed from Bitcoin](https://github.com/bitcoin/bitcoin/commit/fe282acd7604b5265762b24e531bdf1ebb1f009b). While still present in Dash Core, it is deprecated as of 0.12.3 (should be considered unstable and will disappear in the future). Use the RPC listed in the "See Also" subsection below instead. Transaction priority is relative to a transaction's byte size. diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/estimatesmartpriority.md b/_includes/devdoc/dash-core/rpcs/rpcs/estimatesmartpriority.md index be63e1c4..8ac27612 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/estimatesmartpriority.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/estimatesmartpriority.md @@ -7,13 +7,15 @@ http://opensource.org/licenses/MIT. ##### EstimateSmartPriority {% include helpers/subhead-links.md %} + + {% autocrossref %} {% assign summary_estimateSmartPriority="estimates the priority that a transaction needs in order to be included within a certain number of blocks as a free high-priority transaction and returns the number of blocks for which the estimate is valid." %} The `estimatesmartpriority` RPC {{summary_estimateSmartPriority}} This should not to be confused with the `prioritisetransaction` RPC which will remain supported for adding fee deltas to transactions. -{{WARNING}} `estimatesmartpriority` has been [removed from Bitcoin](https://github.com/bitcoin/bitcoin/commit/fe282acd7604b5265762b24e531bdf1ebb1f009b) and will no longer be available in the next major release (planned for Bitcoin Core 0.15.0). While still present in Dash Core, the interface should be considered unstable and may disappear or change. Use the RPC listed in the "See Also" subsection below instead. +{{WARNING}} `estimatesmartpriority` has been [removed from Bitcoin](https://github.com/bitcoin/bitcoin/commit/fe282acd7604b5265762b24e531bdf1ebb1f009b). While still present in Dash Core, it is deprecated as of 0.12.3 (should be considered unstable and will disappear in the future). Use the RPC listed in the "See Also" subsection below instead. Transaction priority is relative to a transaction's byte size. diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/fundrawtransaction.md b/_includes/devdoc/dash-core/rpcs/rpcs/fundrawtransaction.md index 7c490135..e233500c 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/fundrawtransaction.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/fundrawtransaction.md @@ -7,6 +7,8 @@ http://opensource.org/licenses/MIT. ##### FundRawTransaction {% include helpers/subhead-links.md %} + + {% assign summary_fundRawTransaction="adds inputs to a transaction until it has enough in value to meet its out value." %} {% autocrossref %} @@ -29,15 +31,7 @@ All existing inputs must have their previous output transaction be in the wallet *Parameter #2---Additional options* -{% itemplate ntpd1 %} -- n: "`includeWatching`" - t: "bool" - p: "Optional
(0 or 1)" - d: "Inputs from watch-only addresses are also considered. The default is `false`" - -{% enditemplate %} - -The following options from Bitcoin are not implemented in Dash Core. +Note: For backwards compatibility, passing in a `true` instead of an object will result in {\"includeWatching\":true}\n" {% itemplate ntpd1 %} - n: "Options" @@ -55,6 +49,11 @@ The following options from Bitcoin are not implemented in Dash Core. p: "Optional
(0 or 1)" d: "The index of the change output. If not set, the change position is randomly chosen" +- n: "`includeWatching`" + t: "bool" + p: "Optional
(0 or 1)" + d: "Inputs from watch-only addresses are also considered. The default is `false`" + - n: "→
`lockUnspent`" t: "bool" p: "Optional
(0 or 1)" diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/generate.md b/_includes/devdoc/dash-core/rpcs/rpcs/generate.md index b9291881..165de423 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/generate.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/generate.md @@ -7,6 +7,8 @@ http://opensource.org/licenses/MIT. ##### Generate {% include helpers/subhead-links.md %} + + {% assign summary_generate="mines blocks immediately (before the RPC call returns)." %} {% autocrossref %} @@ -25,6 +27,17 @@ The `generate` RPC {{summary_generate}} {% enditemplate %} +*Parameter #2---the number of iterations* + +{% itemplate ntpd1 %} +- n: "`numblocks`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of iterations to try (default = 1000000)." + +{% enditemplate %} + + *Result---the generated block header hashes* {% itemplate ntpd1 %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/generatetoaddress.md b/_includes/devdoc/dash-core/rpcs/rpcs/generatetoaddress.md index 9375c9fb..09b0c07f 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/generatetoaddress.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/generatetoaddress.md @@ -9,13 +9,12 @@ http://opensource.org/licenses/MIT. {% assign summary_generateToAddress="mines blocks immediately to a specified address." %} + + {% autocrossref %} -*Added in Bitcoin Core 0.13.0* +*Added in Dash Core 0.12.3 / Bitcoin Core 0.13.0* -**_Not implemented in Dash Core (as of 0.12.2)_** - -{% comment %} *Requires wallet support.* The `generatetoaddress` RPC {{summary_generateToAddress}} @@ -26,7 +25,7 @@ The `generatetoaddress` RPC {{summary_generateToAddress}} - n: "Blocks" t: "number (int)" p: "Required
(exactly 1)" - d: "The number of blocks to generate. The RPC call will not return until all blocks have been generated or the maxium number of iterations has been reached" + d: "The number of blocks to generate. The RPC call will not return until all blocks have been generated or the maximum number of iterations has been reached" {% enditemplate %} @@ -36,7 +35,7 @@ The `generatetoaddress` RPC {{summary_generateToAddress}} - n: "Address" t: "string (base58)" p: "Required
(exactly 1)" - d: "The address to send the newly generated Bitcoin to" + d: "The address that will receive the newly generated Dash" {% enditemplate %} @@ -64,21 +63,21 @@ The `generatetoaddress` RPC {{summary_generateToAddress}} d: "The hashes of the headers of the blocks generated, as hex in RPC byte order" {% enditemplate %} -*Example from Bitcoin Core 0.13.1* +*Example from Dash Core 0.12.3* Using regtest mode, generate 2 blocks with maximal 500000 iterations: {% highlight bash %} -bitcoin-cli -regtest generatetoaddress 2 "1BRo7qrYHMPrzdBDzfjmzt\ -eBdYAyTMXW75" 500000 +dash-cli -regtest generatetoaddress 2 "yaQzdWrDVYGncLKSKG4bHQ\ +ML9UdAe726QN" 500000 {% endhighlight %} Result: {% highlight json %} [ - "36252b5852a5921bdfca8701f936b39edeb1f8c39fffe73b0d8437921401f9af", - "5f2956817db1e386759aa5794285977c70596b39ea093b9eab0aa4ba8cd50c06" + "34726c518d1688a9c56b3399e892089d3a639b43de194517c07da2b168a3a89c", + "1f030abe2bb323b8895542e3a85ed8386bd92c67af9d19fe9c163a4c5f5ef149" ] {% endhighlight %} @@ -88,6 +87,4 @@ Result: * [GetMiningInfo][rpc getmininginfo]: {{summary_getMiningInfo}} * [GetBlockTemplate][rpc getblocktemplate]: {{summary_getBlockTemplate}} -{% endcomment %} - {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getaddednodeinfo.md b/_includes/devdoc/dash-core/rpcs/rpcs/getaddednodeinfo.md index ca655507..bc61e79b 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getaddednodeinfo.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getaddednodeinfo.md @@ -7,23 +7,29 @@ http://opensource.org/licenses/MIT. ##### GetAddedNodeInfo {% include helpers/subhead-links.md %} + + {% assign summary_getAddedNodeInfo="returns information about the given added node, or all added nodes (except onetry nodes). Only nodes which have been manually added using the `addnode` RPC will have their information displayed." %} {% autocrossref %} The `getaddednodeinfo` RPC {{summary_getAddedNodeInfo}} -*Parameter #1---whether to display connection information* +Prior to Dash Core 0.12.3, this dummy parameter was required for historical purposes but not used: + +*DEPRECATED Parameter #1---whether to display connection information* {% itemplate ntpd1 %} -- n: "Dummy" - t: "bool" - p: "Required
(exactly 1)" - d: "Kept for historical purposes but ignored

*Removed in Bitcoin Core 0.14.0*" +- n: "_Dummy_" + t: "_bool_" + p: "_Required
(exactly 1)_" + d: "_Removed in Dash Core 0.12.3_" {% enditemplate %} -*Parameter #2---what node to display information about* +Beginning with Dash Core 0.12.3, this is the single (optional) parameter: + +*Parameter #1---what node to display information about* {% itemplate ntpd1 %} - n: "`node`" @@ -78,10 +84,10 @@ The `getaddednodeinfo` RPC {{summary_getAddedNodeInfo}} {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3* {% highlight bash %} -dash-cli getaddednodeinfo true +dash-cli getaddednodeinfo {% endhighlight %} Result (real hostname and IP address replaced with [RFC5737][] reserved address): diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getblockchaininfo.md b/_includes/devdoc/dash-core/rpcs/rpcs/getblockchaininfo.md index 9c34de4a..4e90fc8b 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getblockchaininfo.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getblockchaininfo.md @@ -7,6 +7,8 @@ http://opensource.org/licenses/MIT. ##### GetBlockChainInfo {% include helpers/subhead-links.md %} + + {% assign summary_getBlockChainInfo="provides information about the current state of the block chain." %} {% autocrossref %} @@ -163,9 +165,23 @@ The `getblockchaininfo` RPC {{summary_getBlockChainInfo}} p: "Optional
(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: "→ → →
`startTime`" + t: "numeric
(int)" + p: "Required
(exactly 1)" + d: "The Unix epoch time when the softfork voting begins" + +- n: "→ → →
`timeout`" + t: "numeric
(int)" + p: "Required
(exactly 1)" + d: "The Unix epoch time at which the deployment is considered failed if not yet locked in" + +- n: "→ → →
`since`" + t: "numeric
(int)" + p: "Required
(exactly 1)" + d: "*Added in Bitcoin Core 0.14.0*

The height of the first block to which the status applies" {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3* {% highlight bash %} dash-cli -testnet getblockchaininfo @@ -176,74 +192,57 @@ Result: {% highlight json %} { "chain": "test", - "blocks": 4622, - "headers": 4622, - "bestblockhash": "000000007f4141e557309da09911b1c3c65b8e9eed3f5e940f7083aec8999ac7", - "difficulty": 1.380236305048335, - "mediantime": 1507209819, - "verificationprogress": 0.9999053826626874, - "chainwork": "000000000000000000000000000000000000000000000000000001d17aeaf58b", + "blocks": 82244, + "headers": 82244, + "bestblockhash": "0000000004efcadbdb9d8b524e5ab982af3db039fdb585c2f1c1df56d42d4492", + "difficulty": 47.4955836390814, + "mediantime": 1519662782, + "verificationprogress": 0.9999999483744162, + "chainwork": "0000000000000000000000000000000000000000000000000021adf3af961831", "pruned": false, "softforks": [ { "id": "bip34", "version": 2, - "enforce": { - "status": true, - "found": 100, - "required": 51, - "window": 100 - }, "reject": { - "status": true, - "found": 100, - "required": 75, - "window": 100 + "status": true } }, { "id": "bip66", "version": 3, - "enforce": { - "status": true, - "found": 100, - "required": 51, - "window": 100 - }, "reject": { - "status": true, - "found": 100, - "required": 75, - "window": 100 + "status": true } }, { "id": "bip65", "version": 4, - "enforce": { - "status": true, - "found": 100, - "required": 51, - "window": 100 - }, "reject": { - "status": true, - "found": 100, - "required": 75, - "window": 100 + "status": true } } ], - "bip9_softforks": [ - { - "id": "csv", - "status": "started" + "bip9_softforks": { + "csv": { + "status": "active", + "startTime": 1506556800, + "timeout": 1538092800, + "since": 8064 }, - { - "id": "dip0001", - "status": "started" + "dip0001": { + "status": "active", + "startTime": 1505692800, + "timeout": 1537228800, + "since": 5600 + }, + "bip147": { + "status": "active", + "startTime": 1517792400, + "timeout": 1549328400, + "since": 78800 } - ] + } } {% endhighlight %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getblocktemplate.md b/_includes/devdoc/dash-core/rpcs/rpcs/getblocktemplate.md index 891f25fc..7cf947f9 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getblocktemplate.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getblocktemplate.md @@ -7,6 +7,8 @@ http://opensource.org/licenses/MIT. ##### GetBlockTemplate {% include helpers/subhead-links.md %} + + {% assign summary_getBlockTemplate="gets a block template or proposal for use with mining software." %} {% autocrossref %} @@ -41,6 +43,16 @@ information, please see the following resources: p: "Optional
(exactly 1)" d: "Client side supported feature, `longpoll`, `coinbasetxn`, `coinbasevalue`, `proposal`, `serverlist`, `workid`" +- n: "→
`rules`" + t: "array (string)" + p: "Optional
(0 or more)" + d: "A list of strings" + +- n: "→ →
Rules" + t: "string" + p: "Optional
(exactly 1)" + d: "Client side supported softfork deployment, `csv`, `dip0001`, etc." + {% enditemplate %} *Result---block template* diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getchaintips.md b/_includes/devdoc/dash-core/rpcs/rpcs/getchaintips.md index 5da84f0d..3c5dbc57 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getchaintips.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getchaintips.md @@ -53,6 +53,11 @@ The `getchaintips` RPC {{summary_getChainTips}} p: "Required
(exactly 1)" d: "The number of blocks that are on this chain but not on the main chain. For the local best block chain, this will be `0`; for all other chains, it will be at least `1`" +- n: "→ →
`forkpoint`" + t: "string (hex)" + p: "Required
(exactly 1)" + d: "*Added in Dash Core 0.12.3*

Block hash of the last common block between this tip and the main chain" + - n: "→ →
`status`" t: "string" p: "Required
(exactly 1)" @@ -60,7 +65,7 @@ The `getchaintips` RPC {{summary_getChainTips}} {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3* {% highlight bash %} dash-cli -testnet getchaintips @@ -69,11 +74,12 @@ dash-cli -testnet getchaintips {% highlight json %} [ { - "height": 4655, - "hash": "00000000629c276241d9526d85297f2675d6edebcc7fd0c39e8f4263d729b8c1", - "difficulty": 0.9622782802772231, - "chainwork": "000000000000000000000000000000000000000000000000000001f1e286e12a", + "height": 110192, + "hash": "000000000c6007f40c3b68a77b0e1319a89c0504ae1b391d071cf49fa7591dee", + "difficulty": 18.38631407059958, + "chainwork": "000000000000000000000000000000000000000000000000002cbd2546718747", "branchlen": 0, + "forkpoint": "000000000c6007f40c3b68a77b0e1319a89c0504ae1b391d071cf49fa7591dee", "status": "active" } ] diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getgenerate.md b/_includes/devdoc/dash-core/rpcs/rpcs/getgenerate.md index 7692a574..42860925 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getgenerate.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getgenerate.md @@ -7,13 +7,15 @@ http://opensource.org/licenses/MIT. ##### GetGenerate {% include helpers/subhead-links.md %} -{% assign summary_getGenerate="returns if the server is set to generate coins or not." %} + + +{% assign summary_getGenerate="was removed in Dash Core 0.12.3." %} {% autocrossref %} *Requires wallet support.* -*Removed in Bitcoin Core 0.13.0.* +**_Removed in Dash Core 0.12.3 / Bitcoin Core 0.13.0._** The `getgenerate` RPC {{summary_getGenerate}} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getgovernanceinfo.md b/_includes/devdoc/dash-core/rpcs/rpcs/getgovernanceinfo.md index 5e86da6a..feebc2de 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getgovernanceinfo.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getgovernanceinfo.md @@ -7,6 +7,8 @@ http://opensource.org/licenses/MIT. ##### GetGovernanceInfo {% include helpers/subhead-links.md %} + + {% assign summary_getGovernanceInfo="returns an object containing governance parameters." %} {% autocrossref %} @@ -31,7 +33,12 @@ The `getgovernanceinfo` RPC {{summary_getGovernanceInfo}} - n: "→
`masternodewatchdogmaxseconds`" t: "number (int)" p: "Required
(exactly 1)" - d: "Sentinel watchdog expiration time in seconds" + d: "*DEPRECATED in Dash Core 0.12.3*

Sentinel watchdog expiration time in seconds" + +- n: "→
`sentinelpingmaxseconds`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Dash Core 0.12.3.0*

Sentinel ping expiration time in seconds" - n: "→
`proposalfee`" t: "number (int)" @@ -60,7 +67,7 @@ The `getgovernanceinfo` RPC {{summary_getGovernanceInfo}} {% enditemplate %} -*Example from Dash Core 0.12.2.2* +*Example from Dash Core 0.12.3.0* {% highlight bash %} dash-cli -testnet getgovernanceinfo @@ -71,10 +78,11 @@ Result: { "governanceminquorum": 1, "masternodewatchdogmaxseconds": 7200, + "sentinelpingmaxseconds": 7200, "proposalfee": 5.00000000, "superblockcycle": 24, - "lastsuperblock": 52872, - "nextsuperblock": 52896, + "lastsuperblock": 82704, + "nextsuperblock": 82728, "maxgovobjdatasize": 16384 } {% endhighlight %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getmemoryinfo.md b/_includes/devdoc/dash-core/rpcs/rpcs/getmemoryinfo.md index 534464c9..2321a4d1 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getmemoryinfo.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getmemoryinfo.md @@ -13,11 +13,8 @@ http://opensource.org/licenses/MIT. {% autocrossref %} -*Added in Bitcoin Core 0.14.0* +*Added in Dash Core 0.12.3 / Bitcoin Core 0.14.0* -**_Not implemented in Dash Core (as of 0.12.2)_** - -{% comment %} The `getmemoryinfo` RPC {{summary_getMemoryInfo}} *Parameters: none* @@ -67,10 +64,10 @@ The `getmemoryinfo` RPC {{summary_getMemoryInfo}} {% enditemplate %} -*Example from Bitcoin Core 0.14.1* +*Example from Dash Core 0.12.3* {% highlight bash %} -bitcoin-cli getmemoryinfo +dash-cli getmemoryinfo {% endhighlight %} Result: @@ -78,11 +75,11 @@ Result: {% highlight json %} { "locked": { - "used": 0, - "free": 65536, + "used": 32, + "free": 65504, "total": 65536, "locked": 65536, - "chunks_used": 0, + "chunks_used": 1, "chunks_free": 1 } } @@ -93,6 +90,4 @@ Result: * [GetMemPoolInfo][rpc getmempoolinfo]: {{summary_getMemPoolInfo}} -{% endcomment %} - {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getmempoolancestors.md b/_includes/devdoc/dash-core/rpcs/rpcs/getmempoolancestors.md index 2a4fd641..84099efd 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getmempoolancestors.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getmempoolancestors.md @@ -9,22 +9,21 @@ http://opensource.org/licenses/MIT. {% assign summary_getMemPoolAncestors="returns all in-mempool ancestors for a transaction in the mempool." %} + + {% autocrossref %} -*Added in Bitcoin Core 0.13.0* +*Added in Dash Core 0.12.3* -**_Not implemented in Dash Core (as of 0.12.2)_** - -{% comment %} The `getmempoolancestors` RPC {{summary_getMemPoolAncestors}} *Parameter #1---a transaction identifier (TXID)* {% itemplate ntpd1 %} -- n: "Address" - t: "string" +- n: "TXID" + t: "string (hex)" p: "Required
(exactly 1)" - d: "The address whose transactions should be tallied" + d: "The TXID of a transaction in the memory pool, encoded as hex in RPC byte order" {% enditemplate %} @@ -143,66 +142,48 @@ The `getmempoolancestors` RPC {{summary_getMemPoolAncestors}} {% enditemplate %} -*Examples from Bitcoin Core 0.13.1* +*Examples from Dash Core 0.12.3* The default (`false`): {% highlight bash %} -bitcoin-cli getmempoolancestors 52273e0ce6cf3452932cfbc1c517c0ce\ -1af1d255fda67a6e3bd63ba1d908c8c2 +dash-cli getmempoolancestors 49a512c3d567effd4f605a6023df8b4b523\ +ac0ae7bccbaeed1c8a7db1e05e15a {% endhighlight %} Result: {% highlight json %} [ - "b104586f229e330caf42c475fd52684e9eb5e2d02f0fcd216d9554c5347b0873", - "094f7dcbc7494510d4daeceb2941ed73b1bd011bf527f6c3b7c897fee85c11d4" + "d1eefe8a006e2c21b55bc97c1f5b10000d63aa6a777bb11abc0daf62e4296660" ] {% endhighlight %} Verbose output (`true`): {% highlight bash %} -bitcoin-cli getmempoolancestors 52273e0ce6cf3452932cfbc1c517c0ce\ -1af1d255fda67a6e3bd63ba1d908c8c2 true +dash-cli getmempoolancestors 49a512c3d567effd4f605a6023df8b4b523\ +ac0ae7bccbaeed1c8a7db1e05e15a true {% endhighlight %} Result: {% highlight json %} { - "b104586f229e330caf42c475fd52684e9eb5e2d02f0fcd216d9554c5347b0873": { - "size": 485, - "fee": 0.00009700, - "modifiedfee": 0.00009700, - "time": 1479423635, - "height": 439431, - "startingpriority": 15327081.81818182, - "currentpriority": 21536936.36363636, - "descendantcount": 1, - "descendantsize": 485, - "descendantfees": 9700, + "d1eefe8a006e2c21b55bc97c1f5b10000d63aa6a777bb11abc0daf62e4296660": { + "size": 963, + "fee": 0.00000966, + "modifiedfee": 0.00000966, + "time": 1519160516, + "height": 79045, + "startingpriority": 4514051697.115385, + "currentpriority": 4520474899.74359, + "descendantcount": 2, + "descendantsize": 1189, + "descendantfees": 1192, "ancestorcount": 1, - "ancestorsize": 485, - "ancestorfees": 9700, - "depends": [ - ] - }, - "094f7dcbc7494510d4daeceb2941ed73b1bd011bf527f6c3b7c897fee85c11d4": { - "size": 554, - "fee": 0.00005540, - "modifiedfee": 0.00005540, - "time": 1479423327, - "height": 439430, - "startingpriority": 85074.91071428571, - "currentpriority": 3497174.4375, - "descendantcount": 1, - "descendantsize": 554, - "descendantfees": 5540, - "ancestorcount": 1, - "ancestorsize": 554, - "ancestorfees": 5540, + "ancestorsize": 963, + "ancestorfees": 966, "depends": [ ] } @@ -214,6 +195,4 @@ Result: * [GetMemPoolDescendants][rpc getmempooldescendants]: {{summary_getMemPoolDescendants}} * [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} -{% endcomment %} - {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getmempooldescendants.md b/_includes/devdoc/dash-core/rpcs/rpcs/getmempooldescendants.md index d430b6e0..c2d8c671 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getmempooldescendants.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getmempooldescendants.md @@ -9,23 +9,21 @@ http://opensource.org/licenses/MIT. {% assign summary_getMemPoolDescendants="returns all in-mempool descendants for a transaction in the mempool." %} + + {% autocrossref %} -*Added in Bitcoin Core 0.13.0* - -**_Not implemented in Dash Core (as of 0.12.2)_** - -{% comment %} +*Added in Dash Core 0.12.3* The `getmempooldescendants` RPC {{summary_getMemPoolDescendants}} *Parameter #1---a transaction identifier (TXID)* {% itemplate ntpd1 %} -- n: "Address" - t: "string" +- n: "TXID" + t: "string (hex)" p: "Required
(exactly 1)" - d: "The address whose transactions should be tallied" + d: "The TXID of a transaction in the memory pool, encoded as hex in RPC byte order" {% enditemplate %} @@ -144,67 +142,50 @@ The `getmempooldescendants` RPC {{summary_getMemPoolDescendants}} {% enditemplate %} -*Examples from Bitcoin Core 0.13.1* +*Examples from Dash Core 0.12.3* The default (`false`): {% highlight bash %} -bitcoin-cli getmempooldescendants 52273e0ce6cf3452932cfbc1c517c0\ -ce1af1d255fda67a6e3bd63ba1d908c8c2 +dash-cli getmempooldescendants 49a512c3d567effd4f605a6023df8b4b5\ +23ac0ae7bccbaeed1c8a7db1e05e15a {% endhighlight %} Result: {% highlight json %} [ - "b104586f229e330caf42c475fd52684e9eb5e2d02f0fcd216d9554c5347b0873", - "094f7dcbc7494510d4daeceb2941ed73b1bd011bf527f6c3b7c897fee85c11d4" + "49a512c3d567effd4f605a6023df8b4b523ac0ae7bccbaeed1c8a7db1e05e15a" ] {% endhighlight %} Verbose output (`true`): {% highlight bash %} -bitcoin-cli getmempooldescendants 52273e0ce6cf3452932cfbc1c517c0\ -ce1af1d255fda67a6e3bd63ba1d908c8c2 true +dash-cli getmempooldescendants 49a512c3d567effd4f605a6023df8b4b5\ +23ac0ae7bccbaeed1c8a7db1e05e15a true {% endhighlight %} Result: {% highlight json %} { - "b104586f229e330caf42c475fd52684e9eb5e2d02f0fcd216d9554c5347b0873": { - "size": 485, - "fee": 0.00009700, - "modifiedfee": 0.00009700, - "time": 1479423635, - "height": 439431, - "startingpriority": 15327081.81818182, - "currentpriority": 21536936.36363636, + "49a512c3d567effd4f605a6023df8b4b523ac0ae7bccbaeed1c8a7db1e05e15a": { + "size": 226, + "fee": 0.00000226, + "modifiedfee": 0.00000226, + "time": 1519160551, + "height": 79046, + "startingpriority": 0, + "currentpriority": 0, "descendantcount": 1, - "descendantsize": 485, - "descendantfees": 9700, - "ancestorcount": 1, - "ancestorsize": 485, - "ancestorfees": 9700, - "depends": [ - ] - }, - "094f7dcbc7494510d4daeceb2941ed73b1bd011bf527f6c3b7c897fee85c11d4": { - "size": 554, - "fee": 0.00005540, - "modifiedfee": 0.00005540, - "time": 1479423327, - "height": 439430, - "startingpriority": 85074.91071428571, - "currentpriority": 3497174.4375, - "descendantcount": 1, - "descendantsize": 554, - "descendantfees": 5540, - "ancestorcount": 1, - "ancestorsize": 554, - "ancestorfees": 5540, + "descendantsize": 226, + "descendantfees": 226, + "ancestorcount": 2, + "ancestorsize": 1189, + "ancestorfees": 1192, "depends": [ + "d1eefe8a006e2c21b55bc97c1f5b10000d63aa6a777bb11abc0daf62e4296660" ] } } @@ -215,6 +196,4 @@ Result: * [GetMemPoolAncestors][rpc getmempoolancestors]: {{summary_getMemPoolAncestors}} * [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} -{% endcomment %} - {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getmempoolentry.md b/_includes/devdoc/dash-core/rpcs/rpcs/getmempoolentry.md index b62b7679..62154513 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getmempoolentry.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getmempoolentry.md @@ -9,23 +9,21 @@ http://opensource.org/licenses/MIT. {% assign summary_getMemPoolEntry="returns mempool data for given transaction (must be in mempool)." %} + + {% autocrossref %} -*Added in Bitcoin Core 0.13.0* - -**_Not implemented in Dash Core (as of 0.12.2)_** - -{% comment %} +*Added in Dash Core 0.12.3* The `getmempoolentry` RPC {{summary_getMemPoolEntry}} *Parameter #1---a transaction identifier (TXID)* {% itemplate ntpd1 %} -- n: "Address" - t: "string" +- n: "TXID" + t: "string (hex)" p: "Required
(exactly 1)" - d: "The address whose transactions should be tallied" + d: "The TXID of a transaction in the memory pool, encoded as hex in RPC byte order" {% enditemplate %} @@ -112,34 +110,46 @@ The `getmempoolentry` RPC {{summary_getMemPoolEntry}} p: "Optional (0 or more)" d: "The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order" +- n: "→
`instantsend`" + t: "bool" + p: "Required
(exactly 1)" + d: "True if this transaction was sent as an InstantSend one" + +- n: "→
`instantlock`" + t: "bool" + p: "Required
(exactly 1)" + d: "True if this transaction was locked via InstantSend" + {% enditemplate %} -*Examples from Bitcoin Core 0.13.1* +*Examples from Dash Core 0.12.3* {% highlight bash %} -bitcoin-cli getmempoolentry 52273e0ce6cf3452932cfbc1c517c0ce1af1\ -d255fda67a6e3bd63ba1d908c8c2 +dash-cli getmempoolentry d1eefe8a006e2c21b55bc97c1f5b10000d63aa6\ +a777bb11abc0daf62e4296660 {% endhighlight %} Result: {% highlight json %} { - "size": 485, - "fee": 0.00009700, - "modifiedfee": 0.00009700, - "time": 1479423635, - "height": 439431, - "startingpriority": 15327081.81818182, - "currentpriority": 21536936.36363636, - "descendantcount": 1, - "descendantsize": 485, - "descendantfees": 9700, - "ancestorcount": 1, - "ancestorsize": 485, - "ancestorfees": 9700, - "depends": [ - ] + "size": 226, + "fee": 0.00000226, + "modifiedfee": 0.00000226, + "time": 1519159538, + "height": 79036, + "startingpriority": 0, + "currentpriority": 0, + "descendantcount": 2, + "descendantsize": 452, + "descendantfees": 452, + "ancestorcount": 1, + "ancestorsize": 226, + "ancestorfees": 226, + "depends": [ + ], + "instantsend": false, + "instantlock": false } {% endhighlight %} @@ -149,6 +159,4 @@ Result: * [GetMemPoolDescendants][rpc getmempooldescendants]: {{summary_getMemPoolDescendants}} * [GetRawMemPool][rpc getrawmempool]: {{summary_getRawMemPool}} -{% endcomment %} - {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getnetworkinfo.md b/_includes/devdoc/dash-core/rpcs/rpcs/getnetworkinfo.md index e905e6e2..1f25f110 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getnetworkinfo.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getnetworkinfo.md @@ -7,6 +7,8 @@ http://opensource.org/licenses/MIT. ##### GetNetworkInfo {% include helpers/subhead-links.md %} + + {% assign summary_getNetworkInfo="returns information about the node's connection to the network." %} {% autocrossref %} @@ -94,10 +96,15 @@ The `getnetworkinfo` RPC {{summary_getNetworkInfo}} d: "*Added in Bitcoin Core 0.11.0*

Set to `true` if randomized credentials are set for this proxy. Otherwise set to `false`" - n: "→
`relayfee`" - t: "number (Dash)" + t: "number (DASH)" p: "Required
(exactly 1)" d: "The minimum relay fee for non-free transactions in order for this node to accept it into its memory pool" +- n: "→
`incrementalfee`" + t: "number (DASH)" + p: "Required
(exactly 1)" + d: "*Added in Dash Core 0.12.3*

The minimum fee increment for mempool limiting or BIP 125 replacement in DASH/kB" + - n: "→
`localaddresses`" t: "array" p: "Required
(exactly 1)" @@ -130,7 +137,7 @@ The `getnetworkinfo` RPC {{summary_getNetworkInfo}} {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3* {% highlight bash %} dash-cli getnetworkinfo @@ -140,8 +147,8 @@ Result (actual addresses have been replaced with [RFC5737][] reserve {% highlight json %} { - "version": 120200, - "subversion": "/Dash Core:0.12.2/", + "version": 120300, + "subversion": "/Dash Core:0.12.3/", "protocolversion": 70208, "localservices": "0000000000000005", "localrelay": true, @@ -172,6 +179,7 @@ Result (actual addresses have been replaced with [RFC5737][] reserve } ], "relayfee": 0.00001000, + "incrementalfee": 0.00001000, "localaddresses": [ { "address": "192.0.2.113", diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getrawmempool.md b/_includes/devdoc/dash-core/rpcs/rpcs/getrawmempool.md index a95dc1f7..e5224288 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getrawmempool.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getrawmempool.md @@ -9,6 +9,8 @@ http://opensource.org/licenses/MIT. {% assign summary_getRawMemPool="returns all transaction identifiers (TXIDs) in the memory pool as a JSON array, or detailed information about each transaction in the memory pool as a JSON object." %} + + {% autocrossref %} The `getrawmempool` RPC {{summary_getRawMemPool}} @@ -101,6 +103,21 @@ The `getrawmempool` RPC {{summary_getRawMemPool}} p: "Required
(exactly 1)" d: "*Added in Bitcoin Core 0.12.0*

The modified fees (see `modifiedfee` above) of in-mempool descendants (including this one)" +- n: "→ →
`ancestorcount`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Dash Core 0.12.3 / Bitcoin Core 0.13.0*

The number of in-mempool ancestor transactions (including this one)" + +- n: "→ →
`ancestorsize`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Dash Core 0.12.3 / Bitcoin Core 0.13.0*

The size of in-mempool ancestors (including this one)" + +- n: "→ →
`ancestorfees`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "*Added in Dash Core 0.12.3 / Bitcoin Core 0.13.0*

The modified fees (see `modifiedfee` above) of in-mempool ancestors (including this one)" + - n: "→ →
`depends`" t: "array" p: "Required
(exactly 1)" @@ -111,28 +128,19 @@ The `getrawmempool` RPC {{summary_getRawMemPool}} p: "Optional (0 or more)" d: "The TXIDs of any unconfirmed transactions this transaction depends upon, encoded as hex in RPC byte order" +- n: "→ →
`instantsend`" + t: "bool" + p: "Required
(exactly 1)" + d: "*Added in Dash Core 0.12.3*

Set to `true` for transactions broadcast via the `ix` message (InstantSend lock requested). Set to `false` for standard (non-InstantSend) transactions" + +- n: "→ →
`instantlock`" + t: "bool" + p: "Required
(exactly 1)" + d: "*Added in Dash Core 0.12.3*

Set to `true` for locked InstantSend transactions (masternode quorum has locked the transaction inputs via `txlvote` messages). Set to `false` if the masternodes have not approved the InstantSend transaction" + {% enditemplate %} -*Changes from Bitcoin - Following items not present in Dash result* - -{% itemplate ntpd1 %} -- n: "→ TXID→
`ancestorcount`" - t: "number (int)" - p: "Required
(exactly 1)" - d: "*Added in Bitcoin Core 0.13.0*

The number of in-mempool ancestor transactions (including this one)" - -- n: "→ TXID→
`ancestorsize`" - t: "number (int)" - p: "Required
(exactly 1)" - d: "*Added in Bitcoin Core 0.13.0*

The size of in-mempool ancestors (including this one)" - -- n: "→ TXID→
`ancestorfees`" - t: "number (int)" - p: "Required
(exactly 1)" - d: "*Added in Bitcoin Core 0.13.0*

The modified fees (see `modifiedfee` above) of in-mempool ancestors (including this one)" -{% enditemplate %} - -*Examples from Dash Core 0.12.2* +*Examples from Dash Core 0.12.3* The default (`false`): @@ -158,20 +166,44 @@ Result: {% highlight json %} { - "286b3ec21e6ce5463fc712c98d86e02353525e09452113836651f3f91e562354": { - "size": 225, - "fee": 0.00000225, - "modifiedfee": 0.00000225, - "time": 1507735322, - "height": 7940, + "8fd1440ed74d3739aa4e1700e9b2fdb32bc5c138fe79dd319f965f67339eb1ce": { + "size": 372, + "fee": 0.00020000, + "modifiedfee": 0.00020000, + "time": 1519928121, + "height": 83907, + "startingpriority": 2224190635.564103, + "currentpriority": 2224190635.564103, + "descendantcount": 2, + "descendantsize": 598, + "descendantfees": 20226, + "ancestorcount": 1, + "ancestorsize": 372, + "ancestorfees": 20000, + "depends": [ + ], + "instantsend": true, + "instantlock": true + }, + "2d914d77305dd968bbd67aeb8604cf7e9d66a7df58bf5216724db69a54000f40": { + "size": 226, + "fee": 0.00000226, + "modifiedfee": 0.00000226, + "time": 1519928256, + "height": 83907, "startingpriority": 0, "currentpriority": 0, - "descendantcount": 4, - "descendantsize": 901, - "descendantfees": 902, + "descendantcount": 1, + "descendantsize": 226, + "descendantfees": 226, + "ancestorcount": 2, + "ancestorsize": 598, + "ancestorfees": 20226, "depends": [ - "2aacf53e0e15d3b4d778837792c7b6bd298edd3c41a0608586bdec41adcfe7c4" - ] + "8fd1440ed74d3739aa4e1700e9b2fdb32bc5c138fe79dd319f965f67339eb1ce" + ], + "instantsend": false, + "instantlock": false } } {% endhighlight %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getrawtransaction.md b/_includes/devdoc/dash-core/rpcs/rpcs/getrawtransaction.md index 39fabadc..77d85687 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getrawtransaction.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getrawtransaction.md @@ -7,12 +7,19 @@ http://opensource.org/licenses/MIT. ##### GetRawTransaction {% include helpers/subhead-links.md %} + + {% assign summary_getRawTransaction="gets a hex-encoded serialized transaction or a JSON object describing the transaction. By default, Dash Core only stores complete transaction data for UTXOs and your own transactions, so the RPC may fail on historic transactions unless you use the non-default `txindex=1` in your Dash Core startup settings." %} {% autocrossref %} The `getrawtransaction` RPC {{summary_getRawTransaction}} +Note: By default this function only works for mempool transactions. If the +`-txindex` option is enabled, it also works for blockchain transactions. For now, +it also works for transactions with unspent outputs although this feature is +deprecated. + {{reindexNote}} *Parameter #1---the TXID of the transaction to get* @@ -31,7 +38,7 @@ The `getrawtransaction` RPC {{summary_getRawTransaction}} - n: "Format" t: "bool" p: "Optional
(0 or 1)" - d: "For Dash:
Set to `0` (the default) to return the serialized transaction as hex. Set to `1` to return a decoded transaction.

*Updated in Bitcoin Core 0.14.0*

Set to `false` (the default) to return the serialized transaction as hex. Set to `true` to return a decoded transaction. Before 0.14.0, use `0` and `1`, respectively" + d: "*Updated in Dash Core 0.12.3 / Bitcoin Core 0.14.0*

Set to `false` (the default) to return the serialized transaction as hex. Set to `true` to return a decoded transaction. Before 0.12.3, use `0` and `1`, respectively" {% enditemplate %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/getwalletinfo.md b/_includes/devdoc/dash-core/rpcs/rpcs/getwalletinfo.md index f4754ec0..0f945f96 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/getwalletinfo.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/getwalletinfo.md @@ -37,6 +37,11 @@ The `getwalletinfo` RPC {{summary_getWalletInfo}} p: "Required
(exactly 1)" d: "The total confirmed balance of the wallet. The same as returned by the `getbalance` RPC with default parameters" +- n: "→
`privatesendbalance`" + t: "number (dash)" + p: "Required
(exactly 1)" + d: "*Added in Dash Core 0.12.3*

The total PrivateSend balance of the wallet" + - n: "→
`unconfirmed_balance`" t: "number (dash)" p: "Required
(exactly 1)" @@ -109,7 +114,7 @@ The `getwalletinfo` RPC {{summary_getWalletInfo}} {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3* {% highlight bash %} dash-cli -testnet getwalletinfo @@ -121,6 +126,7 @@ Result: { "walletversion": 61000, "balance": 3000.00000000, + "privatesend_balance": 413.20413200, "unconfirmed_balance": 10.10000000, "immature_balance": 11.25000000, "txcount": 267, diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/gobject.md b/_includes/devdoc/dash-core/rpcs/rpcs/gobject.md index 01617726..19850f2e 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/gobject.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/gobject.md @@ -423,7 +423,79 @@ Result (wrapped): The `gobject count` RPC returns the count of governance objects and votes. -*Parameters: none* +*Parameter #1---mode* + +{% itemplate ntpd1 %} +- n: "`mode`" + t: "string" + p: "Optional
(exactly 1)" + d: "Result return format:
`json` (default)
`all` - Default before Dash Core 0.12.3 (for backwards compatibility)" + +{% enditemplate %} + + +**Command Mode - `json`** + +*Result---count of governance objects and votes* + +{% itemplate ntpd1 %} +- n: "Result" + t: "object" + p: "Required
(exactly 1)" + d: "Information about the governance object" + +- n: "→
`objects_total`" + t: "int" + p: "Required
(exactly 1)" + d: "Total object count" + +- n: "→
`proposals`" + t: "int" + p: "Required
(exactly 1)" + d: "Proposal count" + +- n: "→
`triggers`" + t: "int" + p: "Required
(exactly 1)" + d: "Trigger count" + +- n: "→
`other`" + t: "int" + p: "Required
(exactly 1)" + d: "Non-proposal/trigger count" + +- n: "→
`erased`" + t: "int" + p: "Required
(exactly 1)" + d: "Erased count" + +- n: "→
`votes`" + t: "int" + p: "Required
(exactly 1)" + d: "Vote count" + +{% enditemplate %} + +*Example from Dash Core 0.12.3 (mode: `json`/default)* + +{% highlight bash %} +dash-cli -testnet gobject count +{% endhighlight %} + +Result (wrapped): +{% highlight json %} +{ + "objects_total": 177, + "proposals": 177, + "triggers": 0, + "other": 0, + "erased": 5, + "votes": 9680 +} +{% endhighlight %} + + +**Command Mode - `all`** *Result---count of governance objects and votes* @@ -435,10 +507,10 @@ The `gobject count` RPC returns the count of governance objects and votes. {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3 (mode: `all`)* {% highlight bash %} -dash-cli -testnet gobject count +dash-cli -testnet gobject count all {% endhighlight %} Result (wrapped): @@ -717,7 +789,7 @@ The `gobject getvotes` RPC gets all votes for a governance object hash (includin - n: "→
Vote Info" t: "string" p: "Required
(1 or more)" - d: "Key: vote-hash

Value: vinMasternode, time, outcome, and signal of the vote" + d: "Key: vote-hash

Value: Masternode's unspent outpoint, time, outcome, and signal of the vote" {% enditemplate %} @@ -731,13 +803,13 @@ dash-cli -testnet gobject getvotes 78941af577f639ac94440e4855a1ed8f\ Result (truncated): {% highlight json %} { - "174aaba65982d25a23f437e2a66ec3836146ba7b7ce5b3fe2d5476907f7079d9": "CTxIn(COutPoint(2eab488e3a7b030303de0d18e357ce17a9fc6b8876705d61076bbe923b2e5fc8, 1), scriptSig=):1509354047:YES:DELETE", - "216cbc42addec1a6b83e1f2b0b3779594bd879f5671dd76a9826cc690c68286d": "CTxIn(COutPoint(b0320c1eff10ccb5e26086017a09e77dacb30fdcafccb3d98db3e5b610b9f1bd, 1), scriptSig=):1509117256:YES:DELETE", - "aa4dc9d3b9e74e8c1ffc725b737d07f8a32e43c64907e4bea19e64a86135f08a": "CTxIn(COutPoint(af9f5646ace92f76b3a01b0abe08716a0a7ded64074c2d2e712c93174b9013d1, 1), scriptSig=):1508866932:YES:FUNDING", - "73dd135ea7bece0f2047de75d8ca04f2985daebed9568d28ee58a60a12a2a082": "CTxIn(COutPoint(8e3fee7f668fed7019588be616225c6c4762ee632470878b2dc8eae3f0b3f67d, 1), scriptSig=):1508866932:YES:FUNDING", - "d13b9c5c28bbc8684a7291961a1023abbbe65b534804d0629fb44166cc1a6148": "CTxIn(COutPoint(08b2dbffd61d927bc12c20f6853513f41fbf7737446632b13c7ca0df8c6da282, 1), scriptSig=):1508866932:YES:FUNDING", - "8a4283d457d8635b43c6fa6cbf865813a80d965c777e8ba07364eb6468200ae1": "CTxIn(COutPoint(76c40abd280441b75577e99e9e4f253f9281a7deb4feebff83860f9cede7a09b, 1), scriptSig=):1508866932:YES:FUNDING", - "313e19607813cb0db3b3fb477982b4d3418f13f8511295419df8fe1f7ff6668f": "CTxIn(COutPoint(0fd502f28b9a9a256d9ba29a047c375fe2823b6e76e4853af16e079a709ab72a, 1), scriptSig=):1508866932:YES:FUNDING" + "174aaba65982d25a23f437e2a66ec3836146ba7b7ce5b3fe2d5476907f7079d9": "2eab488e3a7b030303de0d18e357ce17a9fc6b8876705d61076bbe923b2e5fc8-1:1509354047:YES:DELETE", + "216cbc42addec1a6b83e1f2b0b3779594bd879f5671dd76a9826cc690c68286d": "b0320c1eff10ccb5e26086017a09e77dacb30fdcafccb3d98db3e5b610b9f1bd-1:1509117256:YES:DELETE", + "aa4dc9d3b9e74e8c1ffc725b737d07f8a32e43c64907e4bea19e64a86135f08a": "af9f5646ace92f76b3a01b0abe08716a0a7ded64074c2d2e712c93174b9013d1-1:1508866932:YES:FUNDING", + "73dd135ea7bece0f2047de75d8ca04f2985daebed9568d28ee58a60a12a2a082": "8e3fee7f668fed7019588be616225c6c4762ee632470878b2dc8eae3f0b3f67d-1:1508866932:YES:FUNDING", + "d13b9c5c28bbc8684a7291961a1023abbbe65b534804d0629fb44166cc1a6148": "08b2dbffd61d927bc12c20f6853513f41fbf7737446632b13c7ca0df8c6da282-1:1508866932:YES:FUNDING", + "8a4283d457d8635b43c6fa6cbf865813a80d965c777e8ba07364eb6468200ae1": "76c40abd280441b75577e99e9e4f253f9281a7deb4feebff83860f9cede7a09b-1:1508866932:YES:FUNDING", + "313e19607813cb0db3b3fb477982b4d3418f13f8511295419df8fe1f7ff6668f": "0fd502f28b9a9a256d9ba29a047c375fe2823b6e76e4853af16e079a709ab72a-1:1508866932:YES:FUNDING" } {% endhighlight %} @@ -785,11 +857,11 @@ dash-cli -testnet gobject getcurrentvotes 78941af577f639ac94440e4855a1ed8f\ Result (truncated): {% highlight json %} { - "174aaba65982d25a23f437e2a66ec3836146ba7b7ce5b3fe2d5476907f7079d9": "CTxIn(COutPoint(2eab488e3a7b030303de0d18e357ce17a9fc6b8876705d61076bbe923b2e5fc8, 1), scriptSig=):1509354047:YES:DELETE", - "444d4d871ec35479804f060c733f516908382642ec2dfce6044a59fcadfdcd60": "CTxIn(COutPoint(18e496fe85b61ac9a5fcaec1ef683c7e3fc9bce4a83c883608427ecfb1002fca, 1), scriptSig=):1508866932:YES:FUNDING", - "d49a472c62e9d8105931829fc50ef6c6ce04a230507646ee0eaa615e863ef3a0": "CTxIn(COutPoint(18e496fe85b61ac9a5fcaec1ef683c7e3fc9bce4a83c883608427ecfb1002fca, 1), scriptSig=):1509117071:YES:DELETE", - "78442507441d4524d2493b8568d130415c1eb394adb2fe38d6ffeb199115bc5d": "CTxIn(COutPoint(3df7fb192e21c34da99bdd10c34e58ecaf3f3c37d6b2289f0ffedba5050188cc, 1), scriptSig=):1509312524:YES:DELETE", - "aa4dc9d3b9e74e8c1ffc725b737d07f8a32e43c64907e4bea19e64a86135f08a": "CTxIn(COutPoint(af9f5646ace92f76b3a01b0abe08716a0a7ded64074c2d2e712c93174b9013d1, 1), scriptSig=):1508866932:YES:FUNDING", + "174aaba65982d25a23f437e2a66ec3836146ba7b7ce5b3fe2d5476907f7079d9": "2eab488e3a7b030303de0d18e357ce17a9fc6b8876705d61076bbe923b2e5fc8-1:1509354047:YES:DELETE", + "444d4d871ec35479804f060c733f516908382642ec2dfce6044a59fcadfdcd60": "18e496fe85b61ac9a5fcaec1ef683c7e3fc9bce4a83c883608427ecfb1002fca-1:1508866932:YES:FUNDING", + "d49a472c62e9d8105931829fc50ef6c6ce04a230507646ee0eaa615e863ef3a0": "18e496fe85b61ac9a5fcaec1ef683c7e3fc9bce4a83c883608427ecfb1002fca-1:1509117071:YES:DELETE", + "78442507441d4524d2493b8568d130415c1eb394adb2fe38d6ffeb199115bc5d": "3df7fb192e21c34da99bdd10c34e58ecaf3f3c37d6b2289f0ffedba5050188cc-1:1509312524:YES:DELETE", + "aa4dc9d3b9e74e8c1ffc725b737d07f8a32e43c64907e4bea19e64a86135f08a": "af9f5646ace92f76b3a01b0abe08716a0a7ded64074c2d2e712c93174b9013d1-1:1508866932:YES:FUNDING", } {% endhighlight %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/importmulti.md b/_includes/devdoc/dash-core/rpcs/rpcs/importmulti.md index 32810d77..de8dfe10 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/importmulti.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/importmulti.md @@ -7,15 +7,14 @@ http://opensource.org/licenses/MIT. ##### ImportMulti {% include helpers/subhead-links.md %} + + {% assign summary_importMulti="imports addresses or scripts (with private keys, public keys, or P2SH redeem scripts) and optionally performs the minimum necessary rescan for all imports." %} {% autocrossref %} -*Added in Bitcoin Core 0.14.0* +*Added in Dash Core 0.12.3 / Bitcoin Core 0.14.0* -{{WARNING_ICON}} **_Not implemented in Dash Core (as of 0.12.2)_** - -{% comment %} *Requires wallet support. Wallet must be unlocked.* The `importmulti` RPC {{summary_importMulti}} @@ -123,27 +122,27 @@ The `importmulti` RPC {{summary_importMulti}} p: "Optional
(0 or 1)" d: "The error code" -- n: "→ → →
`message`" +- n: "→ → →
`message`" t: "string" p: "Optional
(0 or 1)" d: "The error message" {% enditemplate %} -*Example from Bitcoin Core 0.14.1* +*Example from Dash Core 0.12.3* -Import the address 1NL9w5fP9kX2D9ToNZPxaiwFJCngNYEYJo (giving it a label and scanning the entire block chain) and the scriptPubKey 76a9149e857da0a5b397559c78c98c9d3f7f655d19c68688ac (giving a specific timestamp and label): +Import the address `ycCsAUKsjdmoP4qAXiS1cjYA4ixM48zJWe` (giving it a label and scanning the entire block chain) and the scriptPubKey `76a9146cf5870411edc31ba5630d61c7cddff55b884fda88ac` (giving a specific timestamp and label): {% highlight bash %} -bitcoin-cli importmulti ' +dash-cli importmulti ' [ { - "scriptPubKey" : { "address": "1NL9w5fP9kX2D9ToNZPxaiwFJCngNYEYJo" }, + "scriptPubKey" : { "address": "ycCsAUKsjdmoP4qAXiS1cjYA4ixM48zJWe" }, "timestamp" : 0, "label" : "Personal" }, { - "scriptPubKey" : "76a9149e857da0a5b397559c78c98c9d3f7f655d19c68688ac", + "scriptPubKey" : "76a9146cf5870411edc31ba5630d61c7cddff55b884fda88ac", "timestamp" : 1493912405, "label" : "TestFailure" } @@ -153,18 +152,18 @@ bitcoin-cli importmulti ' Result (scriptPubKey import failed because `internal` was not set to `true`): {% highlight json %} - [ - { - "success": true - }, - { - "success": false, - "error": { +[ + { + "success": true + }, + { + "success": false, + "error": { "code": -8, "message": "Internal must be set for hex scriptPubKey" - } } - ] + } +] {% endhighlight %} *See also* @@ -173,6 +172,4 @@ Result (scriptPubKey import failed because `internal` was not set to `true`): * [ImportAddress][rpc importaddress]: {{summary_importAddress}} * [ImportWallet][rpc importwallet]: {{summary_importWallet}} -{% endcomment %} - {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/importprunedfunds.md b/_includes/devdoc/dash-core/rpcs/rpcs/importprunedfunds.md index 7f4c2631..d3dc8892 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/importprunedfunds.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/importprunedfunds.md @@ -7,15 +7,14 @@ http://opensource.org/licenses/MIT. ##### ImportPrunedFunds {% include helpers/subhead-links.md %} + + {% assign summary_importPrunedFunds="imports funds without the need of a rescan. Meant for use with pruned wallets." %} {% autocrossref %} -*Added in Bitcoin Core 0.13.0* +*Added in Dash Core 0.12.3 / Bitcoin Core 0.13.0* -{{WARNING_ICON}} **_Not implemented in Dash Core (as of 0.12.2)_** - -{% comment %} *Requires wallet support.* The `importprunedfunds` RPC {{summary_importPrunedFunds}} Corresponding address or script must previously be included in wallet. @@ -52,7 +51,7 @@ outputs or rescan after the point in the blockchain the transaction is included. {% enditemplate %} -*Example from Bitcoin Core 0.13.1* +*Example from Dash Core 0.12.3* {% highlight bash %} bitcoin-cli importprunedfunds "txhex" "txoutproof" @@ -65,6 +64,4 @@ bitcoin-cli importprunedfunds "txhex" "txoutproof" * [ImportPrivKey][rpc importprivkey]: {{summary_importPrivKey}} * [RemovePrunedFunds][rpc removeprunedfunds]: {{summary_removePrunedFunds}} -{% endcomment %} - {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/listaddressbalances.md b/_includes/devdoc/dash-core/rpcs/rpcs/listaddressbalances.md new file mode 100644 index 00000000..6deed894 --- /dev/null +++ b/_includes/devdoc/dash-core/rpcs/rpcs/listaddressbalances.md @@ -0,0 +1,63 @@ +{% comment %} +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/listaddressbalances.md" %} + +##### ListAddressBalances +{% include helpers/subhead-links.md %} + +{% assign summary_listAddressBalances="lists addresses of this wallet and their balances" %} + + + +{% autocrossref %} + +The `listaddressbalances` RPC {{summary_listAddressBalances}} + +*Parameter #1---Minimum Amount* + +{% itemplate ntpd1 %} +- n: "Minimum Amount" + t: "numeric (int)" + p: "Optional
(0 or 1)" + d: "Minimum balance in DASH an address should have to be shown in the list (default=0)" + +{% enditemplate %} + +*Result---an object containing the addresses and their balances* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "object" + p: "Required
(exactly 1)" + d: "An object containing key/value pairs corresponding to the addresses with balances > the minimum amount. May be empty" + +- n: "→
Address/Amount" + t: "string (base58):
number (DASH)" + p: "Optional
(1 or more)" + d: "A key/value pair with a base58check-encoded string containing the address as the key, and an amount of DASH as the value" + +{% enditemplate %} + +*Example from Dash Core 0.12.3* + +{% highlight bash %} +dash-cli -testnet listaddressbalances 25 +{% endhighlight %} + +Result: +{% highlight json %} +{ + "yMQtQkcMBXrAZyqTGZeg7tQHzmbypGEP4w": 299.99990000, + "yRyfgrHm4f5A8GGvqpqTFvbCrCQHJm1L4V": 99.13570000, + "ybePwhPzUbiWzFhkgxPgP6iHnTLTyFH6sU": 123.45600000, + "ycCdPQnjNEVRgrQY8j6mxEx9h7oaQpo5Ge": 500.00000000 +} +{% endhighlight %} + +*See also:* + +* [ListAddressGroupings][rpc listaddressgroupings]: {{summary_listAddressGroupings}} + +{% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/listaddressgroupings.md b/_includes/devdoc/dash-core/rpcs/rpcs/listaddressgroupings.md index 52aaca26..4d15ba83 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/listaddressgroupings.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/listaddressgroupings.md @@ -91,5 +91,6 @@ Result (edited to only three results): * [GetAddressesByAccount][rpc getaddressesbyaccount]: {{summary_getAddressesByAccount}} * [GetTransaction][rpc gettransaction]: {{summary_getTransaction}} +* [ListAddressBalances][rpc listaddressbalances]: {{summary_listAddressBalances}} {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/listunspent.md b/_includes/devdoc/dash-core/rpcs/rpcs/listunspent.md index 4763d8af..11a5ce3d 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/listunspent.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/listunspent.md @@ -54,6 +54,17 @@ the *spendable* field in the results described below. {% enditemplate %} +*Parameter #4---include unsafe outputs* + +{% itemplate ntpd1 %} +- n: "Include Unsafe" + t: "bool" + p: "Optional
(false or true)" + d: "Include outputs that are not safe to spend because they come from unconfirmed untrusted transactions or unconfirmed replacement transactions (cases where we are less sure that a conflicting transaction won't be mined). Default is `true`" + +{% enditemplate %} + + *Result---the list of unspent outputs* {% itemplate ntpd1 %} @@ -107,11 +118,6 @@ the *spendable* field in the results described below. p: "Required
(exactly 1)" d: "The number of confirmations received for the transaction containing this output" -- n: "→ →
`ps_rounds`" - t: "number (int)" - p: "Required
(exactly 1)" - d: "The number of PrivateSend rounds" - - n: "→ →
`spendable`" t: "bool" p: "Required
(exactly 1)" @@ -122,9 +128,14 @@ the *spendable* field in the results described below. p: "Required
(exactly 1)" d: "*Added in Bitcoin Core 0.13.0*

Set to `true` if the wallet knows how to spend this output. Set to `false` if the wallet does not know how to spend the output. It is ignored if the private keys are available " +- n: "→ →
`ps_rounds`" + t: "number (int)" + p: "Required
(exactly 1)" + d: "The number of PrivateSend rounds" + {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3* Get all outputs confirmed at least 6 times for a particular address: @@ -132,7 +143,7 @@ address: {% highlight bash %} dash-cli -testnet listunspent 6 99999999 ''' [ - "yTQNnbby2yhxoK1UtL9E5J9epGtkAoFWSm" + "yXGNabkdQ3JZ7LZ9RCnFe5dqhtBA3hVmU8" ] ''' {% endhighlight %} @@ -142,15 +153,15 @@ Result: {% highlight json %} [ { - "txid": "52e34eec71a4cf95c043b76567f55cec1bc293c444810d454a2d05f2a819b5ed", - "vout": 3, - "address": "yTQNnbby2yhxoK1UtL9E5J9epGtkAoFWSm", - "scriptPubKey": "76a9144db791c2388be4716f048be2648bafe1944f787688ac", + "txid": "0e86f58c56648175362443c1ef28e473acb4c4adc1b3f7983deaddfa3a61a4d7", + "vout": 4, + "address": "yXGNabkdQ3JZ7LZ9RCnFe5dqhtBA3hVmU8", + "scriptPubKey": "76a91478149277b5d820b04e60cbf96ff81fd1ccc6533388ac", "amount": 0.01000010, - "confirmations": 113, - "ps_rounds": 4, + "confirmations": 609, "spendable": true, - "solvable": true + "solvable": true, + "ps_rounds": 5 } ] {% endhighlight %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/masternode.md b/_includes/devdoc/dash-core/rpcs/rpcs/masternode.md index 4c380e0b..071813bf 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/masternode.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/masternode.md @@ -30,7 +30,7 @@ The `masternode count` RPC prints the number of all known masternode - n: "Mode" t: "string (hex)" p: "Optional
(exactly 1)" - d: "Which masternodes to count:
`ps` - PrivateSend capable,
`enabled` - Enabled,
`all` - All,
`qualify` - Eligible for payment" + d: "Which masternodes to count:
`total` - Pre-0.12.3 default result,
`ps` - PrivateSend capable,
`enabled` - Enabled,
`all` - All,
`qualify` - Eligible for payment" {% enditemplate %} @@ -38,13 +38,33 @@ The `masternode count` RPC prints the number of all known masternode {% itemplate ntpd1 %} - n: "`result`" - t: "string (hex)" + t: "object" p: "Required
(exactly 1)" - d: "Transaction ID for the collateral transaction" + d: "Masternode count by mode" + +- n: "→
`total`" + t: "int" + p: "Required
(exactly 1)" + d: "Count of all masternodes" + +- n: "→
`ps_compatible`" + t: "int" + p: "Required
(exactly 1)" + d: "Count of PrivateSend compatible masternodes" + +- n: "→
`enabled`" + t: "int" + p: "Required
(exactly 1)" + d: "Count of enabled masternodes" + +- n: "→
`qualify`" + t: "int" + p: "Required
(exactly 1)" + d: "Count of masternodes qualified to receive payment" {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3* {% highlight bash %} dash-cli -testnet masternode count @@ -52,10 +72,28 @@ dash-cli -testnet masternode count Result: {% highlight bash %} -120 +{ + "total": 142, + "ps_compatible": 13, + "enabled": 13, + "qualify": 6 +} {% endhighlight %} -Get summarized count of all masternodes + +**Get summarized count of all masternodes** + +*Result---summary of known masternodes* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "string" + p: "Required
(exactly 1)" + d: "Summary of masternodes in each state" + +{% enditemplate %} + +*Example from Dash Core 0.12.3* {% highlight bash %} dash-cli -testnet masternode count all @@ -66,6 +104,29 @@ Result: Total: 129 (PS Compatible: 97 / Enabled: 97 / Qualify: 90) {% endhighlight %} +**Get total count of all masternodes (default output of `masternode count` pre-0.12.3)** + +*Result---number of known masternodes in mode* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "int" + p: "Required
(exactly 1)" + d: "Number of masternodes" + +{% enditemplate %} + +*Example from Dash Core 0.12.3* + +{% highlight bash %} +dash-cli -testnet masternode count total +{% endhighlight %} + +Result: +{% highlight bash %} +142 +{% endhighlight %} + {% endautocrossref %} ###### Masternode Current diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/masternodelist.md b/_includes/devdoc/dash-core/rpcs/rpcs/masternodelist.md index 2f54f3bd..d51aa6ac 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/masternodelist.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/masternodelist.md @@ -7,6 +7,8 @@ http://opensource.org/licenses/MIT. ##### MasternodeList {% include helpers/subhead-links.md %} + + {% assign summary_masternodeList="returns a list of masternodes in different modes." %} {% autocrossref %} @@ -23,14 +25,16 @@ The `masternodelist` RPC {{summary_masternodeList}} {% enditemplate %} -*Mode Options* +*Mode Options (Default=json)* Mode | Description --- | --- | --- | `activeseconds` | Print number of seconds masternode recognized by the network as enabled (since latest issued \"masternodestart/start-many/start-alias\") `addr` | Print ip address associated with a masternode (can be additionally filtered, partial match) +`daemon` | Print daemon version of a masternode (can be additionally filtered, exact match) `full` | Print info in format 'status protocol payee lastseen activeseconds lastpaidtime lastpaidblock IP' (can be additionally filtered, partial match) `info` | Print info in format 'status protocol payee lastseen activeseconds sentinelversion sentinelstate IP' (can be additionally filtered, partial match) +`json` (Default) | Print info in JSON format (can be additionally filtered, partial match) `lastpaidblock` | Print the last block height a node was paid on the network `lastpaidtime` | Print the last time a node was paid on the network `lastseen` | Print timestamp of when a masternode was last seen on the network @@ -38,7 +42,8 @@ Mode | Description `protocol` | Print protocol of a masternode (can be additionally filtered, exact match) `pubkey` | Print the masternode (not collateral) public key `rank` | Print rank of a masternode based on current block -`status` | Print masternode status: PRE_ENABLED / ENABLED / EXPIRED / WATCHDOG_EXPIRED / NEW_START_REQUIRED / UPDATE_REQUIRED / POSE_BAN / OUTPOINT_SPENT (can be additionally filtered, partial match) +`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) *Parameter #2---List filter* @@ -65,7 +70,7 @@ Mode | Description {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3* Get unfiltered Masternode list in default mode @@ -76,43 +81,123 @@ dash-cli -testnet masternodelist Result: {% highlight json %} { - "6125fc1da46cd2fdd013b1fbb02144367a95feffd379c08064f38de0e3deb80c-1": "NEW_START_REQUIRED", - "a4676419793d232359dfd7240bf1b0635b56f2a16aac4cb57f7e9ba459d50116-1": "ENABLED", - "2b5142cc7b5472cb34a28e7e1fdefe14f0b1ad4cc9fa9cdc68a169423c18c31d-1": "ENABLED", - "4573c2ba5d9d3f8fd2f903cd0f448ee0ad0ff7e20d8f44a14cfce0bdc894c627-1": "ENABLED", - "08c91dfff1f465b70377007426cd5edc37678991c9a864e39072409a5a0fd22a-1": "ENABLED", - "e3a6b7878a7e9413898bb379b323c521676f9d460db17ec3bf42d9ac0c9a432f-1": "ENABLED", - "866d66b88afed15ed1a936b680ace1a99e0ca14d0242bc2983c5fdd2c16c1637-1": "NEW_START_REQUIRED", - "97034d0cfabef04388f3eb1c78a064607f8ed42013ed0fb821361d6592f03338-0": "ENABLED", - "3003df6b886ed4b0cc84453d8034a546da03fc1052c2088b6b38fd84a4f6fa3f-1": "ENABLED", - "61c4696947438861222d7e992a049bfd2ed87f71eb806d8a111c973215141b59-1": "ENABLED", - "ea7e0a87aa823aa65d111ed767a4a02f55b3cd361cbd250908db00822e72fb59-1": "ENABLED", - "f7851e7f670afa3e758d857c48d477b2f3e1ee37f22de2ca4a852f3885d32e6d-1": "EXPIRED", - "f977fba1db0fd32708f0b9488be3806fed6f013a28630cff25ba06abd1f63d72-1": "ENABLED", - "b418a47e8dfbdbb8eb88c1a153bef27dcbdb057eb136b2bb93b439fe74b8c174-1": "ENABLED", - "7c17695bdccc617410164882bd8b5fb7bf4f5a3dceb0a7476800e161cba1c57f-1": "NEW_START_REQUIRED", - "547a86612325ff23945b052a023537aaa68140920143bbf42bd10aec33348487-1": "ENABLED", - "2c2cf299fdca7c07f820b1bc46bd786a1d57ac6c3d2e76ac24a5ba7641066488-0": "ENABLED", - "75fdd0e1dea139333b71f06f3f2a7440629b3cd106e655ae50b56df7d9aa788b-1": "ENABLED", - "320f83802b37f4bbf881cb565bb6e0884615d6b022a81a837cd3716f8dbcec93-0": "ENABLED", - "049f30949af536b0a866f7d39d05447405565160399d12b4f0796936e8b9b9a7-1": "ENABLED", - "0512f77ebceaf288386e9a050e3c80652c7bfb6e993659ded2dff43eae6904ac-1": "EXPIRED", - "94ce1c802de83977fbed283806a1ebef2dcb5539ce9b6c5627c5ac1d844b48bb-1": "ENABLED", - "b0320c1eff10ccb5e26086017a09e77dacb30fdcafccb3d98db3e5b610b9f1bd-1": "ENABLED", - "2eab488e3a7b030303de0d18e357ce17a9fc6b8876705d61076bbe923b2e5fc8-1": "ENABLED", - "18e496fe85b61ac9a5fcaec1ef683c7e3fc9bce4a83c883608427ecfb1002fca-1": "ENABLED", - "2fb6c98b37f1fce1c35b556e5f175dd77939f08c1687ad468d37fc677d297dd6-1": "ENABLED", - "1e2502158eb22e53c07dbae483e89ebd7fb27e2c0412147d4d376b99df1d94db-1": "ENABLED", - "cd0ee654eb517b8b5c36cfa09e1e5344d1766dc71406a112564636b7aef8c9db-1": "ENABLED", - "4222505288507e0f1abc32f0323cce1d6c4d22c8e785adb0cf8075b70ae92ddf-1": "EXPIRED", - "9f0cd683f88f79f757c6d68515dfb2b9fa5b65239b3c5f4487916aa233b9a4e0-1": "ENABLED", - "2102df0dec504b4bd3a1e80b320c5205fe1a8b2fb1366be83c407f048fd62ce6-1": "ENABLED", - "c6585f4ba88875eb2edc376b9ae24b74fd8c0ef89288923cf16a8fe2787b7ce8-1": "ENABLED", - "b454dd0efc19657f8d56a750385b90ebfb53dce5182a21238b225d6cbb3307f0-1": "NEW_START_REQUIRED", - "400f193988092f779104bab20eec042a2686a9903b1bbc84ece7539fd41103f3-1": "ENABLED", - "a087bcb1c2f7fc71f081f2d8eeeeb4928ae21af2087c3d77ce5a5c4e88ec26f4-1": "ENABLED", - "100a6ef1f9c660cfc6e47dab9905d7ca2a435f1870aba46847eae6503e2858fd-1": "ENABLED", - "bbbe50330423337a13501e6273663884f7cb9b475f6d5cf090ba3dabc611d9fe-1": "ENABLED" + "83ab0eaeffc212fab5aea4a3057fba51dafdfa6da8b29c3f0de62ed9319fea03-0": { + "address": "203.0.113.1:19999", + "payee": "yiz8WZ9VY9F7SyGuc8mXj6wrDERs6T47B1", + "status": "ENABLED", + "protocol": 70208, + "daemonversion": "Unknown", + "sentinelversion": "1.0.2", + "sentinelstate": "current", + "lastseen": 1520876844, + "activeseconds": 3389581, + "lastpaidtime": 1520868832, + "lastpaidblock": 89879 + }, + "33a833559acc50b63e0909a550d10af26f41043382a9eed30e5218df5adf5304-1": { + "address": "203.0.113.2:39999", + "payee": "yfY21tLcuKtohnkKtwBQXzEKFapwuhb9FE", + "status": "ENABLED", + "protocol": 70208, + "daemonversion": "Unknown", + "sentinelversion": "1.1.0", + "sentinelstate": "current", + "lastseen": 1520876480, + "activeseconds": 2110895, + "lastpaidtime": 1520866020, + "lastpaidblock": 89862 + }, + "54754314335419cc04ef09295ff7765c8062a6123486aed55fd7e9b04f300b13-0": { + "address": "203.0.113.3:20019", + "payee": "ycn5RWc4Ruo35FTS8bJwugVyCEkfVcrw9a", + "status": "NEW_START_REQUIRED", + "protocol": 70208, + "daemonversion": "Unknown", + "sentinelversion": "Unknown", + "sentinelstate": "expired", + "lastseen": 1517843286, + "activeseconds": 0, + "lastpaidtime": 1520873295, + "lastpaidblock": 89898 + }, + "a4676419793d232359dfd7240bf1b0635b56f2a16aac4cb57f7e9ba459d50116-1": { + "address": "203.0.113.4:19999", + "payee": "ydZHEVgMX67xsi97BhN8KoacN6SCMz6Xho", + "status": "SENTINEL_PING_EXPIRED", + "protocol": 70208, + "daemonversion": "Unknown", + "sentinelversion": "1.0.2", + "sentinelstate": "expired", + "lastseen": 1520876776, + "activeseconds": 7694877, + "lastpaidtime": 0, + "lastpaidblock": 0 + }, + "3d64bd65cb84b935278420de3673cba33470a1e1996c4debfccb5d722254404c-1": { + "address": "203.0.113.5:19999", + "payee": "ySkDc9dHns1AFcjJzGqNmkNnErjakcB2Bp", + "status": "ENABLED", + "protocol": 70208, + "daemonversion": "Unknown", + "sentinelversion": "1.0.2", + "sentinelstate": "current", + "lastseen": 1520876576, + "activeseconds": 10796968, + "lastpaidtime": 1520876143, + "lastpaidblock": 89922 + }, + "54355b4b4d26b84821dab6e0e1c0bded7d8fefc72414f22f45515d1732f1c8e6-1": { + "address": "203.0.113.6:29999", + "payee": "yPk4NCyqvWjeJbE3tW1wmJ9LV2wgVLiYRT", + "status": "ENABLED", + "protocol": 70208, + "daemonversion": "Unknown", + "sentinelversion": "1.1.0", + "sentinelstate": "current", + "lastseen": 1520876323, + "activeseconds": 2110746, + "lastpaidtime": 1520875985, + "lastpaidblock": 89920 + }, + "c6585f4ba88875eb2edc376b9ae24b74fd8c0ef89288923cf16a8fe2787b7ce8-1": { + "address": "203.0.113.7:19999", + "payee": "yP1UHNx26ShYLej56SbHiTiPAUv2QppbUv", + "status": "SENTINEL_PING_EXPIRED", + "protocol": 70208, + "daemonversion": "Unknown", + "sentinelversion": "1.0.2", + "sentinelstate": "expired", + "lastseen": 1520876884, + "activeseconds": 7694986, + "lastpaidtime": 0, + "lastpaidblock": 0 + }, + "b7d45ac3d8c5ddea9ff90d81d92d362e09713a06b2a0089f49c7deb9b2521fef-0": { + "address": "203.0.113.8:19999", + "payee": "yN4iFe7a2G6YYoBtUXcoyixCTV3vDzWSrS", + "status": "NEW_START_REQUIRED", + "protocol": 70208, + "daemonversion": "Unknown", + "sentinelversion": "1.0.2", + "sentinelstate": "current", + "lastseen": 1508842770, + "activeseconds": 416775, + "lastpaidtime": 0, + "lastpaidblock": 0 + }, + "5ef4e5c9d09f6fb927b7b815ea2736ddfce468021d49704acfc3bb7939b425ff-1": { + "address": "203.0.113.9:19999", + "payee": "yPwTQgY8JDFaDjAgUdHmapG4SmzY6SDbE9", + "status": "ENABLED", + "protocol": 70208, + "daemonversion": "Unknown", + "sentinelversion": "1.1.0", + "sentinelstate": "current", + "lastseen": 1520876862, + "activeseconds": 2111317, + "lastpaidtime": 1520872118, + "lastpaidblock": 89892 + } } {% endhighlight %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/preciousblock.md b/_includes/devdoc/dash-core/rpcs/rpcs/preciousblock.md index 3c0d25f3..9057814e 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/preciousblock.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/preciousblock.md @@ -7,15 +7,13 @@ http://opensource.org/licenses/MIT. ##### PreciousBlock {% include helpers/subhead-links.md %} + + {% assign summary_preciousBlock="treats a block as if it were received before others with the same work." %} {% autocrossref %} -*Added in Bitcoin Core 0.14.0* - -**_Not implemented in Dash Core (as of 0.12.2)_** - -{% comment %} +*Added in Dash Core 0.12.3 / Bitcoin Core 0.14.0* The `preciousblock` RPC {{summary_preciousBlock}} A later `preciousblock` call can override the effect of an earlier one. The effects of `preciousblock` are not retained across restarts. @@ -39,15 +37,13 @@ The `preciousblock` RPC {{summary_preciousBlock}} A later `preciousblock` call c {% enditemplate %} -*Example from Bitcoin Core 0.14.1* +*Example from Dash Core 0.12.3* {% highlight bash %} -bitcoin-cli preciousblock 000000000000000001517a0bac70b8cd6f27ee\ -1b50a8f12bf606ea6fb6d561cd +dash-cli preciousblock 00000000034d77e287b63922a94f12e8c4ab9e\ +1d8056060fd51f6153ea5dc757 {% endhighlight %} -Result (no output from `bitcoin-cli` because result is set to `null`). - -{% endcomment %} +Result (no output from `dash-cli` because result is set to `null`). {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/privatesend.md b/_includes/devdoc/dash-core/rpcs/rpcs/privatesend.md index ff886173..bd303a9b 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/privatesend.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/privatesend.md @@ -11,6 +11,8 @@ http://opensource.org/licenses/MIT. {% autocrossref %} +As of Dash Core 0.12.3, client-side mixing is not supported on masternodes. + The `privatesend` RPC {{summary_privateSend}} {% itemplate ntpd1 %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/pruneblockchain.md b/_includes/devdoc/dash-core/rpcs/rpcs/pruneblockchain.md index 6fec51d4..9d8050ad 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/pruneblockchain.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/pruneblockchain.md @@ -7,15 +7,13 @@ http://opensource.org/licenses/MIT. ##### PruneBlockChain {% include helpers/subhead-links.md %} + + {% assign summary_pruneBlockChain="prunes the blockchain up to a specified height or timestamp." %} {% autocrossref %} -*Added in Bitcoin Core 0.14.0* - -**_Not implemented in Dash Core (as of 0.12.2)_** - -{% comment %} +*Added in Dash Core 0.12.3 / Bitcoin Core 0.14.0* The `pruneblockchain` RPC {{summary_pruneBlockChain}} The `-prune` option needs to be enabled (disabled by default). @@ -39,10 +37,10 @@ The `pruneblockchain` RPC {{summary_pruneBlockChain}} The `-prune` option needs {% enditemplate %} -*Examples from Bitcoin Core 0.14.1* +*Examples from Dash Core 0.12.3* {% highlight bash %} -bitcoin-cli pruneblockchain 413555 +dash-cli pruneblockchain 413555 {% endhighlight %} Result: @@ -55,6 +53,4 @@ Result: * [ImportPrunedFunds][rpc importprunedfunds]: {{summary_importPrunedFunds}} -{% endcomment %} - {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/removeprunedfunds.md b/_includes/devdoc/dash-core/rpcs/rpcs/removeprunedfunds.md index c93b44e1..e4bdd83f 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/removeprunedfunds.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/removeprunedfunds.md @@ -7,15 +7,14 @@ http://opensource.org/licenses/MIT. ##### RemovePrunedFunds {% include helpers/subhead-links.md %} + + {% assign summary_removePrunedFunds="deletes the specified transaction from the wallet. Meant for use with pruned wallets and as a companion to importprunedfunds." %} {% autocrossref %} -*Added in Bitcoin Core 0.13.0* +*Added in Dash Core 0.12.3 / Bitcoin Core 0.13.0* -{{WARNING_ICON}} **_Not implemented in Dash Core (as of 0.12.2)_** - -{% comment %} *Requires wallet support.* The `removeprunedfunds` RPC {{summary_removePrunedFunds}} This will effect wallet balances. @@ -40,11 +39,11 @@ The `removeprunedfunds` RPC {{summary_removePrunedFunds}} This will effect walle {% enditemplate %} -*Example from Bitcoin Core 0.13.1* +*Example from Dash Core 0.12.3* {% highlight bash %} -bitcoin-cli removeprunedfunds a8d0c0184dde994a09ec054286f1ce581b\ -ebf46446a512166eae7628734ea0a5 +dash-cli removeprunedfunds bb7daff525b83fa6a847ab50bf7f8f14d6\ +22761a19f69157b362ef3f25bda687 {% endhighlight %} (Success: no result displayed.) @@ -54,6 +53,4 @@ ebf46446a512166eae7628734ea0a5 * [ImportPrivKey][rpc importprivkey]: {{summary_importPrivKey}} * [ImportPrunedFunds][rpc importprunedfunds]: {{summary_importPrunedFunds}} -{% endcomment %} - {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/setbip69enabled.md b/_includes/devdoc/dash-core/rpcs/rpcs/setbip69enabled.md new file mode 100644 index 00000000..c6dd21c5 --- /dev/null +++ b/_includes/devdoc/dash-core/rpcs/rpcs/setbip69enabled.md @@ -0,0 +1,48 @@ +{% comment %} +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/setbip69enabled.md" %} + +##### SetBIP69Enabled +{% include helpers/subhead-links.md %} + +{% assign summary_setBIP69Enabled="enables or disables BIP69 input/output sorting (regtest network only)" %} + + + +{% autocrossref %} + +The `setbip69enabled` RPC {{summary_setBIP69Enabled}} + +*Parameter #1---enable/disable BIP69 sorting (regtest only)* + +{% itemplate ntpd1 %} +- n: "`enable`" + t: "boolean" + p: "Required
(exactly 1)" + d: "Set to true to turn on BIP69 sorting, false to turn off." + +{% enditemplate %} + +*Result---`null` or error on failure* + +{% itemplate ntpd1 %} +- n: "`result`" + t: "null" + p: "Required
(exactly 1)" + d: "JSON `null`. The JSON-RPC error field will be set only if you entered an invalid parameter" + +{% enditemplate %} + +*Example from Dash Core 0.12.3* + +{% highlight bash %} +dash-cli -testnet setbip69enabled true +{% endhighlight %} + +Result (no output from `dash-cli` because result is set to `null`). + +*See also: none* + +{% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/setgenerate.md b/_includes/devdoc/dash-core/rpcs/rpcs/setgenerate.md index 7b8bcdf4..9de1db84 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/setgenerate.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/setgenerate.md @@ -7,13 +7,15 @@ http://opensource.org/licenses/MIT. ##### SetGenerate {% include helpers/subhead-links.md %} -{% assign summary_setGenerate="enables or disables hashing to attempt to find the next block." %} +{% assign summary_setGenerate="was removed in Dash Core 0.12.3." %} + + {% autocrossref %} *Requires wallet support.* -*Removed in Bitcoin Core 0.13.0.* +**_Removed in Dash Core 0.12.3 / Bitcoin Core 0.13.0._** The `setgenerate` RPC {{summary_setGenerate}} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/signmessagewithprivkey.md b/_includes/devdoc/dash-core/rpcs/rpcs/signmessagewithprivkey.md index c0388145..234da417 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/signmessagewithprivkey.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/signmessagewithprivkey.md @@ -9,19 +9,18 @@ http://opensource.org/licenses/MIT. {% assign summary_signMessageWithPrivKey="signs a message with a given private key." %} + + {% autocrossref %} -*Added in Bitcoin Core 0.13.0* +*Added in Dash Core 0.12.3 / Bitcoin Core 0.13.0* -{{WARNING_ICON}} **_Not implemented in Dash Core (as of 0.12.2)_** - -{% comment %} The `signmessagewithprivkey` RPC {{summary_signMessageWithPrivKey}} *Parameter #1---the private key to sign with* {% itemplate ntpd1 %} -- n: "Privat Key" +- n: "Private Key" t: "string (base58)" p: "Required
(exactly 1)" d: "The private key to sign the message with encoded in base58check using wallet import format (WIF)" @@ -44,23 +43,23 @@ The `signmessagewithprivkey` RPC {{summary_signMessageWithPrivKey}} - n: "`result`" t: "string (base64)" p: "Required
(exactly 1)" - d: "The signature of the message, encoded in base64. Note that Bitcoin Core before 0.10.0 creates signatures with random *k* values, so each time you sign the same message, it will create a different signature" + d: "The signature of the message, encoded in base64." {% enditemplate %} -*Example from Bitcoin Core 0.13.1* +*Example from Dash Core 0.12.3* Sign a the message "Hello, World!" using the following private key: {% highlight bash %} -bitcoin-cli signmessagewithprivkey 5HpHagT65TZzG1PH3CSu63k8DbpvD\ -8s5ip4nEB3kEsreKamq6aB "Hello, World!" +dash-cli signmessagewithprivkey cNKbZBqUCjuBRSnAJWwFWxKESJ5Lw\ +G4uxBSJ1UeBNBGVRupFKr6S "Hello, World!" {% endhighlight %} Result: {% highlight text %} -G+ZauMFgQExAJRKZSldbAVEaZo4i0p2AVivbFASo50PkUnynAMDUiNMVdXDlpYMWvatxCmYmLn8C9zygPRn3Y1c= +IBx8jxFjutPlcZcFdQPlA2n/B4yTrYhH43qYJURKRj7LWhSD0ERE/nnRLOnXi/gwULUcqfqOKqnqkSvuJjlgEvc= {% endhighlight %} *See also* @@ -68,6 +67,4 @@ G+ZauMFgQExAJRKZSldbAVEaZo4i0p2AVivbFASo50PkUnynAMDUiNMVdXDlpYMWvatxCmYmLn8C9zyg * [SignMessage][rpc signmessage]: {{summary_signMessage}} * [VerifyMessage][rpc verifymessage]: {{summary_verifyMessage}} -{% endcomment %} - {% endautocrossref %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/spork.md b/_includes/devdoc/dash-core/rpcs/rpcs/spork.md index 2ac92546..385f6e96 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/spork.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/spork.md @@ -44,7 +44,7 @@ To display the status of sporks, use the `show` or `active` syntax. {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3* {% highlight bash %} dash-cli -testnet spork show @@ -55,12 +55,12 @@ Result: { "SPORK_2_INSTANTSEND_ENABLED": 0, "SPORK_3_INSTANTSEND_BLOCK_FILTERING": 0, - "SPORK_5_INSTANTSEND_MAX_VALUE": 1000, + "SPORK_5_INSTANTSEND_MAX_VALUE": 3000, + "SPORK_6_NEW_SIGS": 4000000000, "SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT": 0, "SPORK_9_SUPERBLOCKS_ENABLED": 0, "SPORK_10_MASTERNODE_PAY_UPDATED_NODES": 0, "SPORK_12_RECONSIDER_BLOCKS": 0, - "SPORK_13_OLD_SUPERBLOCK_FLAG": 4070908800, "SPORK_14_REQUIRE_SENTINEL_FLAG": 0 } {% endhighlight %} @@ -82,7 +82,7 @@ Result: {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3* {% highlight bash %} dash-cli -testnet spork active @@ -94,11 +94,11 @@ Result: "SPORK_2_INSTANTSEND_ENABLED": true, "SPORK_3_INSTANTSEND_BLOCK_FILTERING": true, "SPORK_5_INSTANTSEND_MAX_VALUE": true, + "SPORK_6_NEW_SIGS": false, "SPORK_8_MASTERNODE_PAYMENT_ENFORCEMENT": true, "SPORK_9_SUPERBLOCKS_ENABLED": true, "SPORK_10_MASTERNODE_PAY_UPDATED_NODES": true, "SPORK_12_RECONSIDER_BLOCKS": true, - "SPORK_13_OLD_SUPERBLOCK_FLAG": false, "SPORK_14_REQUIRE_SENTINEL_FLAG": true } {% endhighlight %} diff --git a/_includes/devdoc/dash-core/rpcs/rpcs/validateaddress.md b/_includes/devdoc/dash-core/rpcs/rpcs/validateaddress.md index 35b8ce6d..b70a942c 100644 --- a/_includes/devdoc/dash-core/rpcs/rpcs/validateaddress.md +++ b/_includes/devdoc/dash-core/rpcs/rpcs/validateaddress.md @@ -101,6 +101,11 @@ The `validateaddress` RPC {{summary_validateAddress}} p: "Optional
(0 or 1)" d: "*Deprecated: will be removed in a later version of Bitcoin Core*

The account this address belong to. May be an empty string for the default account. Only returned if the address belongs to the wallet" +- n: "→
`timestamp`" + t: "number (int)" + p: "Optional
(0 or 1)" + d: "*Added in Dash Core 0.12.3*

The creation time of the key if available in seconds since epoch (Jan 1 1970 GMT)" + - n: "→
`hdkeypath`" t: "string" p: "Optional
(0 or 1)" @@ -113,7 +118,7 @@ The `validateaddress` RPC {{summary_validateAddress}} {% enditemplate %} -*Example from Dash Core 0.12.2* +*Example from Dash Core 0.12.3* Validate the following P2PKH address from the wallet: @@ -133,7 +138,8 @@ Result: "isscript": false, "pubkey": "02eacba539d92eb88d4e73bb32749d79f53f6e8d7947ac40a71bd4b26c13b6ec29", "iscompressed": true, - "account": "Test" + "account": "Msig 1", + "timestamp": 0 } {% endhighlight %} @@ -162,6 +168,7 @@ Result: ], "sigsrequired": 2, "account": "test account" + "timestamp": 0 } {% endhighlight %} diff --git a/_includes/devdoc/example_intro.md b/_includes/devdoc/example_intro.md index 68616452..1cbd739b 100644 --- a/_includes/devdoc/example_intro.md +++ b/_includes/devdoc/example_intro.md @@ -26,6 +26,13 @@ Once installed, you'll have access to three programs: `dashd`, * `dash-cli` allows you to send RPC commands to `dashd` from the command line. For example, `dash-cli help` +{% endautocrossref %} + +### Configuration file + + +{% autocrossref %} + All three programs get settings from `dash.conf` in the `DashCore` application directory: @@ -53,8 +60,8 @@ directory: chmod 0600 dash.conf ~~~ -For development, it's safer and cheaper to use Dash's test network (testnet) -or regression test mode (regtest) described below. +For development, it's safer and cheaper to use Dash's test network (testnet), +regression test mode (regtest), or a develper network (devnet) described below. Questions about Dash use are best sent to the [Dash forum][forum tech support] and [Discord channels][Discord channels]. Errors or suggestions related to diff --git a/_includes/devdoc/example_testing.md b/_includes/devdoc/example_testing.md index 1184c7ea..b0b18465 100644 --- a/_includes/devdoc/example_testing.md +++ b/_includes/devdoc/example_testing.md @@ -109,3 +109,63 @@ configuration directory locations on various operating systems. Always back up mainnet wallets before performing dangerous operations such as deleting.) {% endautocrossref %} + +### Devnet Mode +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +Developer networks (devnets) have some aspects of testnet and some aspects of +regtest. Unlike testnet, multiple independent devnets can be created and coexist +without interference. Each one is identified by a name which is hardened into a +"devnet genesis" block, which is automatically positioned at height 1. Validation +rules will ensure that a node from `devnet=test1` never be able to +accept blocks from `devnet=test2`. This is done by checking the +expected devnet genesis block. + +The genesis block of the devnet is the same as the one from regtest. This +starts the devnet with a very low difficulty, allowing quick generation of a +sufficient balance to create a masternode. + +The devnet name is put into the sub-version of the `version` message. +If a node connects to the wrong network, it will immediately be disconnected. + +To use devnet, use the argument `-devnet=` with `dash-cli`, +`dashd`or `dash-qt` or add `devnet=` to your `dash.conf` file as +[described earlier](#configuration-file). + +Devnets must be assigned both `-port` and `-rpcport` unless they are not +listening (`-listen=0`). It is possible to run a devnet on a private (RFC1918) +network by using the `-allowprivatenet=1` argument. + +{% endautocrossref %} + +Example devnet start command: + +{% highlight bash %} +> dashd -devnet=mydevnet -rpcport=18998 -port=18999 -daemon +Dash Core server starting +{% endhighlight %} + +{% autocrossref %} + +You can now use Dash Core RPCs prefixed with `dash-cli -devnet=`. + +Devnet wallets and block chain state (chainstate) are saved in the `devnet-` +subdirectory of the Dash Core configuration directory. You can safely +delete the `devnet-` subdirectory and restart Dash Core to +start a new devnet. (See the [Developer Examples Introduction][devexamples] for default +configuration directory locations on various operating systems. Always back up +mainnet wallets before performing dangerous operations such as deleting.) + +Eventually, there may be many public and/or private devnets that vary in size +and function. Providing the correct devnet name and the seed node of the network +will be all that is required to join. + +An old devnet can be easily dropped and a new one started just by destroying all +nodes and recreating them with a new devnet name. This works best in combination +with an automated deployment using something like Ansible and Terraform. The +[Dash Cluster Ansible](https://github.com/dashpay/dash-cluster-ansible) provides +a way to do this (currently a work-in-progress at an early development stage). + +{% endautocrossref %} diff --git a/_includes/devdoc/guide_dash_features.md b/_includes/devdoc/guide_dash_features.md index 3c143916..c612bdfe 100644 --- a/_includes/devdoc/guide_dash_features.md +++ b/_includes/devdoc/guide_dash_features.md @@ -74,11 +74,18 @@ transaction lock, it reverts to being a standard transaction. There are a number of limitations on InstantSend transactions: -* To be used in an InstantSend transaction, an input must have 6+ confirmations (a block depth of 6+) (`INSTANTSEND_CONFIRMATIONS_REQUIRED`) * The lock request will timeout 15 seconds after the first vote is seen (`INSTANTSEND_LOCK_TIMEOUT_SECONDS`) * The lock request will fail if it has not been locked after 60 seconds (`INSTANTSEND_FAILED_TIMEOUT_SECONDS`) * A minimum fee (0.0001 Dash) is required since the transaction involves the masternodes in addition to miners. This fee was most recently decreased by [DIP-0001](https://github.com/dashpay/dips/blob/master/dip-0001.md). +* To be used in an InstantSend transaction, an input must have at least the number confirmations (block depth) indicated by the table below + +| **Network** | **Confirmations Required** | +|---------|--------------| +| Mainnet | 6 Blocks | +| Testnet | 2 Blocks | +| Regtest | 2 Blocks | +| Devnet | 2 Blocks | {% endautocrossref %} @@ -138,10 +145,15 @@ directly without requiring additional inputs or creating change (for example, **Creating Collaterals** PrivateSend collaterals are used to pay mixing fees, but are kept separate from -the denominations to maximize privacy. The collateral fees are 0.001 DASH for +the denominations to maximize privacy. The minimum collateral fee is 0.001 DASH for all mixing sessions regardless of denomination. In Dash Core, collaterals are created with enough value to pay 4 collateral fees (4 x 0.001 DASH). ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/privatesend.h#L313)) +In protocol version 70208, collateral inputs can be anything from 2x the +minimum collateral amount to the maximum collateral amount (currently defined as +4x the minimum collateral). In protocol versions > 70208, Dash Core can use any +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) @@ -191,10 +203,12 @@ mixing pool. * The `dsa` message contains a collateral transaction * This transaction uses a collateral input created in the [Wallet Preparation](#privatesend-wallet-preparation) phase * The collateral is a signed transaction that pays the collateral back to a client address minus a fee of 0.001 DASH + * As of protocol version 70209, the `dsa` message indicates how many inputs will be provided to the pool when Spork 6 is active _**Step 3 - Queue**_ * A masternode broadcasts `dsq` messages when it starts a new queue. These message are relayed by all peers. + * As of protocol version 70209, when Spork 6 is active the `dsq` message indicates how many inputs must be provided to participate in the pool. * Once the masternode has received valid `dsa` messages from 3 clients (`nPoolMaxTransactions`), it sends a `dsq` message with the ready bit set ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/chainparams.cpp#L173)) * Clients must respond to the Queue ready within 30 seconds or risk forfeiting the collateral they provided in the `dsa` message (Step 1) ([Dash Core Reference](https://github.com/dashpay/dash/blob/e596762ca22d703a79c6880a9d3edb1c7c972fd3/src/privatesend.h#L22)) diff --git a/_includes/devdoc/guide_p2p_network.md b/_includes/devdoc/guide_p2p_network.md index 67db64f3..7ef46a5d 100644 --- a/_includes/devdoc/guide_p2p_network.md +++ b/_includes/devdoc/guide_p2p_network.md @@ -104,11 +104,13 @@ and a function to use them, but I don't see that function being used in any of the examples/wallet templates (but I'm not Java fluent, so maybe PEBKAC). -@harding --> -Dash Core also include a hardcoded list of IP -addresses and port numbers to several dozen nodes which were active -around the time that particular version of the software was first -released. Dash Core will start attempting to connect to these nodes -if none of the DNS seed servers have responded to a query within 60 +Dash Core also includes a hardcoded list of IP addresses and port numbers to +several dozen nodes which were active around the time that particular +version of the software was first released. Starting with Dash Core 0.12.3, +masternodes are used for the seed list since they must remain online to receive +their portion of the block reward (good availability) and must be compliant with +consensus rules (reliable). Dash Core will start attempting to connect to these +nodes if none of the DNS seed servers have responded to a query within 60 seconds, providing an automatic fallback option. As a manual fallback option, Dash Core also provides several diff --git a/_includes/devdoc/ref_p2p_networking.md b/_includes/devdoc/ref_p2p_networking.md index 76ac0ed5..3f4afbcb 100644 --- a/_includes/devdoc/ref_p2p_networking.md +++ b/_includes/devdoc/ref_p2p_networking.md @@ -7,6 +7,8 @@ http://opensource.org/licenses/MIT. ## P2P Network {% include helpers/subhead-links.md %} + + {% autocrossref %} This section describes the Dash P2P network protocol (but it is [not a @@ -37,6 +39,7 @@ The following constants and defaults are taken from Dash Core's | Mainnet | 9999 | 0xBD6B0CBF | 0xBF0C6BBD | 0x1e0ffff0 | Testnet | 19999 | 0xFFCAE2CE | 0xCEE2CAFF | 0x1e0ffff0 | Regtest | 19994 | 0xDCB7C1FC | 0xFCC1B7DC | 0x207fffff +| Devnet | User-defined | 0xCEFFCAE2 | 0xE2CAFFCE | 0x207fffff Note: the testnet start string and nBits above are for testnet3. @@ -63,11 +66,12 @@ 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.12.2.0, the most recent protocol version is 70208. +As of Dash Core 0.12.3.0, the most recent protocol version is 70210. | Version | Initial Release | Major Changes |---------|------------------------------------|-------------- -| 70208 | Dash Core 0.12.2.x
(Nov 2017) | • DIP-0001 (2MB blocks)
• Fee reduction (10x)
• InstantSend fix
• PrivateSend improvements
• _Experimental_ HD wallet
• Local Masternode support removed +| 70210 | Dash Core 0.12.3.x
(July 2018) | • Named Devnets
• New signature format / Spork 6 addition
• Bitcoin Core 0.13/0.14 backports
• [BIP90][]: Buried deployments
• [BIP147][]: NULLYDUMMY enforcement
• [BIP152][] Compact Blocks
• Transaction version increased to 2
• Zero fee transactions removed
• Pruning in Lite Mode +| 70208 | Dash Core 0.12.2.x
(Nov 2017) | • [DIP1][] (2MB blocks)
• Fee reduction (10x)
• InstantSend fix
• PrivateSend improvements
• _Experimental_ HD wallet
• Local Masternode support removed | 70206 | Dash Core 0.12.1.x
(Mar 2017) | • Switch to Bitcoin Core 0.12.1
• BIP-0065 (CheckLockTimeVerify)
• BIP-0112 (CheckSequenceVerify) | 70103 | Dash Core 0.12.0.x
(Aug 2015) | • Switch to Bitcoin Core 0.10
• Decentralized budget system
• New IX implementation | 70076 | Dash Core 0.11.2.x
(Mar 2015) | • Masternode enhancements
• Mining/relay policy enhancements
• BIP-66 - strict DER encoding for signatures @@ -169,8 +173,9 @@ The currently-available type identifiers are: | 17 | [`MSG_GOVERNANCE_OBJECT`][msg_governance_object]{:#term-msg_governance_object}{:.term} | The hash is a Governance Object. | 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.** -Type identifier zero and type identifiers greater than nineteen are reserved +Type identifier zero and type identifiers greater than twenty are reserved for future implementations. Dash Core ignores all inventories with one of these unknown types. @@ -199,6 +204,207 @@ different reasons: {% endautocrossref %} +#### Blocktxn +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +*Added in protocol version 70209 of Dash Core as described by BIP152* + +The `blocktxn` message sends requested block transactions to a node which +previously requested them with a `getblocktxn` message. It is defined as a message +containing a serialized `BlockTransactions` message. + +Upon receipt of a properly-formatted requested `blocktxn` message, nodes should: + +1. Attempt to reconstruct the full block by taking the prefilledtxn transactions from the original `cmpctblock` message and placing them in the marked positions +2. For each short transaction ID from the original `cmpctblock` message, in order, find the corresponding transaction (from either the `blocktxn` message or from other sources) +3. Place each short transaction ID in the first available position in the block +4. Once the block has been reconstructed, it shall be processed as normal. + +**Short transaction IDs are expected to occasionally collide. Nodes must +not be penalized for such collisions.** + +The structure of `BlockTransactions` is defined below. + +| Bytes | Name | Data Type | Encoding | Description| +|----------|----------------------|----------------------|----------|------------| +| 32 | blockhash | Binary blob | The output from a double-SHA256 of the block header, as used elsewhere | The blockhash of the block which the transactions being provided are in +| 1 or 3 | transactions
_length | CompactSize | As used to encode array lengths elsewhere | The number of transactions provided +| *Varies* | transactions | List of transactions | As encoded in `tx` messages in response to `getdata MSG_TX` | The transactions provided + +The following annotated hexdump shows a `blocktxn` message. (The +message header has been omitted.) + +{% highlight text %} +182327cb727da7d60541da793831fd0ab0509e79c8cd +3d654cdf3a0100000000 ....................... Block Hash + +01 ......................................... Transactions Provided: 1 + +Transaction(s) +| Transaction 1 +| | 01000000 ................................ Transaction Version: 1 +| | 01 ...................................... Input count: 1 +| | +| | Transaction input #1 +| | | +| | | 0952617a516d956e2ecee71a6adc249f +| | | 4bb757adcc409452ab98c8e55c31e62a ..... Outpoint TXID +| | | 00000000 ............................. Outpoint index number: 0 +| | | +| | | 6b ................................... Bytes in sig. script: 107 +| | | 483045022100d10edf447252e1e69ff1 +| | | 77330bb2c889a50be02e00cc5d79c0d0 +| | | 79ae56518fc40220245d36905dc950fc +| | | d55694cfde8cde3109dc80b12aca3a6e +| | | 332033802ee36e1b01210272cc6e7660 +| | | 2648831d8e80fca8eb24369cd0f23ff0 +| | | 79cf20ae9d9beee05de6db ............... Secp256k1 signature +| | | +| | | ffffffff ............................. Sequence number: UINT32_MAX +| | +| | 02 ..................................... Number of outputs: 02 +| | +| | Transaction output #1 +| | | 0be0f50500000000 ..................... Duffs (0.99999755 Dash) +| | | +| | | 19 ................................... Bytes in pubkey script: 25 +| | | | 76 ................................. OP_DUP +| | | | a9 ................................. OP_HASH160 +| | | | 14 ................................. Push 20 bytes as data +| | | | | 923d91ed359f650eec6ea8b9030b340d +| | | | | ea63d590 ......................... PubKey hash +| | | | 88 ................................. OP_EQUALVERIFY +| | | | ac ................................. OP_CHECKSIG +| | +| | [...] .................................. 1 more tx output omitted +| | +| | 00000000 ............................... locktime: 0 (a block height) +{% endhighlight %} + +{% endautocrossref %} + +#### CmpctBlock +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +*Added in protocol version 70209 of Dash Core as described by BIP152* + +The `cmpctblock` message is a reply to a `getdata` message which +requested a block using the inventory type `MSG_CMPCT_BLOCK`. If the +requested block was recently announced and is close to the tip of the +best chain of the receiver and after having sent the requesting peer +a `sendcmpct` message, nodes respond with a `cmpctblock` message containing +data for the block. + +**If the requested block is too old, the node responds with a *full non-compact block*** + +Upon receipt of a `cmpctblock` message, after sending a `sendcmpct` message, +nodes should calculate the short transaction ID for each unconfirmed +transaction they have available (i.e. in their mempool) and compare each +to each short transaction ID in the `cmpctblock` message. After finding +already-available transactions, nodes which do not have all transactions +available to reconstruct the full block should request the missing transactions +using a `getblocktxn` message. + +A node must not send a `cmpctblock` message unless they are able to respond to +a `getblocktxn` message which requests every transaction in the block. A node +must not send a `cmpctblock` message without having validated that the header properly +commits to each transaction in the block, and properly builds on top of the existing, +fully-validated chain with a valid proof-of-work either as a part of the current most-work +valid chain, or building directly on top of it. A node may send a `cmpctblock` message before +validating that each transaction in the block validly spends existing UTXO set entries. + +The `cmpctblock` message contains a vector of `PrefilledTransaction` whose +structure is defined below. A `PrefilledTransaction` is used in `HeaderAndShortIDs` +to provide a list of a few transactions explicitly. + +| Bytes | Name | Data Type | Encoding | Description| +|----------|----------------------|----------------------|----------|------------| +| 1 or 3 | index | CompactSize | Compact Size, differentially encoded since the last PrefilledTransaction in a list | The index into the block at which this transaction is +| *Varies* | tx | Transaction | As encoded in `tx` messages sent in response to `getdata MSG_TX` | Transaction which is in the block at index `index` + +The `cmpctblock` message is compromised of a serialized `HeaderAndShortIDs` +structure which is defined below. A `HeaderAndShortIDs` structure is used to +relay a block header, the short transactions IDs used for matching +already-available transactions, and a select few transactions which +we expect a peer may be missing. + +| Bytes | Name | Data Type | Encoding | Description| +|----------|----------------------|----------------------|----------|------------| +| 80 | header | Block header | First 80 bytes of the block as defined by the encoding used by `block` messages | The header of the block being provided +| 8 | nonce | uint64_t | Little Endian | A nonce for use in short transaction ID calculations +| 1 or 3 | shortids_
length | CompactSize | As used to encode array lengths elsewhere | The number of short transaction IDs in `shortids` (i.e. block tx count - `prefilledtxn`
`_length`) +| *Varies* | shortids | List of 6-byte integers | Little Endian | The short transaction IDs calculated from the transactions which were not provided explicitly in `prefilledtxn` +| 1 or 3 | prefilledtxn
_length | CompactSize | As used to encode array lengths elsewhere | The number of prefilled transactions in `prefilledtxn` (i.e. block tx count - `shortids`
`_length`) +| *Varies* | prefilledtxn | List of Prefilled
Transactions | As defined by `Prefilled`
`Transaction` definition below | Used to provide the coinbase transaction and a select few which we expect a peer may be missing + +**Short Transaction ID calculation** + +Short transaction IDs are used to represent a transaction without sending a full 256-bit hash. They are calculated as follows, + +* A single-SHA256 hashing the block header with the nonce appended (in little-endian) +* Running SipHash-2-4 with the input being the transaction ID and the keys (k0/k1) set to the first two little-endian 64-bit integers from the above hash, respectively. +* Dropping the 2 most significant bytes from the SipHash output to make it 6 bytes. + + +The following annotated hexdump shows a `cmpctblock` message. (The +message header has been omitted.) + +{% highlight text %} +00000020981178a4342cec6316296b2ad84c9b7cdf9f +2688e5d0fe1a0003cd0000000000f64870f52a3d0125 +1336c9464961216732b25fbf288a51f25a0e81bffb20 +e9600194d85a64a50d1cc02b0181 ................ Block Header + +3151b67e5b418b9d ............................ Nonce + +01 .......................................... Short IDs Length: 1 +483edcd3c799 ................................ Short IDs + +01 .......................................... Prefilled Transaction Length: 1 + +Prefilled Transactions +| 00 ........................................ Index: 0 +| +| Transaction 1 (Coinbase) +| | 01000000 ................................ Transaction Version: 1 +| | 01 ...................................... Input count: 1 +| | +| | Transaction input #1 +| | | +| | | 00000000000000000000000000000000 +| | | 00000000000000000000000000000000 ..... Outpoint TXID +| | | ffffffff ............................. Outpoint index number: UINT32_MAX +| | | +| | | 13 ................................... Bytes in sig. script: 19 +| | | 03daaf010e2f5032506f6f6c2d74444153482f Secp256k1 signature +| | | +| | | ffffffff ............................. Sequence number: UINT32_MAX +| | +| | 04 ..................................... Number of outputs: 04 +| | +| | Transaction output #1 +| | | ffe5654200000000 ..................... Duffs (11.13974271 Dash) +| | | +| | | 19 ................................... Bytes in pubkey script: 25 +| | | | 76 ................................. OP_DUP +| | | | a9 ................................. OP_HASH160 +| | | | 14 ................................. Push 20 bytes as data +| | | | | b885cb21ad12e593c1a46d814df47ccb +| | | | | 450a7d84 ......................... PubKey hash +| | | | 88 ................................. OP_EQUALVERIFY +| | | | ac ................................. OP_CHECKSIG +| | +| | [...] .................................. 3 more tx outputs omitted +| | +| | 00000000 ............................... locktime: 0 (a block height) +{% endhighlight %} + +{% endautocrossref %} + #### GetBlocks {% include helpers/subhead-links.md %} @@ -251,6 +457,46 @@ d39f608a7775b537729884d4e6633bb2 {% endautocrossref %} +#### GetBlockTxn +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +*Added in protocol version 70209 of Dash Core as described by BIP152* + +The `getblocktxn` message requests a `blocktxn` message for any transactions +that it has not seen after a compact block is received. It is defined as a +message containing a serialized `BlockTransactionsRequest` message. Upon receipt +of a properly-formatted `getblocktxn` message, nodes which recently provided the +sender of such a message with a `cmpctblock` message for the block hash +identified in this message must respond with either an appropriate +`blocktxn` message, or a full block message. + +A `blocktxn` message response must contain exactly and only each transaction +which is present in the appropriate block at the index specified in the +`getblocktxn` message indexes list, in the order requested. + +The structure of `BlockTransactionsRequest` is defined below. + +| Bytes | Name | Data Type | Encoding | Description| +|----------|-----------------|----------------------|----------|------| +| 32 | blockhash | Binary blob | The output from a double-SHA256 of the block header, as used elsewhere | The blockhash of the block which the transactions being requested are in +| *Varies* | indexes_length | CompactSize uint | As used to encode array lengths elsewhere | The number of transactions requested +| *Varies* | indexes | CompactSize uint[] | Differentially encoded | Vector of compactSize containing the indexes of the transactions being requested in the block. + +The following annotated hexdump shows a `getblocktxn` message. (The +message header has been omitted.) + +{% highlight text %} +182327cb727da7d60541da793831fd0a +b0509e79c8cd3d654cdf3a0100000000 ... Block Hash + +01 ................................. Index length: 1 +01 ................................. Index: 1 +{% endhighlight %} + +{% endautocrossref %} + #### GetData {% include helpers/subhead-links.md %} @@ -263,7 +509,7 @@ node typically previously received by way of an `inv` message. The response to a `getdata` message can be a `tx` message, `block` message, `merkleblock` message, `ix` message, `txlvote` message, `mnw` message, `mnb` message, `mnp` message, `dstx` message, `govobj` message, -`govobjvote` message, `mnv` message, or `notfound` message. +`govobjvote` message, `mnv` message, `notfound` message, or `cmpctblock` message. This message cannot be used to request arbitrary data, such as historic transactions no longer in the memory pool or relay set. Full nodes may @@ -1238,6 +1484,18 @@ ascending code number (primary) and alphabetic in reply to (secondary) --> | 0x10 | `ix` message | 32 | char[32] | InstantSend transaction is invalid for some reason (invalid tx lock request, conflicting tx lock request, etc.). Extra data may include the rejected transaction's TXID. | 0x11 | `block` message | 32 | char[32] | The block uses a version that is no longer supported. Extra data may include the rejected block's header hash. | 0x11 | `version` message | 0 | N/A | Connecting node is using a protocol version that the rejecting node considers obsolete and unsupported. +| 0x11 | `dsa` message | 0 | N/A | Connecting node is using a PrivateSend protocol version that the rejecting node considers obsolete and unsupported. +| 0x11 | `dsi` message | 0 | N/A | Connecting node is using a PrivateSend protocol version that the rejecting node considers obsolete and unsupported. +| 0x11 | `dsc` message | 0 | N/A | Connecting node is using a PrivateSend protocol version that the rejecting node considers obsolete and unsupported. +| 0x11 | `dsf` message | 0 | N/A | Connecting node is using a PrivateSend protocol version that the rejecting node considers obsolete and unsupported. +| 0x11 | `dsq` message | 0 | N/A | Connecting node is using a PrivateSend protocol version that the rejecting node considers obsolete and unsupported. +| 0x11 | `dssu` message | 0 | N/A | Connecting node is using a PrivateSend protocol version that the rejecting node considers obsolete and unsupported. +| 0x11 | `govsync` message | 0 | N/A | Connecting node is using a governance protocol version that the rejecting node considers obsolete and unsupported. +| 0x11 | `govobj` message | 0 | N/A | Connecting node is using a governance protocol version that the rejecting node considers obsolete and unsupported. +| 0x11 | `govobjvote` message | 0 | N/A | Connecting node is using a governance protocol version that the rejecting node considers obsolete and unsupported. +| 0x11 | `mnget` message | 0 | N/A | Connecting node is using a masternode payment protocol version that the rejecting node considers obsolete and unsupported. +| 0x11 | `mnw` message | 0 | N/A | Connecting node is using a masternode payment protocol version that the rejecting node considers obsolete and unsupported. +| 0x11 | `txlvote` message | 0 | N/A | Connecting node is using an InstantSend protocol version that the rejecting node considers obsolete and unsupported. | 0x12 | `tx` message | 32 | char[32] | Duplicate input spend (double spend): the rejected transaction spends the same input as a previously-received transaction. Extra data may include the rejected transaction's TXID. | 0x12 | `version` message | 0 | N/A | More than one `version` message received in this connection. | 0x40 | `tx` message | 32 | char[32] | The transaction will not be mined or relayed because the rejecting node considers it non-standard---a transaction type or version unknown by the server. Extra data may include the rejected transaction's TXID. @@ -1274,6 +1532,57 @@ header has been omitted.) {% endautocrossref %} +#### SendCmpct +{% include helpers/subhead-links.md %} + +{% autocrossref %} + +*Added in protocol version 70209 of Dash Core as described by BIP152* + +The `sendcmpct` message tells the receiving peer whether or not to announce new +blocks using a `cmpctblock` message. It also sends the compact block protocol +version it supports. The `sendcmpct` message is defined as a message containing +a 1-byte integer followed by a 8-byte integer. The first integer is interpreted +as a boolean and should have a value of either 1 or 0. The second integer +is be interpreted as a little-endian version number. + +Upon receipt of a `sendcmpct` message with the first and second integers +set to 1, the node should announce new blocks by sending a `cmpctblock` message. + +Upon receipt of a `sendcmpct` message with the first integer set to 0, the node +shouldn't announce new blocks by sending a `cmpctblock` message, but instead announce +new blocks by sending invs or headers, as defined by [BIP130][]. + +Upon receipt of a `sendcmpct` message with the second integer set to something +other than 1, nodes should treat the peer as if they had not received the message +(as it indicates the peer will provide an unexpected encoding in `cmpctblock` messages, +and/or other, messages). This allows future versions to send duplicate +`sendcmpct` messages with different versions as a part of a version handshake. + +Nodes should check for a protocol version of >= 70209 before sending `sendcmpct` +messages. Nodes shouldn't send a request for a `MSG_CMPCT_BLOCK` object to a peer +before having received a `sendcmpct` message from that peer. Nodes shouldn't +request a `MSG_CMPCT_BLOCK` object before having sent all `sendcmpct` messages +to that peer which they intend to send, as the peer cannot know what protocol +version to use in the response. + +The structure of a `sendcmpct` message is defined below. + +| Bytes | Name | Data Type | Description +|----------|---------------|------------------|-------------- +| 1 | announce | bool | 0 - Announce blocks via `headers` message or `inv` message
1 - Announce blocks via `cmpctblock` message +| 8 | version | uint64_t | The compact block protocol version number + +The annotated hexdump below shows a `sendcmpct` message. (The message +header has been omitted.) + +{% highlight text %} +01 ................................. Block announce type: Compact Blocks +0100000000000000 ................... Compact block version: 1 +{% endhighlight %} + +{% endautocrossref %} + #### SendHeaders {% include helpers/subhead-links.md %} @@ -1287,7 +1596,6 @@ section][section message header] for an example of a message without a payload. {% endautocrossref %} - #### Spork {% include helpers/subhead-links.md %} @@ -1310,19 +1618,22 @@ signature before accepting the spork message as valid. | 8 | nTimeSigned | int64_t | Required | Time the spork value was signed | 66 | vchSig | char[] | Required | Length (1 byte) + Signature (65 bytes) -Defined Sporks (per [`src/spork.h`][spork.h]) +Sporks (per [`src/spork.h`][spork.h]) | Spork ID | Number | Name | Description | | ---------- | ---------- | ----------- | ----------- | | 10001 | 2 | `INSTANTSEND_ENABLED` | Turns on and off InstantSend network wide | 10002 | 3 | `INSTANTSEND_BLOCK_FILTERING` | Turns on and off InstantSend block filtering | 10004 | 5 | `INSTANTSEND_MAX_VALUE` | Controls the max value for an InstantSend transaction (currently 2000 dash) +| 10005 | 6 | `NEW_SIGS` | Turns on and off new signature format for Dash-specific messages | 10007 | 8 | `MASTERNODE_PAYMENT_ENFORCEMENT` | Requires masternodes to be paid by miners when blocks are processed | 10008 | 9 | `SUPERBLOCKS_ENABLED` | Superblocks are enabled (10% of the block reward allocated to fund the dash treasury for funding approved proposals) | 10009 | 10 | `MASTERNODE_PAY_UPDATED_NODES` | Only current protocol version masternode's will be paid (not older nodes) | 10011 | 12 | `RECONSIDER_BLOCKS` | Forces reindex of a specified number of blocks to recover from unintentional network forks -| 10012 | 13 | `OLD_SUPERBLOCK_FLAG` | Deprecated. No network function since block 614820 | 10013 | 14 | `REQUIRE_SENTINEL_FLAG` | Only masternode's running sentinel will be paid +| | | | +| | | **Removed Sporks** | +| _10012_ | _13_ | _`OLD_SUPERBLOCK_FLAG`_ | _Removed in Dash Core 0.12.3. No network function since block 614820_ To verify `vchSig`, compare the hard-coded spork public key (`strSporkPubKey` from [`src/chainparams.cpp`][spork pubkey]) with the public key recovered from @@ -1337,6 +1648,7 @@ Core can be found in `CPubKey::RecoverCompact`). The hash is a double SHA-256 ha | Mainnet | 04549ac134f694c0243f503e8c8a9a986f5de6610049c40b07816809b0d1
d06a21b07be27b9bb555931773f62ba6cf35a25fd52f694d4e1106ccd237
a7bb899fdd | | Testnet3 | 046f78dcf911fbd61910136f7f0f8d90578f68d0b3ac973b5040fb7afb50
1b5939f39b108b0569dca71488f5bbf498d92e4d1194f6f941307ffd95f7
5e76869f0e | | RegTest | Undefined | +| Devnets | 046f78dcf911fbd61910136f7f0f8d90578f68d0b3ac973b5040fb7afb50
1b5939f39b108b0569dca71488f5bbf498d92e4d1194f6f941307ffd95f7
5e76869f0e | The following annotated hexdump shows a `spork` message. @@ -1551,14 +1863,18 @@ queue the remainder of the time. | Bytes | Name | Data type | Required | Description | | ---------- | ----------- | --------- | -------- | -------- | | 4 | nDenom | int | Required | Denomination that will be exclusively used when submitting inputs into the pool -| 41+ | txCollateral | txIn | Required | Collateral TX that will be charged if this client acts maliciously +| 4 | nInputCount | int | Required | *Added in protocol version 70209. Only present when Spork 6 is active.*

Number of inputs required to join the queue +| 216+ | txCollateral | `tx` message | Required | Collateral TX that will be charged if this client acts maliciously The following annotated hexdump shows a `dsa` message. (The message header has -been omitted.) +been omitted.) Note that the 'Required inputs' bytes will only be preset if +Spork 6 is active and protocol version => 70209. {% highlight text %} 02000000 ................................... Denomination: 1 Dash (2) +03000000 ................................... Inputs required: 3 + Collateral Transaction | Previous Output | | @@ -1738,7 +2054,7 @@ pool, it responds with a `dsf` message. | Bytes | Name | Data type | Required | Description | | ---------- | ----------- | --------- | -------- | -------- | | ? | vecTxDSIn | CTxDSIn[] | Required | Vector of users inputs (CTxDSIn serialization is equal to CTxIn serialization) -| ? | txCollateral | `tx` message | Required |Collateral transaction which is used to prevent misbehavior and also to charge fees randomly +| 216+ | txCollateral | `tx` message | Required | Collateral transaction which is used to prevent misbehavior and also to charge fees randomly | ? | vecTxDSOut | CTxDSOut[] | Required | Vector of user outputs (CTxDSOut serialization is equal to CTxOut serialization) The following annotated hexdump shows a `dsi` message. (The message header has @@ -1880,7 +2196,8 @@ message. | Bytes | Name | Data type | Required | Description | | ---------- | ----------- | --------- | -------- | -------- | | 4 | nDenom | int | Required | Denomination allowed in this mixing session -| 41+ | vin | txIn | Required | Unspent output from masternode which is hosting this session +| 4 | nInputCount | int | Required | *Added in protocol version 70209. Only present when Spork 6 is active.*

Number of inputs required to participate in this mixing session +| 36 | masternodeOutPoint | outPoint | Required | The unspent outpoint of the masternode (holding 1000 DASH) which is hosting this session | 8 | nTime | int64_t | Required | Time this `dsq` message was created | 1 | fReady | bool | Required | Indicates if the mixing pool is ready to be executed | 66* | vchSig | char[] | Required | Signature of this message by masternode verifiable via pubKeyMasternode (Length (1 byte) + Signature (65 bytes)) @@ -1895,11 +2212,14 @@ Denominations (per [`src/privatesend.cpp`][privatesend denominations]) | 8 | 0.01 Dash The following annotated hexdump shows a `dsq` message. (The -message header has been omitted.) +message header has been omitted.) Note that the 'Required inputs' bytes will only +be preset if Spork 6 is active and protocol version => 70209. {% highlight text %} 08000000 ............................. Denomination: 0.01 Dash (8) +03000000 ............................. Required input(s): 3 + Masternode Outpoint | aeed0e77c6db30a616507a37a129bc88 | 1811f08afc51dd485d5322f36c1f04c5 ... Outpoint TXID @@ -2087,7 +2407,7 @@ fees (to provide security in mixing). | Bytes | Name | Data type | Required | Description | | ---------- | ----------- | --------- | -------- | -------- | | # | tx | `tx` message | Required | The transaction -| 41 | vin | txIn | Required | Masternode unspent output +| 36 | masternodeOutPoint | outPoint | Required | The unspent outpoint of the masternode (holding 1000 DASH) which is signing the message | 66 | vchSig | char[] | Required | Signature of this message by masternode verifiable via pubKeyMasternode (Length (1 byte) + Signature (65 bytes)) | 8 | sigTime | int64_t | Require | Time this message was signed @@ -2140,15 +2460,10 @@ Transaction Message | | 00000000 ................................... locktime: 0 (a block height) -Masternode Unspent Output +Masternode Unspent Outpoint | 387d522def2abfb9bdd15be899f074f3 | 49b414cef078ec642e1d14b42996b9fc ......... Outpoint TXID | 00000000 ................................. Outpoint index number: 0 -| -| 00 ....................................... Bytes in sig. script: 0 -| .......................................... Secp256k1 signature (None) -| -| ffffffff ................................. Sequence number: UINT32_MAX 1b6fb8f90f0df6e502bc10aab9604e49 2d14214e05331c9761c834d55c7536e3 @@ -2184,7 +2499,7 @@ and [Masternode Payment](developer-guide#masternode-payment) section The `dseg` message requests either the entire masternode list or a specific entry. To request the list of all masternodes, use an empty txIn (TXID of all zeros and an index of 0xFFFFFFFF). To request information about a specific -masternode, use the unspent output associated with that masternode. +masternode, use the unspent outpoint associated with that masternode. The response to a `dseg` message is an `mnb` message inventory and an `mnp` message inventory for each requested masternode. Masternodes ignore this @@ -2192,7 +2507,7 @@ request if they are not fully synced. | Bytes | Name | Data type | Required | Description | | ---------- | ----------- | --------- | -------- | -------- | -| 41 | vin | txIn | Required | Request options:
`All Entries` - empty txIn
`Single Entry` - Masternode's unspent output which is holding 1000 DASH +| 36 | masternodeOutPoint | outPoint | Required | Request options:
`All Entries` - empty txIn
`Single Entry` - Masternode's unspent outpoint which is holding 1000 DASH {% highlight text %} @@ -2204,30 +2519,20 @@ The following annotated hexdump shows a `dseg` message requesting **all** masternodes. (The message header has been omitted.) {% highlight text %} -Masternode Unspent Output +Masternode Unspent Outpoint | 00000000000000000000000000000000 | 00000000000000000000000000000000 ......... Outpoint TXID | ffffffff ................................. Outpoint index number: 0 -| -| 00 ....................................... Bytes in sig. script: 0 -| .......................................... Secp256k1 signature: None -| -| ffffffff ................................. Sequence number: UINT32_MAX {% endhighlight %} The following annotated hexdump shows a `dseg` message requesting a specific masternode. (The message header has been omitted.) {% highlight text %} -Masternode Unspent Output +Masternode Unspent Outpoint | 7fe33a2901aa654598ae0af572d4fbec | ee97af2d0276f189d177dee5848ef3da ......... Outpoint TXID | 00000000 ................................. Outpoint index number: 0 -| -| 00 ....................................... Bytes in sig. script: 0 -| .......................................... Secp256k1 signature: None -| -| ffffffff ................................. Sequence number: UINT32_MAX {% endhighlight %} {% endautocrossref %} @@ -2243,30 +2548,25 @@ entry and how to validate messages from it. | Bytes | Name | Data type | Required | Description | | ---------- | ----------- | --------- | -------- | -------- | -| 41 | vin | txIn | Required | The unspent output which is holding 1000 DASH +| 36 | outPoint | outPoint | Required | The unspent outpoint of the masternode (holding 1000 DASH) which is signing the message | # | addr | CService | Required | IPv4 address of the masternode -| 33-65 | pubKeyCollateralAddress | CPubKey | Required | CPubKey of the main 1000 DASH unspent output. Length determined by if it is a compressed public key or not. +| 33-65 | pubKeyCollateralAddress | CPubKey | Required | CPubKey of the main 1000 DASH unspent outpoint. Length determined by if it is a compressed public key or not. | 33-65 | pubKeyMasternode | CPubKey | Required | CPubKey of the secondary signing key (For all messaging other than the announce message). Length determined by if it is a compressed public key or not. | 66 | sig | char[] | Required | Signature of this message verifiable via pubKeyMasternode (Length (1 byte) + Signature (65 bytes)) | 8 | sigTime | int64_t | Required | Time which the signature was created | 4 | nProtocolVersion | int | Required | The protocol version of the masternode | # | lastPing | `mnp` message | Required | The last known ping of the masternode -| 8 | nLastDsq | int64_t | Deprecated | The last time the masternode sent a `dsq` message (for mixing) (DEPRECATED) +| 8 | nLastDsq | int64_t | Deprecated | **Removed in Dash Core 0.12.3.0**

The last time the masternode sent a `dsq` message (for mixing) (DEPRECATED) The following annotated hexdump shows a `mnb` message. (The message header has been omitted and the actual IP address has been replaced with a RFC5737 reserved IP address.) {% highlight text %} -Masternode Unspent Output +Masternode Unspent Outpoint | 3fbc7d4a8f68ba6ecb02a8db34d1f5b6 | 2dc105f0b5c3505243435cf815d02394 ......... Outpoint TXID | 01000000 ................................. Outpoint index number: 1 -| -| 00 ....................................... Bytes in sig. script: 0 -| .......................................... Secp256k1 signature: None -| -| ffffffff ................................. Sequence number: UINT32_MAX Masternode Address | 00000000000000000000ffffc0000233 ......... IP Address: ::ffff:192.0.2.51 @@ -2298,15 +2598,10 @@ Message Signature 3e120100 ................................... Protocol Version: 70206 Masternode Ping Message -| Masternode Unspent Output +| Masternode Unspent Outpoint | | 3fbc7d4a8f68ba6ecb02a8db34d1f5b6 | | 2dc105f0b5c3505243435cf815d02394 ........ Outpoint TXID | | 01000000 ................................ Outpoint index number: 1 -| | -| | 00 ...................................... Bytes in sig. script: 0 -| | ......................................... Secp256k1 signature: None -| | -| | ffffffff ................................ Sequence number: UINT32_MAX | | 94fc0fad18b166c2fedf1a5dc0511372 | 26c353d57e086737ff05000000000000 ......... Chaintip block hash @@ -2330,19 +2625,28 @@ Masternode Ping Message {% autocrossref %} The `mnget` message requests masternode payment sync. The response to an -`mnget` message is `mnw` message inventories (up to the number asked for in the -request). Masternodes ignore this request if they are not fully synced. - -| Bytes | Name | Data type | Required | Description | -| ---------- | ----------- | --------- | -------- | -------- | -| 4 | nMnCount | int | Required | Number of masternode payment votes to request +`mnget` message is `mnw` message inventories. Masternodes ignore this request if +they are not fully synced. {% highlight text %} Note: Dash Core limits how frequently a masternode payment sync can be requested. Frequent requests will result in the node being banned. {% endhighlight %} -The following annotated hexdump shows a `mnget` message. (The +There is no payload in a `mnget` message. See the [message header +section][section message header] for an example of a message without a payload. + +![Warning icon](/img/icons/icon_warning.svg) **The following information is provided for historical reference only.** + +In protocol versions <=70208, the `mnget` message has a payload consisting of an +integer value requesting a specific number of payment votes. In protocol versions +>70208, the `mnget` message has no payload. + +| Bytes | Name | Data type | Required | Description | +| ---------- | ----------- | --------- | -------- | -------- | +| 4 | nMnCount | int | Deprecated | _Deprecated in Dash Core 0.12.3_

Number of masternode payment votes to request + +The following annotated hexdump shows a pre-0.12.3 `mnget` message. (The message header has been omitted.) {% highlight text %} @@ -2362,37 +2666,39 @@ uses a minimum masternode ping time of 10 minutes. | Bytes | Name | Data type | Required | Description | | ---------- | ----------- | --------- | -------- | -------- | -| 41 | vin | txIn | Required | The unspent output of the masternode (holding 1000 DASH) which is signing the message +| 36 | masternodeOutPoint | outPoint | Required | The unspent outpoint of the masternode (holding 1000 DASH) which is signing the message | 32 | blockHash | uint256 | Required | Block hash from 12 blocks ago (current chaintip minus 12). This offset allows nodes to be slightly out of sync. | 8 | sigTime | int64_t | Required | Time which the signature was created | 66* | vchSig | char[] | Required | Signature of this message by masternode - verifiable via pubKeyMasternode (66 bytes in most cases. Length (1 byte) + Signature (65 bytes)) +| 1 | fSentinelIsCurrent | bool | Required | True if last sentinel ping was current +| 4 | nSentinelVersion | uint32_t | Required | The version of Sentinel running on the masternode which is signing the message +| 4 | nDaemonVersion | uint32_t | Required | The version of dashd on the masternode which is signing the message (i.e. CLIENT_VERSION) The following annotated hexdump shows a `mnp` message. (The message header has been omitted.) {% highlight text %} -Masternode Unspent Output -| 0bfa3616099771bb5f36181ff4060a9b -| 9afe7b3e47d7f4327800f0f8ce586c6e ......... Outpoint TXID -| 01000000 ................................. Outpoint index number: 1 -| -| 00 ....................................... Bytes in sig. script: 0 -| .......................................... Secp256k1 signature: None -| -| ffffffff ................................. Sequence number: UINT32_MAX +Masternode Unspent Outpoint +| ce12d7f32945c9544c5aeb0dcf131174 +| a6269b64b40f9461595e26689b573c58 ......... Outpoint TXID +| 00000000 ................................. Outpoint index number: 0 -a26a68ebb733192c1c40f9b42f872ac0 -e23d4c360e20d5ab6608000000000000 ........... Chaintip block hash +6c7da9d9eae78644a3406eac8ed0be3b +f15eb4bc369acc95b106f37400000000 ........... Chaintip block hash -1bbfa95900000000 ........................... Sig. Timestamp: 2017-10-01 20:12:11 UTC +3c84025a00000000 ........................... Sig. Timestamp: 2017-11-08 04:12:44 UTC Masternode Signature | 41 ....................................... Bytes in signature: 65 -| 1c2b205bd6ba472d7a9495f049ef66dc -| f844154846e25f2389385ba2d3e95cde -| cf3ccf82bc26d94c6fdafcd7b965bb61 -| db02d05483595196ea4d92b2e797612b -| 79 ....................................... Masternode Signature +| 1c7572842058a2075b8a996c3905e306 +| 27a581a0b0702842ac4088e6c1a61b22 +| 8e79a4d8aed0f413150f976045f256ef +| 2727e68a36622efcabfd60a554533b8c +| 6f ....................................... Masternode Signature + +01 ......................................... Sentinel Current: true +02000100 ................................... Sentinel Version (1.0.2) +ecd50100 ................................... Dashd Deamon Version (12.3.0) {% endhighlight %} {% endautocrossref %} @@ -2408,8 +2714,8 @@ masternode 1 being validated as of the provided block height. | Bytes | Name | Data type | Required | Description | | ---------- | ----------- | --------- | -------- | -------- | -| 41 | vin1 | txIn | Required | The unspent output which is holding 1000 DASH for masternode 1 -| 41 | vin2 | txIn | Required | The unspent output which is holding 1000 DASH for masternode 2 +| 36 | masternodeOutPoint1 | outPoint | Required | The unspent outpoint which is holding 1000 DASH for masternode 1 +| 36 | masternodeOutPoint2 | outPoint | Required | The unspent outpoint which is holding 1000 DASH for masternode 2 | # | addr | CService | Required | IPv4 address and port of masternode 1 | 4 | nonce | int | Required | Random nonce | 4 | nBlockHeight | int | Required | Block height @@ -2426,9 +2732,9 @@ in the table below. | | **Verification request** | | | **`mnv` message with no signatures** | | 1 | `mnv` message | → | | Contains `addr`, `nonce`, and `nBlockHeight`.
Sent by _SendVerifyRequest()_. | 2 | | ← | `mnv` message | Add `vchSig1` (signature of the IP address + nonce + hash of the requested block).
Sent by _SendVerifyReply()_. -| 3 | `mnv` message | → | | Verify `vchSig1`

Add `vin1`, `vin2`, and `vchSig2` (signature of the IP address + nonce + hash of the requested block + `vin1` prevout + `vin2` prevout) and relay message to peers if valid.
Sent by _ProcessVerifyReply()_. +| 3 | `mnv` message | → | | Verify `vchSig1`

Add `masternodeOutPoint1`, `masternodeOutPoint2`, and `vchSig2` (signature of the IP address + nonce + hash of the requested block + `masternodeOutPoint1` + `masternodeOutPoint2`) and relay message to peers if valid.
Sent by _ProcessVerifyReply()_. -Nodes receiving a relayed `mnv` message (one in which `vin1`, `vin2`, `vchSig1` +Nodes receiving a relayed `mnv` message (one in which `masternodeOutPoint1`, `masternodeOutPoint2`, `vchSig1` and `vchSig2` are already present) use it to update the PoSe ban score. If the ban score reaches `MASTERNODE_POSE_BAN_MAX_SCORE` (5), the masternode will be considered malicious and banned. If the received message is valid, nodes @@ -2450,25 +2756,15 @@ initial request (Step 1) so it does not contain any signatures. (The message header has been omitted.) {% highlight text %} -Masternode 1 Unspent Output (empty) +Masternode 1 Unspent Outpoint (empty) | 00000000000000000000000000000000 | 00000000000000000000000000000000 ......... Outpoint TXID | ffffffff ................................. Outpoint index number: 0 -| -| 00 ....................................... Bytes in sig. script: 0 -| .......................................... Secp256k1 signature: None -| -| ffffffff ................................. Sequence number: UINT32_MAX -Masternode 2 Unspent Output (empty) +Masternode 2 Unspent Outpoint (empty) | 00000000000000000000000000000000 | 00000000000000000000000000000000 ......... Outpoint TXID | ffffffff ................................. Outpoint index number: 0 -| -| 00 ....................................... Bytes in sig. script: 0 -| .......................................... Secp256k1 signature: None -| -| ffffffff ................................. Sequence number: UINT32_MAX 00000000000000000000ffff2d20ed4c ........... IP Address: ::ffff:45.32.237.76 4e1f ....................................... Port: 19999 @@ -2490,25 +2786,15 @@ initial response (Step 2) so it only contains the signature of masternode 1 (the masternode being verified). (The message header has been omitted.) {% highlight text %} -Masternode 1 Unspent Output (empty) +Masternode 1 Unspent Outpoint (empty) | 00000000000000000000000000000000 | 00000000000000000000000000000000 ......... Outpoint TXID | ffffffff ................................. Outpoint index number: 0 -| -| 00 ....................................... Bytes in sig. script: 0 -| .......................................... Secp256k1 signature: None -| -| ffffffff ................................. Sequence number: UINT32_MAX -Masternode 2 Unspent Output (empty) +Masternode 2 Unspent Outpoint (empty) | 00000000000000000000000000000000 | 00000000000000000000000000000000 ......... Outpoint TXID | ffffffff ................................. Outpoint index number: 0 -| -| 00 ....................................... Bytes in sig. script: 0 -| .......................................... Secp256k1 signature: None -| -| ffffffff ................................. Sequence number: UINT32_MAX 00000000000000000000ffff2d20ed4c ........... IP Address: ::ffff:45.32.237.76 4e1f ....................................... Port: 19999 @@ -2540,7 +2826,7 @@ selected masternodes will issue the masternode payment vote message. | Bytes | Name | Data type | Required | Description | | ---------- | ----------- | --------- | -------- | -------- | -| 41 | vin | txIn | Required | The unspent output which is holding 1000 DASH +| 36 | masternodeOutPoint | outPoint | Required | The unspent outpoint of the masternode (holding 1000 DASH) which is signing the message | 4 | nBlockHeight | int | Required | The blockheight which the payee should be paid | ? | payeeAddress | CScript | Required | The address receiving payment | 66* | vchSig | char[] | Required | Signature of the masternode which is signing the message (66 bytes in most cases. Length (1 byte) + Signature (65 bytes)) @@ -2549,15 +2835,10 @@ The following annotated hexdump shows a `mnw` message. (The message header has been omitted.) {% highlight text %} -Masternode Unspent Output +Masternode Unspent Outpoint | 0c1b5c5846792b25b05eeea9586d8c34 | ecb996c566bedb4ecf6a68fe8ffa9582 ......... Outpoint TXID | 00000000 ................................. Outpoint index number: 0 -| -| 00 ....................................... Bytes in sig. script: 0 -| .......................................... Secp256k1 signature: None -| -| ffffffff ................................. Sequence number: UINT32_MAX fb4f0a00 ................................... Block pay height: 675835 @@ -2667,7 +2948,7 @@ contract, or setting. Masternodes ignore this request if they are not fully sync | 32 | nCollateralHash | uint256 | Required* | Hash of the collateral fee transaction for proposals.

Set to all zeros for Triggers/Watchdogs. | 0-16384 | strData | string | Required | Data field - can be used for anything (leading varint indicates size of data) | 4 | nObjectType | int | Required | Type of governance object:
• `0` - Unknown
• `1` - Proposal
• `2` - Trigger
• `3` - Watchdog -| 41 | vinMasternode | CTxIn | Required* | Unspent output for the masternode which is signing this object.

Set to all zeros for proposals since they can be created by non-masternodes. +| 36 | masternodeOutPoint | outPoint | Required* | The unspent outpoint of the masternode (holding 1000 DASH) which is signing this object.

Set to all zeros for proposals since they can be created by non-masternodes. | 66* | vchSig | char[] | Required* | Signature of the masternode (Length (1 byte) + Signature (65 bytes))

Not required for proposals - they will have a length of 0x00 and no Signature. Governance Object Types (defined by src/governance-object.h) @@ -2680,9 +2961,8 @@ Governance Object Types (defined by src/governance-object.h) | 3 | `GOVERNANCE_OBJECT_WATCHDOG` | Masternode generated. Two hour expiration time.

DEPRECATED since 12.2. The following annotated hexdump shows a `govobj` message for a Proposal object. -Notice the presence of a non-zero collateral hash, a vinMasternode that is an -empty CTxIn (hash of all zeros, index/sequence of 0xffffffff, no Signature), -and no vchSig. +Notice the presence of a non-zero collateral hash, a masternodeOutPoint that is an +empty Outpoint (hash of all zeros), and no vchSig. (The message header has been omitted.) {% highlight text %} @@ -2699,14 +2979,10 @@ Data 01000000 ............................. Object Type: GOVERNANCE_OBJECT_PROPOSAL (1) -Transaction input -| Previous Output -| | 00000000000000000000000000000000 -| | 00000000000000000000000000000000 ... Outpoint TXID -| | ffffffff ........................... Outpoint index number: 0 -| 00 ................................... Script length: 0 -| ...................................... Signature: None -| ffffffff ............................. Sequence +Masternode Unspent Outpoint +| 00000000000000000000000000000000 +| 00000000000000000000000000000000 ... Outpoint TXID +| ffffffff ........................... Outpoint index number: 0 00 ................................... Signature length: 0 @@ -2731,14 +3007,10 @@ Data 02000000 ............................. Object Type: GOVERNANCE_OBJECT_TRIGGER (2) -Transaction input -| Previous Output -| | ffefbe4959085907bcd2ba29e357a441 -| | fa7b6e26e25896d8127332bba2419e97 ... Outpoint TXID -| | 00000000 ........................... Outpoint index number: 0 -| 00 ................................... Script length: 0 -| ...................................... Signature: None -| ffffffff ............................. Sequence +Masternode Unspent Outpoint +| ffefbe4959085907bcd2ba29e357a441 +| fa7b6e26e25896d8127332bba2419e97 ... Outpoint TXID +| 00000000 ........................... Outpoint index number: 0 41 ................................... Signature length: 65 @@ -2782,7 +3054,7 @@ the node being banned. | Bytes | Name | Data type | Required | Description | | ---------- | ----------- | --------- | -------- | -------- | -| 41+ | vinMasternode | CTxIn | Required | Unspent output for the masternode which is voting +| 36 | masternodeOutPoint | outPoint | Required | The unspent outpoint of the masternode (holding 1000 DASH) which is voting | 32 | nParentHash | uint256 | Required | Object (`govobj`) being voted on (proposal, contract, setting or final budget) | 4 | nVoteOutcome | int | Required | None (0), Yes (1), No (2), Abstain (3) | 4 | nVoteSignal | int | Required | None (0), Funding (1), Valid (2), Delete (3), Endorsed (4) @@ -2802,14 +3074,10 @@ The following annotated hexdump shows a `govobjvote` message. (The message header has been omitted.) {% highlight text %} -Transaction input -| Previous Output -| | 57566a0ef85e6cac3415ced67b0b07e1 -| | 781bafb853650d7c9d56d8bc132cc3b4 ... Outpoint TXID -| | 00000000 ........................... Outpoint index number: 0 -| 00 ................................... Script length: 0 -| ...................................... Signature: None -| ffffffff ............................. Sequence +Masternode Unspent Outpoint +| 57566a0ef85e6cac3415ced67b0b07e1 +| 781bafb853650d7c9d56d8bc132cc3b4 ... Outpoint TXID +| 00000000 ........................... Outpoint index number: 0 ad9579d5c181eee904156df1c88b050f b8b4d39e5fda71f015996dbf14a51bff...... Parent Hash (0 = root) diff --git a/_includes/devdoc/ref_transactions.md b/_includes/devdoc/ref_transactions.md index eb3f634d..f282b8eb 100644 --- a/_includes/devdoc/ref_transactions.md +++ b/_includes/devdoc/ref_transactions.md @@ -210,16 +210,19 @@ transaction---making the transaction format part of the consensus rules. Dash Core and many other tools print and accept raw transactions encoded as hex. -All transactions use the version 1 format described below. +Transactions prior to protocol version 70209 defaulted to version 1. Transaction +version 2 became the default in protocol version 70209. Version 2 transactions +have the same format, but the `lock_time` parameter was redefined by BIP68 +to enable relative lock-times. (Note: transactions in the block chain are allowed to list a higher version -number to permit soft forks, but they are treated as version 1 transactions +number to permit soft forks, but they are treated as version 2 transactions by current software.) A raw transaction has the following top-level format: | Bytes | Name | Data Type | Description |----------|--------------|---------------------|------------- -| 4 | version | uint32_t | Transaction version number; currently version 1. Programs creating transactions using newer consensus rules may use higher version numbers. +| 4 | version | uint32_t | Transaction version number; currently version 2. Programs creating transactions using newer consensus rules may use higher version numbers. | *Varies* | tx_in count | compactSize uint | Number of inputs in this transaction. | *Varies* | tx_in | txIn | Transaction inputs. See description of txIn below. | *Varies* | tx_out count | compactSize uint | Number of outputs in this transaction. diff --git a/_includes/helpers/summaries.md b/_includes/helpers/summaries.md index 56810035..67a59ce0 100644 --- a/_includes/helpers/summaries.md +++ b/_includes/helpers/summaries.md @@ -47,7 +47,7 @@ This file is licensed under the terms of its source texts{%endcomment%} {% assign summary_getChainTips="returns information about the highest-height block (tip) of each local block chain." %} {% assign summary_getConnectionCount="returns the number of connections to other nodes." %} {% assign summary_getDifficulty="returns the proof-of-work difficulty as a multiple of the minimum difficulty." %} -{% assign summary_getGenerate="returns if the server is set to generate coins or not." %} +{% assign summary_getGenerate="was removed in Dash Core 0.12.3." %} {% assign summary_getGovernanceInfo="returns an object containing governance parameters." %} {% assign summary_getHashesPerSec="was removed in Bitcoin Core 0.11.0 and is not part of Dash." %} {% assign summary_getInfo="prints various information about the node and the network." %} @@ -89,6 +89,7 @@ This file is licensed under the terms of its source texts{%endcomment%} {% assign summary_keepass="provides commands for configuring and managing KeePass authentication" %} {% assign summary_keyPoolRefill="fills the cache of unused pre-generated keys (the keypool)." %} {% assign summary_listAccounts="lists accounts and their balances." %} +{% assign summary_listAddressBalances="lists addresses of this wallet and their balances" %} {% assign summary_listAddressGroupings="lists groups of addresses that may have had their common ownership made public by common use as inputs in the same transaction or from being used as change from a previous transaction." %} {% assign summary_listBanned="lists all banned IPs/Subnets." %} {% assign summary_listLockUnspent="returns a list of temporarily unspendable (locked) outputs." %} @@ -123,8 +124,9 @@ This file is licensed under the terms of its source texts{%endcomment%} {% assign summary_sendToAddress="spends an amount to a given address." %} {% assign summary_sentinelPing="sends a Sentinel Ping to the network." %} {% assign summary_setAccount="puts the specified address in the given account." %} +{% assign summary_setBIP69Enabled="enables or disables BIP69 input/output sorting (regtest network only)" %} {% assign summary_setBan="attempts add or remove a IP/Subnet from the banned list." %} -{% assign summary_setGenerate="enables or disables hashing to attempt to find the next block." %} +{% assign summary_setGenerate="was removed in Dash Core 0.12.3." %} {% assign summary_setNetworkActive="disables/enables all P2P network activity." %} {% assign summary_setTxFee="sets the transaction fee per kilobyte paid by transactions created by this wallet." %} {% assign summary_signMessage="signs a message with the private key of an address." %} diff --git a/_includes/helpers/vars.md b/_includes/helpers/vars.md index 5be65729..b3ba1ee9 100644 --- a/_includes/helpers/vars.md +++ b/_includes/helpers/vars.md @@ -427,4 +427,4 @@ NOT IN DASH {% assign WARNING="![Warning icon](/img/icons/icon_warning.svg) **Warning:**" %} {% assign WARNING_ICON="![Warning icon](/img/icons/icon_warning.svg)" %} -{% assign reindexNote="Note: if you begin using `txindex=1` after downloading the block chain, you must rebuild your indexes by starting Bitcoin Core with the option `-reindex`. This may take several hours to complete, during which time your node will not process new blocks or transactions. This reindex only needs to be done once." %} +{% assign reindexNote="Note: if you begin using `txindex=1` after downloading the block chain, you must rebuild your indexes by starting Dash Core with the option `-reindex`. This may take several hours to complete, during which time your node will not process new blocks or transactions. This reindex only needs to be done once." %} diff --git a/_includes/layout/base/head-menu.html b/_includes/layout/base/head-menu.html index ce81849d..184fe25b 100644 --- a/_includes/layout/base/head-menu.html +++ b/_includes/layout/base/head-menu.html @@ -4,7 +4,7 @@ http://opensource.org/licenses/MIT. {% endcomment %}