Merge pull request #79 from dash-docs/develop

Add v12.3 updates
This commit is contained in:
dash-docs 2018-07-03 09:42:36 -04:00 committed by GitHub
commit 9828c5fa62
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
71 changed files with 1699 additions and 786 deletions

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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:
| → <br>`id` | string | Optional<br>(0 or 1) | An arbitrary string that will be returned with the response. May be omitted or set to an empty string ("")
| → <br>`method` | string | Required<br>(exactly 1) | The RPC method name (e.g. `getblock`). See the RPC section for a list of available methods.
| → <br>`params` | array | Optional<br>(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.
| → <br>`params` | object | Optional<br>(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 dont have any required parameters.
| → → <br>Parameter | *any* | Optional<br>(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<!--noref--> 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

View file

@ -19,17 +19,21 @@ Use v0.n.n in abbreviation title to prevent autocrossrefing.
<!-- Dash - Not Implemented -->
{% assign DASH_NOT_IMPLEMENTED='**<abbr title="Not Implemented in Dash">Not Implemented</abbr>**' %}
<!-- Dash Core 0.12.3.0 July 2018 -->
{% assign DASH_NEW0_12_3='**<abbr title="New in Dash Core v0.12.3">New in Dash Core 0.12.3</abbr>**' %}
{% assign DASH_UPDATED0_12_3='**<abbr title="Updated in Dash Core v0.12.3">Updated in Dash Core 0.12.3</abbr>**' %}
<!-- Dash Core 0.12.2.0 Nov 2017 -->
{% assign DASH_NEW0_12_2='*<abbr title="New in Dash Core v0.12.2">New in Dash Core 0.12.2</abbr>*' %}
{% assign DASH_NEW0_12_2='**<abbr title="New in Dash Core v0.12.2">New in Dash Core 0.12.2</abbr>**' %}
{% assign DASH_UPDATED0_12_2='**<abbr title="Updated in Dash Core v0.12.2">Updated in Dash Core 0.12.2</abbr>**' %}
<!-- Dash Core 0.12.1.0 Feb 2017 -->
{% assign DASH_NEW0_12_1='*<abbr title="New in Dash Core v0.12.1">New in Dash Core 0.12.1</abbr>*' %}
{% assign DASH_UPDATED0_12_1='**<abbr title="Updated in Dash Core v0.12.1">Updated in Dash Core 0.12.1</abbr>**' %}
{% assign DASH_UPDATED0_12_1='*<abbr title="Updated in Dash Core v0.12.1">Updated in Dash Core 0.12.1</abbr>*' %}
<!-- Darkcoin Core 0.11.0 Jan 2015 -->
{% assign DARKCOIN_NEW0_11_0='*<abbr title="New in Darkcoin Core v0.11.0">New in Darkcoin Core 0.11.0</abbr>*' %}
{% assign DARKCOIN_UPDATED0_11_0='**<abbr title="Updated in Dash Core v0.11.0">Updated in Darkcoin Core 0.11.0</abbr>**' %}
{% assign DARKCOIN_UPDATED0_11_0='*<abbr title="Updated in Dash Core v0.11.0">Updated in Darkcoin Core 0.11.0</abbr>*' %}
<!-- Deprecated -->
{% assign DEPRECATED='**<abbr title="Deprecated; will be removed in a future version of Bitcoin Core">Deprecated</abbr>**' %}
@ -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}
<!-- no subhead-links here -->
{% 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}}
<!-- Still in Dash
* [GetGenerate][rpc getgenerate]: {{summary_getGenerate}}
* [SetGenerate][rpc setgenerate]: {{summary_setGenerate}}
-->
{% endautocrossref %}

View file

@ -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: "→ →<br>`Sequence`"
t: "number (int)"
p: "Optional<br>(0 or 1)"
d: "NOT IMPLEMENTED IN DASH.<br><br>The sequence number to use for the input"
d: "Added in Dash Core 0.12.3.0.<br><br>The sequence number to use for the input"
{% enditemplate %}
@ -56,6 +58,11 @@ The `createrawtransaction` RPC {{summary_createRawTransaction}}
p: "Required<br>(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: "→<br>Data/Hex"
t: "data : hex"
p: "Required<br>(1 or more)"
d: "A key/value pair where the key is 'data' and the value is hex encoded data"
{% enditemplate %}
*Parameter #3---locktime*

View file

@ -19,20 +19,20 @@ The `debug` RPC {{summary_debug}}
- n: "Debug category"
t: "string"
p: "Required<br>(1 or more)"
d: "The debug category to activate. Use a comma to specify multiple categories. Categories will be one of the following:<br>`0` - Disables all categories <br>`1` - Enables all categories <br>`addrman` <br>`alert` <br>`bench` <br>`coindb` <br>`db` <br>`lock` <br>`rand` <br>`rpc` <br>`selectcoins` <br>`mempool` <br>`mempoolrej` <br>`net` <br>`proxy` <br>`prune` <br>`http` <br>`libevent` <br>`tor` <br>`zmq` <br>`dash` <br>`privatesend` <br>`instantsend` <br>`masternode` <br>`spork` <br>`keepass` <br>`mnpayments` <br>`gobject` <br>"
d: "The debug category to activate. Use a `+` to specify multiple categories. Categories will be one of the following:<br>`0` - Disables all categories <br>`1` - Enables all categories <br>`addrman` <br>`alert` <br>`bench` <br>`coindb` <br>`db` <br>`lock` <br>`rand` <br>`rpc` <br>`selectcoins` <br>`mempool` <br>`mempoolrej` <br>`net` <br>`proxy` <br>`prune` <br>`http` <br>`libevent` <br>`tor` <br>`zmq` <br>`dash` <br>`privatesend` <br>`instantsend` <br>`masternode` <br>`spork` <br>`keepass` <br>`mnpayments` <br>`gobject` <br>"
{% 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*

View file

@ -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<br>(exactly 1)"
d: "The node you want to disconnect from as a string in the form of `<IP address>:<port>`.<br><br>*Updated in Bitcoin Core 0.14.1*"

View file

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

View file

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

View file

@ -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<br>(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<br>(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<br>(0 or 1)"
d: "Inputs from watch-only addresses are also considered. The default is `false`"
- n: "→ <br>`lockUnspent`"
t: "bool"
p: "Optional<br>(0 or 1)"

View file

@ -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<br>(exactly 1)"
d: "The number of iterations to try (default = 1000000)."
{% enditemplate %}
*Result---the generated block header hashes*
{% itemplate ntpd1 %}

View file

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

View file

@ -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<br>(exactly 1)"
d: "Kept for historical purposes but ignored<br><br>*Removed in Bitcoin Core 0.14.0*"
- n: "_Dummy_"
t: "_bool_"
p: "_Required<br>(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):

View file

@ -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<br>(0 or 1)"
d: "The bit (0-28) in the block version field used to signal this softfork. Field is only shown when status is `started`"
- n: "→ → →<br>`startTime`"
t: "numeric<br>(int)"
p: "Required<br>(exactly 1)"
d: "The Unix epoch time when the softfork voting begins"
- n: "→ → →<br>`timeout`"
t: "numeric<br>(int)"
p: "Required<br>(exactly 1)"
d: "The Unix epoch time at which the deployment is considered failed if not yet locked in"
- n: "→ → →<br>`since`"
t: "numeric<br>(int)"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.14.0*<br><br>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 %}

View file

@ -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<br>(exactly 1)"
d: "Client side supported feature, `longpoll`, `coinbasetxn`, `coinbasevalue`, `proposal`, `serverlist`, `workid`"
- n: "→<br>`rules`"
t: "array (string)"
p: "Optional<br>(0 or more)"
d: "A list of strings"
- n: "→ →<br>Rules"
t: "string"
p: "Optional<br>(exactly 1)"
d: "Client side supported softfork deployment, `csv`, `dip0001`, etc."
{% enditemplate %}
*Result---block template*

View file

@ -53,6 +53,11 @@ The `getchaintips` RPC {{summary_getChainTips}}
p: "Required<br>(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: "→ →<br>`forkpoint`"
t: "string (hex)"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.12.3*<br><br>Block hash of the last common block between this tip and the main chain"
- n: "→ →<br>`status`"
t: "string"
p: "Required<br>(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"
}
]

View file

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

View file

@ -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: "→<br>`masternodewatchdogmaxseconds`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "Sentinel watchdog expiration time in seconds"
d: "*DEPRECATED in Dash Core 0.12.3*<br><br>Sentinel watchdog expiration time in seconds"
- n: "→<br>`sentinelpingmaxseconds`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.12.3.0*<br><br>Sentinel ping expiration time in seconds"
- n: "→<br>`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 %}

View file

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

View file

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

View file

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

View file

@ -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<br>(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: "→<br>`instantsend`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "True if this transaction was sent as an InstantSend one"
- n: "→<br>`instantlock`"
t: "bool"
p: "Required<br>(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 %}

View file

@ -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*<br><br>Set to `true` if randomized credentials are set for this proxy. Otherwise set to `false`"
- n: "→<br>`relayfee`"
t: "number (Dash)"
t: "number (DASH)"
p: "Required<br>(exactly 1)"
d: "The minimum relay fee for non-free transactions in order for this node to accept it into its memory pool"
- n: "→<br>`incrementalfee`"
t: "number (DASH)"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.12.3*<br><br>The minimum fee increment for mempool limiting or BIP 125 replacement in DASH/kB"
- n: "→<br>`localaddresses`"
t: "array"
p: "Required<br>(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<!--noref--> 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<!--noref--> have been replaced with [RFC5737][] reserve
}
],
"relayfee": 0.00001000,
"incrementalfee": 0.00001000,
"localaddresses": [
{
"address": "192.0.2.113",

View file

@ -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<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.12.0*<br><br>The modified fees (see `modifiedfee` above) of in-mempool descendants (including this one)"
- n: "→ →<br>`ancestorcount`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.12.3 / Bitcoin Core 0.13.0*<br><br>The number of in-mempool ancestor transactions (including this one)"
- n: "→ →<br>`ancestorsize`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.12.3 / Bitcoin Core 0.13.0*<br><br>The size of in-mempool ancestors (including this one)"
- n: "→ →<br>`ancestorfees`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.12.3 / Bitcoin Core 0.13.0*<br><br>The modified fees (see `modifiedfee` above) of in-mempool ancestors (including this one)"
- n: "→ →<br>`depends`"
t: "array"
p: "Required<br>(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: "→ →<br>`instantsend`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.12.3*<br><br>Set to `true` for transactions broadcast via the `ix` message (InstantSend lock requested). Set to `false` for standard (non-InstantSend) transactions"
- n: "→ →<br>`instantlock`"
t: "bool"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.12.3*<br><br>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→<br>`ancestorcount`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.13.0*<br><br>The number of in-mempool ancestor transactions (including this one)"
- n: "→ TXID→<br>`ancestorsize`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.13.0*<br><br>The size of in-mempool ancestors (including this one)"
- n: "→ TXID→<br>`ancestorfees`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.13.0*<br><br>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 %}

View file

@ -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<br>(0 or 1)"
d: "For Dash:<br>Set to `0` (the default) to return the serialized transaction as hex. Set to `1` to return a decoded transaction.<br><br>*Updated in Bitcoin Core 0.14.0*<br><br>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*<br><br>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 %}

View file

@ -37,6 +37,11 @@ The `getwalletinfo` RPC {{summary_getWalletInfo}}
p: "Required<br>(exactly 1)"
d: "The total confirmed balance of the wallet. The same as returned by the `getbalance` RPC with default parameters"
- n: "→<br>`privatesendbalance`"
t: "number (dash)"
p: "Required<br>(exactly 1)"
d: "*Added in Dash Core 0.12.3*<br><br>The total PrivateSend balance of the wallet"
- n: "→<br>`unconfirmed_balance`"
t: "number (dash)"
p: "Required<br>(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,

View file

@ -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<br>(exactly 1)"
d: "Result return format:<br>`json` (default)<br>`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<br>(exactly 1)"
d: "Information about the governance object"
- n: "→<br>`objects_total`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Total object count"
- n: "→<br>`proposals`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Proposal count"
- n: "→<br>`triggers`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Trigger count"
- n: "→<br>`other`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Non-proposal/trigger count"
- n: "→<br>`erased`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Erased count"
- n: "→<br>`votes`"
t: "int"
p: "Required<br>(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: "→<br>Vote Info"
t: "string"
p: "Required<br>(1 or more)"
d: "Key: vote-hash<br><br>Value: vinMasternode, time, outcome, and signal of the vote"
d: "Key: vote-hash<br><br>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 %}

View file

@ -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<br>(0 or 1)"
d: "The error code"
- n: "→ → → <br>`message`"
- n: "→ → → <br>`message<!--noref-->`"
t: "string"
p: "Optional<br>(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 %}

View file

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

View file

@ -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<br>(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<br>(exactly 1)"
d: "An object containing key/value pairs corresponding to the addresses with balances > the minimum amount. May be empty"
- n: "→<br>Address/Amount"
t: "string (base58):<br>number (DASH)"
p: "Optional<br>(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 %}

View file

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

View file

@ -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<br>(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<br>(exactly 1)"
d: "The number of confirmations received for the transaction containing this output"
- n: "→ →<br>`ps_rounds`"
t: "number (int)"
p: "Required<br>(exactly 1)"
d: "The number of PrivateSend rounds"
- n: "→ →<br>`spendable`"
t: "bool"
p: "Required<br>(exactly 1)"
@ -122,9 +128,14 @@ the *spendable* field in the results described below.
p: "Required<br>(exactly 1)"
d: "*Added in Bitcoin Core 0.13.0*<br><br>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: "→ →<br>`ps_rounds`"
t: "number (int)"
p: "Required<br>(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 %}

View file

@ -30,7 +30,7 @@ The `masternode<!--noref--> count` RPC prints the number of all known masternode
- n: "Mode"
t: "string (hex)"
p: "Optional<br>(exactly 1)"
d: "Which masternodes to count:<br>`ps` - PrivateSend capable,<br>`enabled` - Enabled,<br>`all` - All,<br>`qualify` - Eligible for payment"
d: "Which masternodes to count:<br>`total` - Pre-0.12.3 default result,<br>`ps` - PrivateSend capable,<br>`enabled` - Enabled,<br>`all` - All,<br>`qualify` - Eligible for payment"
{% enditemplate %}
@ -38,13 +38,33 @@ The `masternode<!--noref--> count` RPC prints the number of all known masternode
{% itemplate ntpd1 %}
- n: "`result`"
t: "string (hex)"
t: "object"
p: "Required<br>(exactly 1)"
d: "Transaction ID for the collateral transaction"
d: "Masternode count by mode"
- n: "→<br>`total`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Count of all masternodes"
- n: "→<br>`ps_compatible`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Count of PrivateSend compatible masternodes"
- n: "→<br>`enabled`"
t: "int"
p: "Required<br>(exactly 1)"
d: "Count of enabled masternodes"
- n: "→<br>`qualify`"
t: "int"
p: "Required<br>(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<br>(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<!--noref--> count` pre-0.12.3)**
*Result---number of known masternodes in mode*
{% itemplate ntpd1 %}
- n: "`result`"
t: "int"
p: "Required<br>(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<!--noref--> Current

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -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<br>(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<br>(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<!--noref--> from `dash-cli` because result is set to `null`).
*See also: none*
{% endautocrossref %}

View file

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

View file

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

View file

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

View file

@ -101,6 +101,11 @@ The `validateaddress` RPC {{summary_validateAddress}}
p: "Optional<br>(0 or 1)"
d: "*Deprecated: will be removed in a later version of Bitcoin Core*<br><br>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: "→<br>`timestamp`"
t: "number (int)"
p: "Optional<br>(0 or 1)"
d: "*Added in Dash Core 0.12.3*<br><br>The creation time of the key if available in seconds since epoch (Jan 1 1970 GMT)"
- n: "→<br>`hdkeypath`"
t: "string"
p: "Optional<br>(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 %}

View file

@ -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
<!-- no subhead-links here -->
{% 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

View file

@ -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<!--noref-->=test1` never be able to
accept blocks from `devnet<!--noref-->=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=<name>`<!--noref--> with `dash-cli`,
`dashd`or `dash-qt` or add `devnet<!--noref-->=<name>` 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=<name>`<!--noref-->.
Devnet wallets and block chain state (chainstate) are saved in the `devnet-<name>`<!--noref-->
subdirectory of the Dash Core configuration directory. You can safely
delete the `devnet-<name>`<!--noref--> 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 %}

View file

@ -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<!--noref-->.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<!--noref-->-wallet<!--noref-->-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<!--noref-->.h#L22))

View file

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

View file

@ -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 <br>(Nov 2017) | • DIP-0001 (2MB blocks)<br>• Fee reduction (10x)<br>• InstantSend fix<br>• PrivateSend improvements<br>_Experimental_ HD wallet<br>• Local Masternode support removed
| 70210 | Dash Core 0.12.3.x <br>(July 2018) | • Named Devnets<br>• New signature format / Spork 6 addition<br>• Bitcoin Core 0.13/0.14 backports<br>• [BIP90][]: Buried deployments<br>• [BIP147][]: NULLYDUMMY enforcement<br>• [BIP152][] Compact Blocks<br>• Transaction version increased to 2<br>• Zero fee transactions removed<br>• Pruning in Lite Mode
| 70208 | Dash Core 0.12.2.x <br>(Nov 2017) | • [DIP1][] (2MB blocks)<br>• Fee reduction (10x)<br>• InstantSend fix<br>• PrivateSend improvements<br>_Experimental_ HD wallet<br>• Local Masternode support removed
| 70206 | Dash Core 0.12.1.x <br>(Mar 2017) | • Switch to Bitcoin Core 0.12.1<br>• BIP-0065 (CheckLockTimeVerify)<br>• BIP-0112 (CheckSequenceVerify)
| 70103 | Dash Core 0.12.0.x <br>(Aug 2015) | • Switch to Bitcoin Core 0.10<br>• Decentralized budget system<br>• New IX implementation
| 70076 | Dash Core 0.11.2.x <br>(Mar 2015) | • Masternode enhancements<br>• Mining/relay policy enhancements<br>• 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<br>_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_<br>length | CompactSize | As used to encode array lengths elsewhere | The number of short transaction IDs in `shortids` (i.e. block tx count - `prefilledtxn`<br>`_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<br>_length | CompactSize | As used to encode array lengths elsewhere | The number of prefilled transactions in `prefilledtxn` (i.e. block tx count - `shortids`<br>`_length`)
| *Varies* | prefilledtxn | List of Prefilled<br>Transactions | As defined by `Prefilled`<br>`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.
<!-- * Two null-bytes appended so it can be read as an 8-byte integer. -->
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. <!-- What about spork? Only handled by getspork?-->
`govobjvote` message, `mnv` message, `notfound` message, or `cmpctblock` message. <!-- What about spork? Only handled by getspork?-->
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<br>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<br>d06a21b07be27b9bb555931773f62ba6cf35a25fd52f694d4e1106ccd237<br>a7bb899fdd |
| Testnet3 | 046f78dcf911fbd61910136f7f0f8d90578f68d0b3ac973b5040fb7afb50<br>1b5939f39b108b0569dca71488f5bbf498d92e4d1194f6f941307ffd95f7<br>5e76869f0e |
| RegTest | Undefined |
| Devnets | 046f78dcf911fbd61910136f7f0f8d90578f68d0b3ac973b5040fb7afb50<br>1b5939f39b108b0569dca71488f5bbf498d92e4d1194f6f941307ffd95f7<br>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.* <br><br>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.* <br><br>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<!--noref-->-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:<br>`All Entries` - empty txIn<br>`Single Entry` - Masternode's unspent output which is holding 1000 DASH
| 36 | masternodeOutPoint | outPoint | Required | Request options:<br>`All Entries` - empty txIn<br>`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**<br><br>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_<br><br>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`.<br>Sent by _SendVerifyRequest()_.
| 2 | | ← | `mnv` message | Add `vchSig1` (signature of the IP address + nonce + hash of the requested block).<br>Sent by _SendVerifyReply()_.
| 3 | `mnv` message | → | | Verify `vchSig1` <br><br>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.<br>Sent by _ProcessVerifyReply()_.
| 3 | `mnv` message | → | | Verify `vchSig1` <br><br>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.<br>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.<br><br>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: <br>`0` - Unknown<br>`1` - Proposal<br>`2` - Trigger<br>`3` - Watchdog
| 41 | vinMasternode | CTxIn | Required* | Unspent output for the masternode which is signing this object.<br><br>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.<br><br>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))<br><br>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.<br><br>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)

View file

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

View file

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

View file

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

View file

@ -4,7 +4,7 @@ http://opensource.org/licenses/MIT.
{% endcomment %}
<ul id="menusimple" class="menusimple menumain" onclick="mobileMenuHover(event);" ontouchstart="mobileMenuHover(event);">
<li{% if page.id == 'bitcoin-for-developers' %} class="active"{% endif %}><a href="/{{ page.lang }}/{% translate bitcoin-for-developers url %}">{% translate menu-bitcoin-for-developers layout %}</a></li>
<li{% if page.id == 'dash-for-developers' %} class="active"{% endif %}><a href="/{{ page.lang }}/{% translate dash-for-developers url %}">{% translate menu-dash-for-developers layout %}</a></li>
<!--{% if page.lang == 'en' %}<li{% if page.id == 'developer-documentation' %} class="active"{% endif %}><a href="/en/developer-documentation">Documentation</a></li>{% endif %}-->
<li><a>{% translate menu-documentation layout %}</a>

View file

@ -77,7 +77,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-yw4l">Blockchain</td>
<td class="tg-yw4l"><a href="#getblockchaininfo">GetBlockChainInfo</a></td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh"></td>
<td class="tg-baqh">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-b7b8">Blockchain</td>
@ -113,7 +113,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-yw4l">Blockchain</td>
<td class="tg-yw4l"><a href="#getchaintips">GetChainTips</a></td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh"></td>
<td class="tg-baqh">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-b7b8">Blockchain</td>
@ -124,20 +124,20 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<tr>
<td class="tg-yw4l">Blockchain</td>
<td class="tg-yw4l"><a href="#getmempoolancestors">GetMemPoolAncestors</a></td>
<td class="tg-baqh">N</td>
<td class="tg-baqh">N/A</td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-b7b8">Blockchain</td>
<td class="tg-b7b8"><a href="#getmempooldescendants">GetMemPoolDescendants</a></td>
<td class="tg-dzk6">N</td>
<td class="tg-dzk6">N/A</td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-yw4l">Blockchain</td>
<td class="tg-yw4l"><a href="#getmempoolentry">GetMemPoolEntry</a></td>
<td class="tg-baqh">N</td>
<td class="tg-baqh">N/A</td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-b7b8">Blockchain</td>
@ -149,7 +149,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-yw4l">Blockchain</td>
<td class="tg-yw4l"><a href="#getrawmempool">GetRawMemPool</a></td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh"></td>
<td class="tg-baqh">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-b7b8">Blockchain</td>
@ -178,14 +178,14 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<tr>
<td class="tg-b7b8">Blockchain</td>
<td class="tg-b7b8"><a href="#preciousblock">PreciousBlock</a></td>
<td class="tg-dzk6">N</td>
<td class="tg-dzk6">N/A</td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-yw4l">Blockchain</td>
<td class="tg-yw4l"><a href="#pruneblockchain">PruneBlockChain</a></td>
<td class="tg-baqh">N</td>
<td class="tg-baqh">N/A</td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-b7b8">Blockchain</td>
@ -203,7 +203,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-b7b8">Control</td>
<td class="tg-b7b8"><a href="#debug">Debug</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
<td class="tg-dzk6">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Control</td>
@ -227,7 +227,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-b7b8">Dash</td>
<td class="tg-b7b8"><a href="#getgovernanceinfo">GetGovernanceInfo</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6">Updated in 0.12.2.2</td>
<td class="tg-dzk6">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Dash</td>
@ -245,13 +245,13 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-yw4l">Dash</td>
<td class="tg-yw4l"><a href="#gobject">GObject</a></td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh"></td>
<td class="tg-baqh">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-b7b8">Dash</td>
<td class="tg-b7b8"><a href="#masternode">Masternode</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
<td class="tg-dzk6">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Dash</td>
@ -263,7 +263,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-b7b8">Dash</td>
<td class="tg-b7b8"><a href="#masternodelist">MasternodeList</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
<td class="tg-dzk6">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Dash</td>
@ -275,7 +275,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-b7b8">Dash</td>
<td class="tg-b7b8"><a href="#privatesend">PrivateSend</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
<td class="tg-dzk6">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Dash</td>
@ -299,31 +299,31 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-b7b8">Generating</td>
<td class="tg-b7b8"><a href="#generate">Generate</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
<td class="tg-dzk6">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Generating</td>
<td class="tg-yw4l"><a href="#generatetoaddress">GenerateToAddress</a></td>
<td class="tg-baqh">N</td>
<td class="tg-baqh">N/A</td>
</tr>
<tr>
<td class="tg-b7b8">Generating</td>
<td class="tg-b7b8"><a href="#getgenerate">GetGenerate</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
</tr>
<tr>
<td class="tg-yw4l">Generating</td>
<td class="tg-yw4l"><a href="#setgenerate">SetGenerate</a></td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh"></td>
<td class="tg-baqh">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-b7b8">Removed</td>
<td class="tg-b7b8"><a href="#getgenerate">GetGenerate</a></td>
<td class="tg-dzk6">N</td>
<td class="tg-dzk6">Removed in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Removed</td>
<td class="tg-yw4l"><a href="#setgenerate">SetGenerate</a></td>
<td class="tg-baqh">N</td>
<td class="tg-baqh">Removed in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-b7b8">Mining</td>
<td class="tg-b7b8"><a href="#getblocktemplate">GetBlockTemplate</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
<td class="tg-dzk6">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Mining</td>
@ -371,7 +371,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-b7b8">Network</td>
<td class="tg-b7b8"><a href="#getaddednodeinfo">GetAddedNodeInfo</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
<td class="tg-dzk6">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Network</td>
@ -389,7 +389,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-yw4l">Network</td>
<td class="tg-yw4l"><a href="#getnetworkinfo">GetNetworkInfo</a></td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh"></td>
<td class="tg-baqh">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-b7b8">Network</td>
@ -425,7 +425,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-yw4l">Rawtransactions</td>
<td class="tg-yw4l"><a href="#createrawtransaction">CreateRawTransaction</a></td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh"></td>
<td class="tg-baqh">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-b7b8">Rawtransactions</td>
@ -443,13 +443,13 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-b7b8">Rawtransactions</td>
<td class="tg-b7b8"><a href="#fundrawtransaction">FundRawTransaction</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
<td class="tg-dzk6">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Rawtransactions</td>
<td class="tg-yw4l"><a href="#getrawtransaction">GetRawTransaction</a></td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh"></td>
<td class="tg-baqh">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-b7b8">Rawtransactions</td>
@ -491,7 +491,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-b7b8">Util</td>
<td class="tg-b7b8"><a href="#estimatepriority">EstimatePriority</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
<td class="tg-dzk6">Deprecated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Util</td>
@ -503,19 +503,25 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-b7b8">Util</td>
<td class="tg-b7b8"><a href="#estimatesmartpriority">EstimateSmartPriority</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
<td class="tg-dzk6">Deprecated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Util</td>
<td class="tg-yw4l"><a href="#getmemoryinfo">GetMemoryInfo</a></td>
<td class="tg-baqh">N</td>
<td class="tg-baqh">N/A</td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-b7b8">Util</td>
<td class="tg-b7b8"><a href="#setbip69enabled">SetBIP69Enabled</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-b7b8">Util</td>
<td class="tg-b7b8"><a href="#validateaddress">ValidateAddress</a></td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
<td class="tg-dzk6">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-yw4l">Util</td>
@ -641,7 +647,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-yw4l">Wallet</td>
<td class="tg-yw4l"><a href="#getwalletinfo">GetWalletInfo</a></td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh"></td>
<td class="tg-baqh">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-b7b8">Wallet</td>
@ -658,8 +664,8 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<tr>
<td class="tg-b7b8">Wallet</td>
<td class="tg-b7b8"><a href="#importmulti">ImportMulti</a></td>
<td class="tg-dzk6">N</td>
<td class="tg-dzk6">N/A</td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-yw4l">Wallet</td>
@ -670,8 +676,8 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<tr>
<td class="tg-b7b8">Wallet</td>
<td class="tg-b7b8"><a href="#importprunedfunds">ImportPrunedFunds</a></td>
<td class="tg-dzk6">N</td>
<td class="tg-dzk6">N/A</td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-yw4l">Wallet</td>
@ -709,6 +715,12 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6"></td>
</tr>
<tr>
<td class="tg-yw4l">Wallet</td>
<td class="tg-yw4l"><a href="#listaddressbalances">ListAddressBalances</a></td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-yw4l">Wallet</td>
<td class="tg-yw4l"><a href="#listaddressgroupings">ListAddressGroupings</a></td>
@ -749,7 +761,7 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<td class="tg-yw4l">Wallet</td>
<td class="tg-yw4l"><a href="#listunspent">ListUnspent</a></td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh"></td>
<td class="tg-baqh">Updated in 0.12.3.0</td>
</tr>
<tr>
<td class="tg-b7b8">Wallet</td>
@ -766,8 +778,8 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<tr>
<td class="tg-b7b8">Wallet</td>
<td class="tg-b7b8"><a href="#removeprunedfunds">RemovePrunedFunds</a></td>
<td class="tg-dzk6">N</td>
<td class="tg-dzk6">N/A</td>
<td class="tg-dzk6">Y</td>
<td class="tg-dzk6">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-yw4l">Wallet</td>
@ -808,8 +820,8 @@ th.tg-sort-header::-moz-selection { background:transparent; }th.tg-sort-header::
<tr>
<td class="tg-yw4l">Wallet</td>
<td class="tg-yw4l"><a href="#signmessagewithprivkey">SignMessageWithPrivKey</a></td>
<td class="tg-baqh">N</td>
<td class="tg-baqh">N/A</td>
<td class="tg-baqh">Y</td>
<td class="tg-baqh">0.12.3.0+</td>
</tr>
<tr>
<td class="tg-b7b8">Wallet</td>

View file

@ -4,8 +4,11 @@ http://opensource.org/licenses/MIT.
{% endcomment %}
{% comment %}<!-- Terms; must have tooltip description in "quotes"; alphabetical order -->{% endcomment %}
[blocktransactions]: /en/developer-reference#blocktxn "A P2P Networking data structure used to provide some of the transactions in a block as requested"
[blocktransactionsrequest]: /en/developer-reference#getblocktxn "A P2P Networking data structure used to list transaction indexes in a block being requested by a peer"
[coinbase block height]: /en/developer-reference#term-coinbase-block-height "The current block's height encoded into the first bytes of the coinbase field"
[data-pushing opcode]: https://en.bitcoin.it/wiki/Script#Constants "Any opcode from 0x01 to 0x4e which pushes data on to the script evaluation stack"
[headerandshortids]: /en/developer-reference#cmpctblock "A P2P Networking data structure used to relay a block header, the short transactions IDs used for matching already-available transactions, and a select few transactions which a peer may be missing"
[key index]: /en/developer-guide#term-key-index "An index number used in the HD wallet formula to generate child keys from a parent key"
[key pair]: /en/developer-guide#term-key-pair "A private key and its derived public key"
<!-- Inventory Messages -->
@ -29,6 +32,7 @@ http://opensource.org/licenses/MIT.
[msg_governance_object]: /en/developer-reference#term-msg_governance_object "Governance object data type identifier of an inventory on the P2P network"
[msg_governance_object_vote]: /en/developer-reference#term-msg_governance_object_vote "Governance object vote data type identifier of an inventory on the P2P network"
[msg_masternode_verify]: /en/developer-reference#term-msg_masternode_verify "Masternode Verify data type identifier of an inventory on the P2P network"
[msg_cmpct_block]: /en/developer-reference#term-msg_cmpct_block "An alternative to the block header hash data type identifier of an inventory on the P2P network used to request a compact block"
[network]: /en/developer-guide#term-network "The Dash P2P network which broadcasts transactions and blocks"
[op_checkmultisig]: /en/developer-reference#term-op-checkmultisig "Opcode which returns true if one or more provided signatures (m) sign the correct parts of a transaction and match one or more provided public keys (n)"
@ -41,6 +45,7 @@ http://opensource.org/licenses/MIT.
[op_verify]: /en/developer-reference#term-op-verify "Operation which terminates the script if the entry below it on the stack is non-true (zero)"
[output index]: /en/developer-guide#term-output-index "The sequentially-numbered index of outputs in a single transaction starting from 0"
[point function]: /en/developer-guide#term-point-function "The ECDSA function used to create a public key from a private key"
[prefilledtransaction]: /en/developer-reference#cmpctblock "A P2P Networking data structure used to represent a vector of a few transactions"
[previous block header hash]: /en/developer-reference#term-previous-block-header-hash "A field in the block header which contains the SHA256(SHA256()) hash of the previous block's header"
[proper money handling]: /en/developer-reference#term-proper-money-handling "Bitcoin amounts need to be correctly processed without introducing rounding errors that could cause monetary loss"
[standard block relay]: /en/developer-guide#term-standard-block-relay "The regular block relay method: announcing a block with an inv message and waiting for a response"
@ -144,6 +149,7 @@ http://opensource.org/licenses/MIT.
[rpc keepass]: /en/developer-reference#keepass
[rpc keypoolrefill]: /en/developer-reference#keypoolrefill
[rpc listaccounts]: /en/developer-reference#listaccounts
[rpc listaddressbalances]: /en/developer-reference#listaddressbalances
[rpc listaddressgroupings]: /en/developer-reference#listaddressgroupings
[rpc listbanned]: /en/developer-reference#listbanned
[rpc listlockunspent]: /en/developer-reference#listlockunspent
@ -170,6 +176,7 @@ http://opensource.org/licenses/MIT.
[rpc sendtoaddress]: /en/developer-reference#sendtoaddress
[rpc setaccount]: /en/developer-reference#setaccount
[rpc setban]: /en/developer-reference#setban
[rpc setbip69enabled]: /en/developer-reference#setbip69enabled
[rpc setgenerate]: /en/developer-reference#setgenerate
[rpc setnetworkactive]: /en/developer-reference#setnetworkactive
[rpc settxfee]: /en/developer-reference#settxfee
@ -203,6 +210,8 @@ http://opensource.org/licenses/MIT.
[addr message]: /en/developer-reference#addr "The P2P network message which relays IP addresses and port numbers of active nodes to other nodes and clients, allowing decentralized peer discovery."
[alert message]: /en/developer-reference#alert "The P2P network message which sends alerts in case of major software problems."
[block message]: /en/developer-reference#block "The P2P network message which sends a serialized block"
[blocktxn message]: /en/developer-reference#blocktxn "The P2P network message which sends a list of requested transactions from a compact block"
[cmpctblock message]: /en/developer-reference#cmpctblock "The P2P network message which sends a serialized compact block"
[dsa message]: /en/developer-reference#dsa "A P2P network message used to join a mixing pool"
[dsc message]: /en/developer-reference#dsc "A P2P network message used to indicates a PrivateSend mixing session is complete"
[dsf message]: /en/developer-reference#dsf "A P2P network message sent as the final mixing transaction in a session asking users to sign the final mixing TX messages"
@ -218,6 +227,7 @@ http://opensource.org/licenses/MIT.
[filterload message]: /en/developer-reference#filterclear "A P2P protocol message used to send a filter to a remote peer, requesting that they only send transactions which match the filter."
[getaddr message]: /en/developer-reference#getaddr "A P2P protool message used to request an addr message containing connection information for other nodes"
[getblocks message]: /en/developer-reference#getblocks "A P2P protocol message used to request an inv message containing a range of block header hashes"
[getblocktxn message]: /en/developer-reference#getblocktxn "A P2P protocol message used to request transactions from a compact block"
[getdata message]: /en/developer-reference#getdata "A P2P protocol message used to request one or more transactions, blocks, or merkle blocks"
[getheaders message]: /en/developer-reference#getheaders "A P2P protocol message used to request a range of block headers"
[getsporks message]: /en/developer-reference#getsporks "A P2P network message used to request the status of sporks"
@ -238,6 +248,7 @@ http://opensource.org/licenses/MIT.
[ping message]: /en/developer-reference#ping "A P2P network message used to see if the remote host is still connected"
[pong message]: /en/developer-reference#pong "A P2P network message used to reply to a P2P network ping message"
[reject message]: /en/developer-reference#reject "A P2P network message used to indicate a previously-received message was rejected for some reason"
[sendcmpct message]: /en/developer-reference#sendcmpct "A P2P network message used to request new blocks be announced as compact blocks"
[sendheaders message]: /en/developer-reference#sendheaders "A P2P network message used to request new blocks be announced through headers messages rather than inv messages"
[spork message]: /en/developer-reference#spork "A P2P network message used to send the activation status of a spork"
[ssc message]: /en/developer-reference#ssc "A P2P network message used to track the sync status of masternode objects ()"
@ -312,9 +323,11 @@ http://opensource.org/licenses/MIT.
[BIP62]: https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki
[BIP65]: https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
[BIP66]: https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki
[BIP68]: https://github.com/bitcoin/bips/blob/master/bip-0068.mediawiki
[BIP70]: https://github.com/bitcoin/bips/blob/master/bip-0070.mediawiki
[BIP71]: https://github.com/bitcoin/bips/blob/master/bip-0071.mediawiki
[BIP72]: https://github.com/bitcoin/bips/blob/master/bip-0072.mediawiki
[BIP90]: https://github.com/bitcoin/bips/blob/master/bip-0090.mediawiki
[BIP111]: https://github.com/bitcoin/bips/blob/master/bip-0111.mediawiki
[BIP112]: https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki
[BIP113]: https://github.com/bitcoin/bips/blob/master/bip-0113.mediawiki
@ -322,6 +335,7 @@ http://opensource.org/licenses/MIT.
[BIP130]: https://github.com/bitcoin/bips/blob/master/bip-0130.mediawiki
[BIP133]: https://github.com/bitcoin/bips/blob/master/bip-0133.mediawiki
[BIP141]: https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki
[BIP147]: https://github.com/bitcoin/bips/blob/master/bip-0147.mediawiki
[BIP151]: https://github.com/bitcoin/bips/blob/master/bip-0151.mediawiki
[BIP152]: https://github.com/bitcoin/bips/blob/master/bip-0152.mediawiki
[CVE-2012-2459]: https://en.bitcoin.it/wiki/CVEs#CVE-2012-2459

View file

@ -556,7 +556,7 @@ h1 span.fa, h2 span.fa, h3 span.fa, h4 span.fa, h5 span.fa, h6 span.fa {
background-image:-ms-linear-gradient(bottom, #20598f 14%, #2c6fad 70%);
background-image:linear-gradient(bottom, #20598f 14%, #2c6fad 70%);
color:#fff;
padding:15px 20px 20px 68px;
padding:15px 20px 20px 15px;
margin:40px 0 40px 0;
-webkit-border-radius:12px;
-moz-border-radius:12px;

View file

@ -3,7 +3,7 @@
# http://opensource.org/licenses/MIT.
layout: base
id: bitcoin-for-developers
id: dash-for-developers
---
<h1>{% translate pagetitle %}</h1>
<p class="summary">{% translate summary %}</p>
@ -28,4 +28,4 @@ id: bitcoin-for-developers
<div class="introlink"><a href="/en/">Developer Documentation {% if page.lang != "en" %}(English){% endif %}</a></div>
<!--<div class="mainbutton"><a href="/{{ page.lang }}/{% translate getting-started url %}"><img src="/img/icons/but_bitcoin.svg" alt="icon">{% translate getstarted layout %}</a></div> -->
<div class="mainbutton"><a href="https://www.dash.org/" target="_blank"><img src="/img/icons/but_bitcoin.svg" alt="icon">{% translate getstarted layout %}</a></div>
<div class="mainbutton"><a href="https://www.dash.org/" target="_blank">{% translate getstarted layout %}</a></div>

View file

@ -61,7 +61,7 @@ en:
multisigtext: "Bitcoin also includes a multi-signature feature which allows bitcoins to be spent only if a subset of a group of people authorize the transaction. This can be used by a board of directors to prevent any member to make expenditures without enough consent from other members, as well as to track which members allowed each payment."
transparency: "Accounting transparency"
transparencytext: "Many organizations are required to produce accounting documents about their activity. Using Bitcoin allows you to offer the highest level of transparency since you can provide information your members can use to verify your balances and transactions. Non-profit organizations can also allow the public to see how much they receive in donations."
bitcoin-for-developers:
dash-for-developers:
title: "Dash for Developers - Dash"
pagetitle: "Dash for Developers"
summary: "Dash can be used to build amazing things or just answer common needs."
@ -868,7 +868,7 @@ en:
layout:
menu-about-us: "About bitcoin.org"
menu-bitcoin-for-businesses: Businesses
menu-bitcoin-for-developers: Developers
menu-dash-for-developers: Developers
menu-bitcoin-for-individuals: Individuals
menu-community: Community
menu-development: Development
@ -907,7 +907,7 @@ en:
donation-modal-optional-message: "Optional description (for your wallet)"
url:
about-us: about-us
bitcoin-for-developers: bitcoin-for-developers
dash-for-developers: dash-for-developers
bitcoin-for-individuals: bitcoin-for-individuals
bitcoin-for-businesses: bitcoin-for-businesses
buy: buy

View file

@ -33,7 +33,7 @@
<a class="logo" href="/en/"><img src="$relpath^$projectlogo" alt="Dash"></img></a>
<ul id="menusimple" class="menusimple menumain" onclick="mobileMenuHover(event);" ontouchstart="mobileMenuHover(event);">
<li><a href="/en/bitcoin-for-developers">Developers</a></li>
<li><a href="/en/dash-for-developers">Developers</a></li>
<li><a>Documentation</a>
<ul>

View file

@ -248,6 +248,8 @@ untrusted source.
{% include devdoc/dash-core/rpcs/rpcs/listaccounts.md %}
{% include devdoc/dash-core/rpcs/rpcs/listaddressbalances.md %}
{% include devdoc/dash-core/rpcs/rpcs/listaddressgroupings.md %}
{% include devdoc/dash-core/rpcs/rpcs/listbanned.md %}
@ -300,6 +302,8 @@ untrusted source.
{% include devdoc/dash-core/rpcs/rpcs/setban.md %}
{% include devdoc/dash-core/rpcs/rpcs/setbip69enabled.md %}
{% include devdoc/dash-core/rpcs/rpcs/setgenerate.md %}
{% include devdoc/dash-core/rpcs/rpcs/setnetworkactive.md %}

View file

@ -22,6 +22,8 @@ sendheaders;
ERROR [ style = "invis" ];
ERROR -> reject [ style = "invis" ];
sendcmpct;
label = " \nOverview Of P2P Protocol Control And Advisory Messages"
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Before After
Before After

View file

@ -4,94 +4,99 @@
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: %3 Pages: 1 -->
<svg width="450pt" height="97pt"
viewBox="0.00 0.00 450.00 96.70" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(0.690714 0.690714) rotate(0) translate(4 136)">
<svg width="450pt" height="86pt"
viewBox="0.00 0.00 450.00 86.07" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(0.614754 0.614754) rotate(0) translate(4 136)">
<title>%3</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-136 647.5,-136 647.5,4 -4,4"/>
<text text-anchor="middle" x="321.75" y="-22.8" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="321.75" y="-7.8" font-family="Sans" font-size="14.00">Overview Of P2P Protocol Control And Advisory Messages</text>
<polygon fill="white" stroke="none" points="-4,4 -4,-136 728,-136 728,4 -4,4"/>
<text text-anchor="middle" x="362" y="-22.8" font-family="Sans" font-size="14.00"> </text>
<text text-anchor="middle" x="362" y="-7.8" font-family="Sans" font-size="14.00">Overview Of P2P Protocol Control And Advisory Messages</text>
<!-- version -->
<g id="node1" class="node"><title>version</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="71,-132 0,-132 0,-96 71,-96 71,-132"/>
<text text-anchor="middle" x="35.5" y="-110.3" font-family="Sans" font-size="14.00">version</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="67,-132 0,-132 0,-96 67,-96 67,-132"/>
<text text-anchor="middle" x="33.5" y="-110.3" font-family="Sans" font-size="14.00">version</text>
</g>
<!-- verack -->
<g id="node2" class="node"><title>verack</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="68,-74 3,-74 3,-38 68,-38 68,-74"/>
<text text-anchor="middle" x="35.5" y="-52.3" font-family="Sans" font-size="14.00">verack</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="64.5,-74 2.5,-74 2.5,-38 64.5,-38 64.5,-74"/>
<text text-anchor="middle" x="33.5" y="-52.3" font-family="Sans" font-size="14.00">verack</text>
</g>
<!-- version&#45;&gt;verack -->
<g id="edge1" class="edge"><title>version&#45;&gt;verack</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M35.5,-95.8939C35.5,-88.9462 35.5,-80.9383 35.5,-74.0014"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M33.5,-95.8939C33.5,-88.9462 33.5,-80.9383 33.5,-74.0014"/>
</g>
<!-- ping -->
<g id="node3" class="node"><title>ping</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="139.5,-132 85.5,-132 85.5,-96 139.5,-96 139.5,-132"/>
<text text-anchor="middle" x="112.5" y="-110.3" font-family="Sans" font-size="14.00">ping</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="135.5,-132 81.5,-132 81.5,-96 135.5,-96 135.5,-132"/>
<text text-anchor="middle" x="108.5" y="-110.3" font-family="Sans" font-size="14.00">ping</text>
</g>
<!-- pong -->
<g id="node4" class="node"><title>pong</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="139.5,-74 85.5,-74 85.5,-38 139.5,-38 139.5,-74"/>
<text text-anchor="middle" x="112.5" y="-52.3" font-family="Sans" font-size="14.00">pong</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="135.5,-74 81.5,-74 81.5,-38 135.5,-38 135.5,-74"/>
<text text-anchor="middle" x="108.5" y="-52.3" font-family="Sans" font-size="14.00">pong</text>
</g>
<!-- ping&#45;&gt;pong -->
<g id="edge2" class="edge"><title>ping&#45;&gt;pong</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M112.5,-95.8939C112.5,-88.9462 112.5,-80.9383 112.5,-74.0014"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M108.5,-95.8939C108.5,-88.9462 108.5,-80.9383 108.5,-74.0014"/>
</g>
<!-- getaddr -->
<g id="node5" class="node"><title>getaddr</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="227.5,-132 153.5,-132 153.5,-96 227.5,-96 227.5,-132"/>
<text text-anchor="middle" x="190.5" y="-110.3" font-family="Sans" font-size="14.00">getaddr</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="219.5,-132 149.5,-132 149.5,-96 219.5,-96 219.5,-132"/>
<text text-anchor="middle" x="184.5" y="-110.3" font-family="Sans" font-size="14.00">getaddr</text>
</g>
<!-- addr -->
<g id="node6" class="node"><title>addr</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="217.5,-74 163.5,-74 163.5,-38 217.5,-38 217.5,-74"/>
<text text-anchor="middle" x="190.5" y="-52.3" font-family="Sans" font-size="14.00">addr</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="211.5,-74 157.5,-74 157.5,-38 211.5,-38 211.5,-74"/>
<text text-anchor="middle" x="184.5" y="-52.3" font-family="Sans" font-size="14.00">addr</text>
</g>
<!-- getaddr&#45;&gt;addr -->
<g id="edge3" class="edge"><title>getaddr&#45;&gt;addr</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M190.5,-95.8939C190.5,-88.9462 190.5,-80.9383 190.5,-74.0014"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M184.5,-95.8939C184.5,-88.9462 184.5,-80.9383 184.5,-74.0014"/>
</g>
<!-- filterload -->
<g id="node7" class="node"><title>filterload</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="371,-132 288,-132 288,-96 371,-96 371,-132"/>
<text text-anchor="middle" x="329.5" y="-110.3" font-family="Sans" font-size="14.00">filterload</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="354,-132 277,-132 277,-96 354,-96 354,-132"/>
<text text-anchor="middle" x="315.5" y="-110.3" font-family="Sans" font-size="14.00">filterload</text>
</g>
<!-- filteradd -->
<g id="node8" class="node"><title>filteradd</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="317,-74 238,-74 238,-38 317,-38 317,-74"/>
<text text-anchor="middle" x="277.5" y="-52.3" font-family="Sans" font-size="14.00">filteradd</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="304.5,-74 230.5,-74 230.5,-38 304.5,-38 304.5,-74"/>
<text text-anchor="middle" x="267.5" y="-52.3" font-family="Sans" font-size="14.00">filteradd</text>
</g>
<!-- filterload&#45;&gt;filteradd -->
<g id="edge4" class="edge"><title>filterload&#45;&gt;filteradd</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M313.616,-95.8939C307.164,-88.9462 299.728,-80.9383 293.287,-74.0014"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M300.838,-95.8939C294.882,-88.9462 288.019,-80.9383 282.073,-74.0014"/>
</g>
<!-- filterclear -->
<g id="node9" class="node"><title>filterclear</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="420,-74 331,-74 331,-38 420,-38 420,-74"/>
<text text-anchor="middle" x="375.5" y="-52.3" font-family="Sans" font-size="14.00">filterclear</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="400.5,-74 318.5,-74 318.5,-38 400.5,-38 400.5,-74"/>
<text text-anchor="middle" x="359.5" y="-52.3" font-family="Sans" font-size="14.00">filterclear</text>
</g>
<!-- filterload&#45;&gt;filterclear -->
<g id="edge5" class="edge"><title>filterload&#45;&gt;filterclear</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M343.551,-95.8939C349.258,-88.9462 355.836,-80.9383 361.535,-74.0014"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M328.941,-95.8939C334.399,-88.9462 340.691,-80.9383 346.142,-74.0014"/>
</g>
<!-- alert -->
<g id="node10" class="node"><title>alert</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="439.5,-132 385.5,-132 385.5,-96 439.5,-96 439.5,-132"/>
<text text-anchor="middle" x="412.5" y="-110.3" font-family="Sans" font-size="14.00">alert</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="422.5,-132 368.5,-132 368.5,-96 422.5,-96 422.5,-132"/>
<text text-anchor="middle" x="395.5" y="-110.3" font-family="Sans" font-size="14.00">alert</text>
</g>
<!-- sendheaders -->
<g id="node11" class="node"><title>sendheaders</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="563.5,-132 453.5,-132 453.5,-96 563.5,-96 563.5,-132"/>
<text text-anchor="middle" x="508.5" y="-110.3" font-family="Sans" font-size="14.00">sendheaders</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="540.5,-132 436.5,-132 436.5,-96 540.5,-96 540.5,-132"/>
<text text-anchor="middle" x="488.5" y="-110.3" font-family="Sans" font-size="14.00">sendheaders</text>
</g>
<!-- ERROR -->
<!-- reject -->
<g id="node13" class="node"><title>reject</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="640,-74 581,-74 581,-38 640,-38 640,-74"/>
<text text-anchor="middle" x="610.5" y="-52.3" font-family="Sans" font-size="14.00">reject</text>
<polygon fill="none" stroke="black" stroke-width="1.75" points="615.5,-74 559.5,-74 559.5,-38 615.5,-38 615.5,-74"/>
<text text-anchor="middle" x="587.5" y="-52.3" font-family="Sans" font-size="14.00">reject</text>
</g>
<!-- ERROR&#45;&gt;reject -->
<!-- sendcmpct -->
<g id="node14" class="node"><title>sendcmpct</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="724,-132 635,-132 635,-96 724,-96 724,-132"/>
<text text-anchor="middle" x="679.5" y="-110.3" font-family="Sans" font-size="14.00">sendcmpct</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Before After
Before After

View file

@ -10,6 +10,8 @@ edge [ penwidth = 1.75, fontname="Sans", dir="none" ]
node [ penwidth = 1.75, shape = "box", fontname="Sans", ]
graph [ penwidth = 1.75, fontname="Sans" ]
getblocktxn -> blocktxn [ minlen = 3 ];
getblocks -> inv;
mempool -> inv;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Before After
Before After

View file

@ -1,117 +1,131 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.26.3 (20100126.1600)
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
-->
<!-- Title: _anonymous_0 Pages: 1 -->
<svg width="450pt" height="208pt"
viewBox="0.00 0.00 450.00 207.63" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph1" class="graph" transform="scale(0.755034 0.755034) rotate(0) translate(4 271)">
<title>_anonymous_0</title>
<polygon fill="white" stroke="white" points="-4,5 -4,-271 593,-271 593,5 -4,5"/>
<text text-anchor="middle" x="294" y="-8.4" font-family="Sans" font-size="14.00">Overview Of P2P Protocol Data Request And Reply Messages</text>
<!-- Title: %3 Pages: 1 -->
<svg width="450pt" height="234pt"
viewBox="0.00 0.00 450.00 234.49" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(0.758853 0.758853) rotate(0) translate(4 305)">
<title>%3</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-305 589,-305 589,4 -4,4"/>
<text text-anchor="middle" x="292.5" y="-7.8" font-family="Sans" font-size="14.00">Overview Of P2P Protocol Data Request And Reply Messages</text>
<!-- getblocktxn -->
<g id="node1" class="node"><title>getblocktxn</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="124,-59 26,-59 26,-23 124,-23 124,-59"/>
<text text-anchor="middle" x="75" y="-37.3" font-family="Sans" font-size="14.00">getblocktxn</text>
</g>
<!-- blocktxn -->
<g id="node2" class="node"><title>blocktxn</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="559,-59 484,-59 484,-23 559,-23 559,-59"/>
<text text-anchor="middle" x="521.5" y="-37.3" font-family="Sans" font-size="14.00">blocktxn</text>
</g>
<!-- getblocktxn&#45;&gt;blocktxn -->
<g id="edge1" class="edge"><title>getblocktxn&#45;&gt;blocktxn</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M124.061,-41C213.997,-41 403.414,-41 483.967,-41"/>
</g>
<!-- getblocks -->
<g id="node1" class="node"><title>getblocks</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="116,-141 36,-141 36,-105 116,-105 116,-141"/>
<text text-anchor="middle" x="76" y="-118.9" font-family="Sans" font-size="14.00">getblocks</text>
<g id="node3" class="node"><title>getblocks</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="115.5,-179 34.5,-179 34.5,-143 115.5,-143 115.5,-179"/>
<text text-anchor="middle" x="75" y="-157.3" font-family="Sans" font-size="14.00">getblocks</text>
</g>
<!-- inv -->
<g id="node3" class="node"><title>inv</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="233,-121 179,-121 179,-85 233,-85 233,-121"/>
<text text-anchor="middle" x="206" y="-98.9" font-family="Sans" font-size="14.00">inv</text>
<g id="node4" class="node"><title>inv</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="231,-159 177,-159 177,-123 231,-123 231,-159"/>
<text text-anchor="middle" x="204" y="-137.3" font-family="Sans" font-size="14.00">inv</text>
</g>
<!-- getblocks&#45;&gt;inv -->
<g id="edge2" class="edge"><title>getblocks&#45;&gt;inv</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M116.776,-116.727C137.03,-113.611 160.945,-109.931 178.916,-107.167"/>
<path fill="none" stroke="black" stroke-width="1.75" d="M115.835,-154.727C135.767,-151.588 159.329,-147.877 176.927,-145.106"/>
</g>
<!-- getdata -->
<g id="node7" class="node"><title>getdata</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="391,-121 321,-121 321,-85 391,-85 391,-121"/>
<text text-anchor="middle" x="356" y="-98.9" font-family="Sans" font-size="14.00">getdata</text>
<g id="node6" class="node"><title>getdata</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="389,-159 319,-159 319,-123 389,-123 389,-159"/>
<text text-anchor="middle" x="354" y="-137.3" font-family="Sans" font-size="14.00">getdata</text>
</g>
<!-- inv&#45;&gt;getdata -->
<g id="edge6" class="edge"><title>inv&#45;&gt;getdata</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M233.164,-103C257.732,-103 294.053,-103 320.831,-103"/>
<g id="edge4" class="edge"><title>inv&#45;&gt;getdata</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M231.119,-141C255.516,-141 292.082,-141 318.797,-141"/>
</g>
<!-- mempool -->
<g id="node4" class="node"><title>mempool</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="115,-101 37,-101 37,-65 115,-65 115,-101"/>
<text text-anchor="middle" x="76" y="-78.9" font-family="Sans" font-size="14.00">mempool</text>
<g id="node5" class="node"><title>mempool</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="114.5,-139 35.5,-139 35.5,-103 114.5,-103 114.5,-139"/>
<text text-anchor="middle" x="75" y="-117.3" font-family="Sans" font-size="14.00">mempool</text>
</g>
<!-- mempool&#45;&gt;inv -->
<g id="edge4" class="edge"><title>mempool&#45;&gt;inv</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M115.711,-89.1093C136.17,-92.2569 160.59,-96.0138 178.871,-98.8264"/>
<g id="edge3" class="edge"><title>mempool&#45;&gt;inv</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M114.794,-127.109C134.927,-130.28 158.986,-134.069 176.888,-136.888"/>
</g>
<!-- tx -->
<g id="node9" class="node"><title>tx</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="551,-181 497,-181 497,-145 551,-145 551,-181"/>
<text text-anchor="middle" x="524" y="-158.9" font-family="Sans" font-size="14.00">tx</text>
<g id="node7" class="node"><title>tx</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="548.5,-219 494.5,-219 494.5,-183 548.5,-183 548.5,-219"/>
<text text-anchor="middle" x="521.5" y="-197.3" font-family="Sans" font-size="14.00">tx</text>
</g>
<!-- getdata&#45;&gt;tx -->
<g id="edge8" class="edge"><title>getdata&#45;&gt;tx</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M391.218,-115.578C422.681,-126.815 468.117,-143.042 496.844,-153.301"/>
<g id="edge5" class="edge"><title>getdata&#45;&gt;tx</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M389.292,-153.432C420.536,-164.759 466.011,-181.246 494.393,-191.535"/>
</g>
<!-- block -->
<g id="node11" class="node"><title>block</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="551,-141 497,-141 497,-105 551,-105 551,-141"/>
<text text-anchor="middle" x="524" y="-118.9" font-family="Sans" font-size="14.00">block</text>
<g id="node8" class="node"><title>block</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="548.5,-179 494.5,-179 494.5,-143 548.5,-143 548.5,-179"/>
<text text-anchor="middle" x="521.5" y="-157.3" font-family="Sans" font-size="14.00">block</text>
</g>
<!-- getdata&#45;&gt;block -->
<g id="edge10" class="edge"><title>getdata&#45;&gt;block</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M391.218,-107.193C422.681,-110.938 468.117,-116.347 496.844,-119.767"/>
<g id="edge6" class="edge"><title>getdata&#45;&gt;block</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M389.292,-145.144C420.536,-148.92 466.011,-154.415 494.393,-157.845"/>
</g>
<!-- merkleblock -->
<g id="node13" class="node"><title>merkleblock</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="573,-101 475,-101 475,-65 573,-65 573,-101"/>
<text text-anchor="middle" x="524" y="-78.9" font-family="Sans" font-size="14.00">merkleblock</text>
<g id="node9" class="node"><title>merkleblock</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="571,-139 472,-139 472,-103 571,-103 571,-139"/>
<text text-anchor="middle" x="521.5" y="-117.3" font-family="Sans" font-size="14.00">merkleblock</text>
</g>
<!-- getdata&#45;&gt;merkleblock -->
<g id="edge12" class="edge"><title>getdata&#45;&gt;merkleblock</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M391.218,-98.8073C415.369,-95.9323 447.752,-92.0772 474.492,-88.8939"/>
<g id="edge7" class="edge"><title>getdata&#45;&gt;merkleblock</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M389.292,-136.856C413.151,-133.973 445.309,-130.087 471.816,-126.883"/>
</g>
<!-- notfound -->
<g id="node15" class="node"><title>notfound</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="563,-61 485,-61 485,-25 563,-25 563,-61"/>
<text text-anchor="middle" x="524" y="-38.9" font-family="Sans" font-size="14.00">notfound</text>
<g id="node10" class="node"><title>notfound</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="561,-99 482,-99 482,-63 561,-63 561,-99"/>
<text text-anchor="middle" x="521.5" y="-77.3" font-family="Sans" font-size="14.00">notfound</text>
</g>
<!-- getdata&#45;&gt;notfound -->
<g id="edge14" class="edge"><title>getdata&#45;&gt;notfound</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M391.218,-90.422C418.448,-80.6973 456.143,-67.2348 484.415,-57.1376"/>
<g id="edge8" class="edge"><title>getdata&#45;&gt;notfound</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M389.292,-128.568C416.275,-118.785 453.873,-105.155 481.908,-94.991"/>
</g>
<!-- getheaders -->
<g id="node16" class="node"><title>getheaders</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="123,-221 29,-221 29,-185 123,-185 123,-221"/>
<text text-anchor="middle" x="76" y="-198.9" font-family="Sans" font-size="14.00">getheaders</text>
<g id="node11" class="node"><title>getheaders</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="122,-259 28,-259 28,-223 122,-223 122,-259"/>
<text text-anchor="middle" x="75" y="-237.3" font-family="Sans" font-size="14.00">getheaders</text>
</g>
<!-- headers -->
<g id="node18" class="node"><title>headers</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="559,-221 489,-221 489,-185 559,-185 559,-221"/>
<text text-anchor="middle" x="524" y="-198.9" font-family="Sans" font-size="14.00">headers</text>
<g id="node12" class="node"><title>headers</title>
<polygon fill="none" stroke="black" stroke-width="1.75" points="557,-259 486,-259 486,-223 557,-223 557,-259"/>
<text text-anchor="middle" x="521.5" y="-237.3" font-family="Sans" font-size="14.00">headers</text>
</g>
<!-- getheaders&#45;&gt;headers -->
<g id="edge16" class="edge"><title>getheaders&#45;&gt;headers</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M123.097,-203C213.183,-203 408.074,-203 488.344,-203"/>
<g id="edge9" class="edge"><title>getheaders&#45;&gt;headers</title>
<path fill="none" stroke="black" stroke-width="1.75" d="M122.361,-241C212.248,-241 405.736,-241 485.746,-241"/>
</g>
<!-- label1 -->
<g id="node20" class="node"><title>label1</title>
<text text-anchor="middle" x="76" y="-250.4" font-family="Sans" font-size="14.00">Request For Help</text>
<text text-anchor="middle" x="76" y="-233.4" font-family="Sans" font-size="14.00">Getting Up To Date</text>
<g id="node13" class="node"><title>label1</title>
<text text-anchor="middle" x="75" y="-285.8" font-family="Sans" font-size="14.00">Request For Help</text>
<text text-anchor="middle" x="75" y="-270.8" font-family="Sans" font-size="14.00">Getting Up To Date</text>
</g>
<!-- label2 -->
<g id="node21" class="node"><title>label2</title>
<text text-anchor="middle" x="206" y="-250.4" font-family="Sans" font-size="14.00">Reply With</text>
<text text-anchor="middle" x="206" y="-233.4" font-family="Sans" font-size="14.00">Inventory</text>
<g id="node14" class="node"><title>label2</title>
<text text-anchor="middle" x="204" y="-285.8" font-family="Sans" font-size="14.00">Reply With</text>
<text text-anchor="middle" x="204" y="-270.8" font-family="Sans" font-size="14.00">Inventory</text>
</g>
<!-- label1&#45;&gt;label2 -->
<!-- label3 -->
<g id="node22" class="node"><title>label3</title>
<text text-anchor="middle" x="356" y="-241.9" font-family="Sans" font-size="14.00">Request For Specific Data</text>
<g id="node15" class="node"><title>label3</title>
<text text-anchor="middle" x="354" y="-278.3" font-family="Sans" font-size="14.00">Request For Specific Data</text>
</g>
<!-- label2&#45;&gt;label3 -->
<!-- label4 -->
<g id="node23" class="node"><title>label4</title>
<text text-anchor="middle" x="524" y="-250.4" font-family="Sans" font-size="14.00">Reply With</text>
<text text-anchor="middle" x="524" y="-233.4" font-family="Sans" font-size="14.00">Requested Data</text>
<g id="node16" class="node"><title>label4</title>
<text text-anchor="middle" x="521.5" y="-285.8" font-family="Sans" font-size="14.00">Reply With</text>
<text text-anchor="middle" x="521.5" y="-270.8" font-family="Sans" font-size="14.00">Requested Data</text>
</g>
<!-- label3&#45;&gt;label4 -->
</g>

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Before After
Before After

View file

@ -34,7 +34,7 @@ if [ "$PARAMCOUNT" == 1 ]; then
echo "*Result---RESULT DESCRIPTION*" >> $FILENAME
echo "" >> $FILENAME
echo "*Example from Dash Core 0.12.2*" >> $FILENAME
echo "*Example from Dash Core 0.12.3*" >> $FILENAME
echo "" >> $FILENAME
# Example
@ -60,6 +60,7 @@ if [ "$PARAMCOUNT" == 1 ]; then
echo " "
echo "Next copy the created file ('$FILENAME') to ../_includes/devdoc/dash-core/rpcs/rpcs"
echo "Then update _autocrossref.yaml, _config.yaml, _includes/references.md, en/developer-reference.md, and rpcs/quick-reference.md"
echo "Also update _includes/layout/base/rpc-table.html"
else
echo "Incorrect number of parameters (Should be exactly 1)"
echo "Usage: create_empty_rpc_md RPCNAME"