mirror of
https://github.com/seigler/dash-docs
synced 2025-07-27 01:36:13 +00:00
V0.14.0 RPC Update, 2 (#116)
* RPC - Update masternode current and winner - Remove protocol, lastseen, activeseconds * RPC - Remove gobject getvotes - Related to dashpay/dash#2815 * RPC - Protx diff update - Add merkleRootQuorums field Related to dashpay/dash#2833 * RPC - listunspent update Related to dashpay/dash#2727 * RPC - protx update_registrar update - Rename votingKeyAddr to votingAddress Related to dashpay/dash#2747 * RPC - Add bls fromsecret Related to dashpay/dash#2841 * RPC - Start adding quorum RPCs * RPC - Add quorum info details Minor formatting updates * RPC - Add placeholders for remaining quorum sub-commands * RPC - Add quorum sign/hasrecsig/isconflicting details * RPC - Add note to regtest only quorum RPCs * RPC - Add more detail to quorum dkgstatus * Typo fix * Minor format and example updates * RPC - Add more quorum dkgstatus details - Field descriptions * RPC - Add quorum dkgstatus detail level 1 and 2 info * RPC - protx update - Remove support for "0" Related to dashpay/dash#2622
This commit is contained in:
parent
b0c8a4695a
commit
e9b5ee211c
13 changed files with 1227 additions and 161 deletions
|
@ -162,7 +162,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
|
|||
* [GetGovernanceInfo][rpc getgovernanceinfo]: {{summary_getGovernanceInfo}} {{DASH_UPDATED0_14_0}}
|
||||
* [GetPoolInfo][rpc getpoolinfo]: {{summary_getPoolInfo}}
|
||||
* [GetSuperblockBudget][rpc getsuperblockbudget]: {{summary_getSuperblockBudget}}
|
||||
* [GObject][rpc gobject]: {{summary_gObject}} {{DASH_UPDATED0_13_0}}
|
||||
* [GObject][rpc gobject]: {{summary_gObject}} {{DASH_UPDATED0_14_0}}
|
||||
* [Masternode][rpc masternode]: {{summary_masternode}} {{DASH_UPDATED0_14_0}}
|
||||
* [MasternodeList][rpc masternodelist]: {{summary_masternodeList}} {{DASH_UPDATED0_14_0}}
|
||||
* [MnSync][rpc mnsync]: {{summary_mnSync}} {{DASH_UPDATED0_14_0}}
|
||||
|
@ -178,8 +178,9 @@ These RPCs are all Dash-specific and not found in Bitcoin Core
|
|||
|
||||
{% autocrossref %}
|
||||
|
||||
* [BLS][rpc bls]: {{summary_bls}} {{DASH_NEW0_13_0}}
|
||||
* [ProTx][rpc protx]: {{summary_proTx}} {{DASH_UPDATED0_13_2}}
|
||||
* [BLS][rpc bls]: {{summary_bls}} {{DASH_UPDATED0_14_0}}
|
||||
* [ProTx][rpc protx]: {{summary_proTx}} {{DASH_UPDATED0_14_0}}
|
||||
* [Quorum][rpc quorum]: {{summary_quorum}} {{DASH_NEW0_14_0}}
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
|
@ -307,7 +308,7 @@ default.
|
|||
* [ListReceivedByAddress][rpc listreceivedbyaddress]: {{summary_listReceivedByAddress}} {{DASH_UPDATED0_13_0}}
|
||||
* [ListSinceBlock][rpc listsinceblock]: {{summary_listSinceBlock}} {{DASH_UPDATED0_14_0}}
|
||||
* [ListTransactions][rpc listtransactions]: {{summary_listTransactions}} {{DASH_UPDATED0_14_0}}
|
||||
* [ListUnspent][rpc listunspent]: {{summary_listUnspent}} {{DASH_UPDATED0_12_3}} {{UPDATED0_13_0}}
|
||||
* [ListUnspent][rpc listunspent]: {{summary_listUnspent}} {{DASH_UPDATED0_14_0}}
|
||||
* [LockUnspent][rpc lockunspent]: {{summary_lockUnspent}}
|
||||
* [Move][rpc move]: {{summary_move}} {{DEPRECATED}}
|
||||
* [RemovePrunedFunds][rpc removeprunedfunds]: {{summary_removePrunedFunds}} {{DASH_NEW0_12_3}} {{NEW0_13_0}}
|
||||
|
|
|
@ -61,6 +61,57 @@ Result:
|
|||
}
|
||||
{% endhighlight %}
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
###### BLS<!--noref--> FromSecret
|
||||
<!-- no subhead-links here -->
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
The `bls<!--noref--> fromsecret` RPC parses a BLS secret key and returns the secret/public key pair.
|
||||
|
||||
*Parameter #1---secret key*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`secret`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The BLS secret key"
|
||||
{% enditemplate %}
|
||||
|
||||
*Result---the secret/public key pair*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`result`"
|
||||
t: "object"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "BLS key pair"
|
||||
|
||||
- n: "→<br>`secret`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "A BLS secret key"
|
||||
|
||||
- n: "→<br>`public`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "A BLS public key"
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.14.0*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet bls fromsecret 52f35cd3d977a505485f2474e7e71ef3f60f859603d72ad6b0fa7f7bd163e144
|
||||
{% endhighlight %}
|
||||
|
||||
Result:
|
||||
{% highlight json %}
|
||||
{
|
||||
"secret": "52f35cd3d977a505485f2474e7e71ef3f60f859603d72ad6b0fa7f7bd163e144",
|
||||
"public": "885d01d746c3e4d2093b0975de2d8c1f3e5a2c3e8fdaaed929f86fc9fbb278a095248163c101a2456650b415776b7990"
|
||||
}
|
||||
{% endhighlight %}
|
||||
|
||||
*See also: none*
|
||||
|
||||
{% endautocrossref %}
|
||||
|
|
|
@ -801,52 +801,7 @@ Result (wrapped):
|
|||
|
||||
<!-- __ -->
|
||||
|
||||
The `gobject getvotes` RPC gets all votes for a governance object hash (including old votes).
|
||||
|
||||
*Parameter #1---object hash*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`governance-hash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of a governance object"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
*Result---votes for specified governance*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "Result"
|
||||
t: "object"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The governance object votes"
|
||||
|
||||
- n: "→<br>Vote Info"
|
||||
t: "string"
|
||||
p: "Required<br>(1 or more)"
|
||||
d: "Key: vote-hash<br><br>Value: Masternode's unspent outpoint, time, outcome, and signal of the vote"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.12.2*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet gobject getvotes 78941af577f639ac94440e4855a1ed8f\
|
||||
696f1506d1c0bed4f4b68f05be26d3ca
|
||||
{% endhighlight %}
|
||||
|
||||
Result (truncated):
|
||||
{% highlight json %}
|
||||
{
|
||||
"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 %}
|
||||
{{WARNING}} **_Removed in Dash Core 0.14.0._**
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ the *spendable* field in the results described below.
|
|||
- 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`"
|
||||
d: "Include outputs that are not safe to spend . See description of `safe` attribute below. Default is `true`"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
|
@ -133,9 +133,14 @@ the *spendable* field in the results described below.
|
|||
p: "Required<br>(exactly 1)"
|
||||
d: "The number of PrivateSend rounds"
|
||||
|
||||
- n: "→ →<br>`safe`"
|
||||
t: "bool"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "*Added in Bitcoin Core 0.15.0*<br><br>Whether this output is considered safe to spend. Unconfirmed transactions from outside keys and unconfirmed replacement transactions are considered unsafe and are not eligible for spending by `fundrawtransaction` and `sendtoaddress`."
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.12.3*
|
||||
*Example from Dash Core 0.14.0*
|
||||
|
||||
Get all outputs confirmed at least 6 times for a particular
|
||||
address:
|
||||
|
@ -143,7 +148,7 @@ address:
|
|||
{% highlight bash %}
|
||||
dash-cli -testnet listunspent 6 99999999 '''
|
||||
[
|
||||
"yXGNabkdQ3JZ7LZ9RCnFe5dqhtBA3hVmU8"
|
||||
"yLki4jbxX28JB3TThm1DTgRfbKVhhiMx3d"
|
||||
]
|
||||
'''
|
||||
{% endhighlight %}
|
||||
|
@ -153,15 +158,16 @@ Result:
|
|||
{% highlight json %}
|
||||
[
|
||||
{
|
||||
"txid": "0e86f58c56648175362443c1ef28e473acb4c4adc1b3f7983deaddfa3a61a4d7",
|
||||
"vout": 4,
|
||||
"address": "yXGNabkdQ3JZ7LZ9RCnFe5dqhtBA3hVmU8",
|
||||
"scriptPubKey": "76a91478149277b5d820b04e60cbf96ff81fd1ccc6533388ac",
|
||||
"amount": 0.01000010,
|
||||
"confirmations": 609,
|
||||
"txid": "534fe12e360773dddf8aa125a4027d2d8c0073e13ff2f04fd733202b85dbdcf1",
|
||||
"vout": 0,
|
||||
"address": "yLki4jbxX28JB3TThm1DTgRfbKVhhiMx3d",
|
||||
"scriptPubKey": "76a91404c719ccf48d39d3e6253ac98edaf2b5d24f0c0588ac",
|
||||
"amount": 1.00001000,
|
||||
"confirmations": 85,
|
||||
"spendable": true,
|
||||
"solvable": true,
|
||||
"ps_rounds": 5
|
||||
"safe": true,
|
||||
"ps_rounds": 13
|
||||
}
|
||||
]
|
||||
{% endhighlight %}
|
||||
|
|
|
@ -144,14 +144,14 @@ The `masternode<!--noref--> current` RPC prints info on current masternode winne
|
|||
p: "Required<br>(exactly 1)"
|
||||
d: "The IP address/port of the masternode"
|
||||
|
||||
- n: "→<br>`protocol`"
|
||||
t: "number (int)"
|
||||
- n: "→<br>`proTxHash`"
|
||||
t: "string"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The protocol version number used by this node. See the [protocol versions section][section protocol versions] for more information"
|
||||
d: "The masternode's Provider Registration transaction hash"
|
||||
|
||||
- n: "→<br>`outpoint`"
|
||||
t: "string"
|
||||
p: "Required<br>(1 or more)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The masternode's outpoint"
|
||||
|
||||
- n: "→<br>`payee`"
|
||||
|
@ -159,19 +159,9 @@ The `masternode<!--noref--> current` RPC prints info on current masternode winne
|
|||
p: "Required<br>(exactly 1)"
|
||||
d: "Payee address"
|
||||
|
||||
- n: "→<br>`lastseen`"
|
||||
t: "number (int)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The Unix epoch time when the masternode was last seen"
|
||||
|
||||
- n: "→<br>`activeseconds`"
|
||||
t: "number (int)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The number of seconds the masternode has been active"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.12.2*
|
||||
*Example from Dash Core 0.14.0*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet masternode current
|
||||
|
@ -180,13 +170,11 @@ dash-cli -testnet masternode current
|
|||
Result:
|
||||
{% highlight json %}
|
||||
{
|
||||
"height": 37375,
|
||||
"IP:port": "108.61.192.47:19999",
|
||||
"protocol": 70208,
|
||||
"outpoint": "3df7fb192e21c34da99bdd10c34e58ecaf3f3c37d6b2289f0ffedba5050188cc-1",
|
||||
"payee": "ydGgePy4a3zza37Zm4D44B99czyo6TftU1",
|
||||
"lastseen": 1512482630,
|
||||
"activeseconds": 3170434
|
||||
"height": 76179,
|
||||
"IP:port": "34.242.53.163:26155",
|
||||
"proTxHash": "9de76b8291d00026ab0af86306023c7b90f8e9229dc04916fe1335bf5e11f15d",
|
||||
"outpoint": "9de76b8291d00026ab0af86306023c7b90f8e9229dc04916fe1335bf5e11f15d-1",
|
||||
"payee": "yZnU7YJJgGQKvKPQFqXJ4k4DGSsRMhgLXx"
|
||||
}
|
||||
{% endhighlight %}
|
||||
|
||||
|
@ -432,14 +420,14 @@ The `masternode<!--noref--> winner` RPC prints info on the next masternode winne
|
|||
p: "Required<br>(exactly 1)"
|
||||
d: "The IP address/port of the masternode"
|
||||
|
||||
- n: "→<br>`protocol`"
|
||||
t: "number (int)"
|
||||
- n: "→<br>`proTxHash`"
|
||||
t: "string"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The protocol version number used by this node. See the [protocol versions section][section protocol versions] for more information"
|
||||
d: "The masternode's Provider Registration transaction hash"
|
||||
|
||||
- n: "→<br>`outpoint`"
|
||||
t: "string"
|
||||
p: "Required<br>(1 or more)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The masternode's outpoint"
|
||||
|
||||
- n: "→<br>`payee`"
|
||||
|
@ -447,19 +435,9 @@ The `masternode<!--noref--> winner` RPC prints info on the next masternode winne
|
|||
p: "Required<br>(exactly 1)"
|
||||
d: "Payee address"
|
||||
|
||||
- n: "→<br>`lastseen`"
|
||||
t: "number (int)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The Unix epoch time when the masternode was last seen"
|
||||
|
||||
- n: "→<br>`activeseconds`"
|
||||
t: "number (int)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The number of seconds the masternode has been active"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.12.2*
|
||||
*Example from Dash Core 0.14.0*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet masternode winner
|
||||
|
@ -468,13 +446,11 @@ dash-cli -testnet masternode winner
|
|||
Result:
|
||||
{% highlight json %}
|
||||
{
|
||||
"height": 37384,
|
||||
"IP:port": "145.239.235.17:29999",
|
||||
"protocol": 70208,
|
||||
"outpoint": "66eddd00e5927d0a03437d5b8a2f15367c978ef7951c80ae1608a45b1bf64318-1",
|
||||
"payee": "yY3q6wqRe1y7xzHbGE88YfRg4t97GU7BJ6",
|
||||
"lastseen": 1512482474,
|
||||
"activeseconds": 1180019
|
||||
"height": 76191,
|
||||
"IP:port": "34.242.53.163:26173",
|
||||
"proTxHash": "024608d03beb6a6065f14a29a837c68ae449ac1e17056819366ca0b72b6dd81f",
|
||||
"outpoint": "024608d03beb6a6065f14a29a837c68ae449ac1e17056819366ca0b72b6dd81f-1",
|
||||
"payee": "yhp182AnF7gUAyHiWgSbDrKqHKt2dzhoyW"
|
||||
}
|
||||
{% endhighlight %}
|
||||
|
||||
|
|
|
@ -53,10 +53,10 @@ The `protx<!--noref--> register` RPC creates a ProRegTx referencing an existing
|
|||
d: "IP and port in the form 'IP:PORT'.<br>Must be unique on the network.<br>Can be set to '0', which will require a ProUpServTx afterwards."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #4---owner key address*
|
||||
*Parameter #4---owner address*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`ownerKeyAddr`"
|
||||
- n: "`ownerAddress`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The owner key used for payee updates and proposal voting. The private key belonging to this address be known in your wallet. The address must be unused and must differ from the `collateralAddress`."
|
||||
|
@ -71,13 +71,13 @@ The `protx<!--noref--> register` RPC creates a ProRegTx referencing an existing
|
|||
d: " The operator public key. The private key does not have to be known. It has to match the private key which is later used when operating the masternode."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #6---voting key address*
|
||||
*Parameter #6---voting address*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`votingKeyAddr`"
|
||||
- n: "`votingAddress`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The voting key address. The private key does not have to be known by your wallet. It has to match the private key which is later used when voting on proposals. If set to '0' or an empty string, `ownerAddr` will be used."
|
||||
d: "The voting address. The private key does not have to be known by your wallet. It has to match the private key which is later used when voting on proposals. If set to an empty string, `ownerAddress` will be used."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #7---operator reward*
|
||||
|
@ -158,10 +158,10 @@ The `protx<!--noref--> register_fund` RPC creates and funds a ProRegTx with the
|
|||
d: "IP and port in the form 'IP:PORT'.<br>Must be unique on the network.<br>Can be set to '0', which will require a ProUpServTx afterwards."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #3---owner key address*
|
||||
*Parameter #3---owner address*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`ownerKeyAddr`"
|
||||
- n: "`ownerAddress`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The owner key used for payee updates and proposal voting. The private key belonging to this address be known in your wallet. The address must be unused and must differ from the `collateralAddress`."
|
||||
|
@ -176,13 +176,13 @@ The `protx<!--noref--> register_fund` RPC creates and funds a ProRegTx with the
|
|||
d: " The operator public key. The private key does not have to be known. It has to match the private key which is later used when operating the masternode."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #5---voting key address*
|
||||
*Parameter #5---voting address*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`votingKeyAddr`"
|
||||
- n: "`votingAddress`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The voting key address. The private key does not have to be known by your wallet. It has to match the private key which is later used when voting on proposals. If set to '0' or an empty string, `ownerAddr` will be used."
|
||||
d: "The voting address. The private key does not have to be known by your wallet. It has to match the private key which is later used when voting on proposals. If set to an empty string, `ownerAddress` will be used."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #6---operator reward*
|
||||
|
@ -274,10 +274,10 @@ and outputs to cover fees.
|
|||
d: "IP and port in the form 'IP:PORT'.<br>Must be unique on the network.<br>Can be set to '0', which will require a ProUpServTx afterwards."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #4---owner key address*
|
||||
*Parameter #4---owner address*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`ownerKeyAddr`"
|
||||
- n: "`ownerAddress`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The owner key used for payee updates and proposal voting. The private key belonging to this address be known in your wallet. The address must be unused and must differ from the `collateralAddress`."
|
||||
|
@ -292,13 +292,13 @@ and outputs to cover fees.
|
|||
d: " The operator public key. The private key does not have to be known. It has to match the private key which is later used when operating the masternode."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #6---voting key address*
|
||||
*Parameter #6---voting address*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`votingKeyAddr`"
|
||||
- n: "`votingAddress`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The voting key address. The private key does not have to be known by your wallet. It has to match the private key which is later used when voting on proposals. If set to '0' or an empty string, `ownerAddr` will be used."
|
||||
d: "The voting address. The private key does not have to be known by your wallet. It has to match the private key which is later used when voting on proposals. If set to an empty string, `ownerAddress` will be used."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #7---operator reward*
|
||||
|
@ -671,7 +671,7 @@ The `protx<!--noref--> update_service` RPC creates and sends a ProUpServTx to th
|
|||
- n: "`operatorPayoutAddress`"
|
||||
t: "string (hex)"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "The Dash address used for operator reward payments. Only allowed when the ProRegTx had a non-zero `operatorReward` value."
|
||||
d: "The Dash address used for operator reward payments. Only allowed when the ProRegTx had a non-zero `operatorReward` value. If set to an empty string, the currently active payout address is reused."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #5---fee source address*
|
||||
|
@ -730,16 +730,16 @@ The `protx<!--noref--> update_registrar` RPC creates and sends a ProUpRegTx to t
|
|||
- n: "`operatorPubKey`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: " The operator public key. The private key does not have to be known. It has to match the private key which is later used when operating the masternode."
|
||||
d: " The operator public key. The private key does not have to be known. It has to match the private key which is later used when operating the masternode. If set to an empty string, the last on-chain operator key of the masternode will be used."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #3---voting key address*
|
||||
*Parameter #3---voting address*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`votingKeyAddr`"
|
||||
- n: "`votingAddress`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The voting key address. The private key does not have to be known by your wallet. It has to match the private key which is later used when voting on proposals. If set to '0' or an empty string, the last on-chain voting key of the masternode will be used."
|
||||
d: "The voting address. The private key does not have to be known by your wallet. It has to match the private key which is later used when voting on proposals. If set to an empty string, `ownerAddress` will be used."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #4---operator payout address*
|
||||
|
@ -748,7 +748,7 @@ The `protx<!--noref--> update_registrar` RPC creates and sends a ProUpRegTx to t
|
|||
- n: "`payoutAddress`"
|
||||
t: "string (hex)"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "The Dash address to use for masternode reward payments. If set to '0' or an empty string, the last on-chain payout address of the masternode will be used."
|
||||
d: "The Dash address to use for masternode reward payments. If set to an empty string, the last on-chain payout address of the masternode will be used."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #5---fee source address*
|
||||
|
@ -948,63 +948,161 @@ The `protx<!--noref--> diff` RPC calculates a diff and a proof between two maste
|
|||
p: "Required<br>(exactly 1)"
|
||||
d: "Set to `true` if masternode is valid"
|
||||
|
||||
- n: "→<br>`deletedQuorums`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "An array of deleted quorums"
|
||||
|
||||
- n: "→ →<br>`llmqType`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The quorum type"
|
||||
|
||||
- n: "→ →<br>`quorumHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of the quorum"
|
||||
|
||||
- n: "→<br>`newQuorums`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "An array of new quorums"
|
||||
|
||||
- n: "→ →<br>`version`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The quorum version"
|
||||
|
||||
- n: "→ →<br>`llmqType`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The quorum type"
|
||||
|
||||
- n: "→ →<br>`quorumHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of the quorum"
|
||||
|
||||
- n: "→ →<br>`signersCount`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The number of signers for the quorum"
|
||||
|
||||
- n: "→ →<br>`validMembersCount`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The number of valid members in the quorum"
|
||||
|
||||
- n: "→ →<br>`quorumPublicKey`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The public key of the quorum"
|
||||
|
||||
- n: "→<br>`merkleRootMNList`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Merkle root of the masternode list"
|
||||
|
||||
- n: "→<br>`merkleRootQuorums`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "*Added in Coinbase Transaction version 2 (Dash Core 0.14.0)*<br><br>Merkle root of the masternode list"
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.14.0*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet protx diff 600 700
|
||||
dash-cli -testnet protx diff 75000 76000
|
||||
{% endhighlight %}
|
||||
|
||||
Result:
|
||||
Result (truncated):
|
||||
{% highlight json %}
|
||||
{
|
||||
"baseBlockHash": "0000002b88258091c9f343e124040fb7b2e0d88afe4a99d213c046792c183a49",
|
||||
"blockHash": "0000051bbea86db62be46c0beae2cb34110e928ace42683ab189e8db9874308f",
|
||||
"cbTxMerkleTree": "0200000002a4eaaaaaf7e260b90b1a7987eb269da110559343be5746ac5ef7f39b79c1228e4f7e074272c7e3814f630ce4f2f52f80c0b814fb1ce0e4d954b7b583a55ff0a50103",
|
||||
"cbTx": "03000500010000000000000000000000000000000000000000000000000000000000000000ffffffff060369fe000102ffffffff0340230e43000000001976a914323a8b6425ea6f8dafd411db13bc303219a9e4f088ac44aab141000000001976a914870ca3662658f261952cbfa56969283ad1e84dc588acfc785c01000000001976a91487da2642cf967c493f126137d4f15e9de36b976888ac0000000026010069fe000068cadec8342737e3f2dddc713b3a206390996c8b806fb5a8a2ccc71240cf7a97",
|
||||
"baseBlockHash": "0000000003deb00bba101ee581cdc4e1cbd1243ec5cd190472ae93eff07c8881",
|
||||
"blockHash": "0000000000c0279636003ed0042c9a454b4c39e9a6c49bb92d420e0bf4e0f49b",
|
||||
"cbTxMerkleTree": "01000000015ef8245e2a381174f5e2cc701d5d067d9f16945179380a3ce54415114426eb510101",
|
||||
"cbTx": "03000500010000000000000000000000000000000000000000000000000000000000000000ffffffff4c03e02801043619ab5c08fabe6d6d736170747365743a7265737574736574d6e48c2ebd4e147373617074736574730100000000000000380000ae250000000d2f6e6f64655374726174756d2f000000000340230e43000000001976a914cb594917ad4e5849688ec63f29a0f7f3badb5da688ac4cfe1c3e000000001976a91470da282ad16926e127064b7d3d787d7f3793014788acf424f104000000001976a914312d9ccd4e73f2e66006e45701bce17125ba681e88ac00000000260100e0280100d26df127ba2765c8f098ab71199c82c59509418efe26cdf02f7c92ce738e2247",
|
||||
"deletedMNs": [
|
||||
"285d7da8e94b2348689aca4a63bc6cbbeeb8e912c2088fb9a01e295e3eeeb2ff"
|
||||
],
|
||||
"mnList": [
|
||||
{
|
||||
"proRegTxHash": "39a1339d9bf26de701345beecc5de75a690bc9533741a3dbe90f2fd88b8ed461",
|
||||
"confirmedHash": "0000030c37a946836029eeca338604c652e3c6cd368eb54bdfa8553213954f74",
|
||||
"service": "198.199.74.241:19999",
|
||||
"pubKeyOperator": "0efda51589f86e30cc2305e7388c01ce0309c19a182cf37bced97c7da72236f660c0a395e765e6e06962ecff5a69d7de",
|
||||
"votingAddress": "yRCunhZVjbMxDr1C6fD6Pf37sTwH6wG7Uu",
|
||||
"proRegTxHash": "fef106ff6420f9c6638c9676988a8fc655750caafb506c98cb5ff3d4fea99a41",
|
||||
"confirmedHash": "0000000005d5635228f113b50fb5ad66995a7476ed20374e6e159f1f9e62347b",
|
||||
"service": "45.48.177.222:19999",
|
||||
"pubKeyOperator": "842476e8d82327adfb9b617a7ac3f62868946c0c4b6b0e365747cfb8825b8b79ba0eb1fa62e8583ae7102f59bf70c7c7",
|
||||
"votingAddress": "yf7QHemCfbmKEncwZxroTj8JtShXsC28V6",
|
||||
"isValid": true
|
||||
},
|
||||
{
|
||||
"proRegTxHash": "3dbb7de94e219e8f7eaea4f3c01cf97d77372e10152734c1959f17302369aa49",
|
||||
"confirmedHash": "0000043c0d46d3e6b84c1b420b77b65e962207fb6427361f74d243b9b1fd51cb",
|
||||
"service": "52.36.64.148:19999",
|
||||
"pubKeyOperator": "139b654f0b1c031e1cf2b934c2d895178875cfe7c6a4f6758f02bc66eea7fc292d0040701acbe31f5e14a911cb061a2f",
|
||||
"votingAddress": "yWEZQmGADmdSk6xCai7TPcmiSZuY65hBmo",
|
||||
"proRegTxHash": "7d56a2cf814b344f54ac4b6485a7a5b2b5a439ea796defff67f2a5872c9df5c3",
|
||||
"confirmedHash": "00000c66555eea6272e5c7bcdb2648e1a63fd5b23a6d1d4c3f9dc5df43c6a5a8",
|
||||
"service": "178.151.192.107:19999",
|
||||
"pubKeyOperator": "8631b1ba19ed23fdab61db7a81c9aa1356eaf37d0a29a14cc493e2f863080bf909b4d3e23d536be1d18e4c842566ed67",
|
||||
"votingAddress": "yP2LXCZTVVjBFQiN2bhghQvNwdUQG8NMX8",
|
||||
"isValid": true
|
||||
},
|
||||
{
|
||||
"proRegTxHash": "851a17fa224374b52b1626f4fb6b5158f2a6add3061e65ef03e1ff13c610c550",
|
||||
"confirmedHash": "000009a21e82163268330855c9ef13f938a802e46db0fc8a6b1f97161e9d60d8",
|
||||
"service": "104.196.245.194:19999",
|
||||
"pubKeyOperator": "0a6bd57731d85539e62c4b46ec150343a0faba9f08af509309634a6e7e016e26b5e809f0e4cc68252c3c46e3a4b35e57",
|
||||
"votingAddress": "ycppuGB8m2zn5xRfXyJV8U1nNgT7bFs7u5",
|
||||
"isValid": true
|
||||
},
|
||||
{
|
||||
"proRegTxHash": "9e9f7a6d63358ff6e7633d4bb5a3c9eaaebaf29437d5917565ed73f5bcc03dbf",
|
||||
"confirmedHash": "00000020b973dddd9dfd392f118d0094adc86bd8bfe9bee67d08705155bc7aaf",
|
||||
"service": "207.246.101.212:19999",
|
||||
"pubKeyOperator": "02a37189354135fed49de66a43d59590824579ccfa7e9512f50aeaff641e1b78cc5c798c5ae4a35b11958fd153f0a0e3",
|
||||
"votingAddress": "yRH7EYkGQgdKvmfdskcMRphdDumLdP6fq1",
|
||||
"isValid": true
|
||||
"proRegTxHash": "be32ec53dbbfb64e5ba29e25e3716f6f4024291914ce4c858cd69f0b4e371dda",
|
||||
"confirmedHash": "0000000015717296254a7c6139a50c34ad481dc8fdf7b0ea4c8320dc3fff2759",
|
||||
"service": "173.61.30.231:19025",
|
||||
"pubKeyOperator": "86ce02e551a46f1ca9a734104b4e387984d733ba99930eb677aae126fa142f201049842422ab2f105e3c9805f1bd54e8",
|
||||
"votingAddress": "ySBU7oXuuTSJqtmUArMRFsKefJPtEDkESG",
|
||||
"isValid": false
|
||||
}
|
||||
],
|
||||
"merkleRootMNList": "977acf4012c7cca2a8b56f808b6c999063203a3b71dcddf2e3372734c8deca68"
|
||||
"deletedQuorums": [
|
||||
{
|
||||
"llmqType": 1,
|
||||
"quorumHash": "00000000052b95b036c87f82d19878f69bf940e6acf9f03cd818bd07a5686d0e"
|
||||
},
|
||||
{
|
||||
"llmqType": 1,
|
||||
"quorumHash": "0000000000e8b557ea26921f4bb143e961dd35209cf8c1c7b73397322c1a5018"
|
||||
},
|
||||
{
|
||||
"llmqType": 1,
|
||||
"quorumHash": "000000000b259f422fe3b647b8f1553b846d95dc8c79699d60e48a81dcf14747"
|
||||
},
|
||||
{
|
||||
"llmqType": 1,
|
||||
"quorumHash": "00000000143365adb3c3de6a35ae247120df8ca53a61afd82cd6fd4126ca8a4d"
|
||||
}
|
||||
],
|
||||
"newQuorums": [
|
||||
{
|
||||
"version": 1,
|
||||
"llmqType": 1,
|
||||
"quorumHash": "0000000001427858db64213ed3ef32ffb2546ca7f2a096adbefc197437b90612",
|
||||
"signersCount": 50,
|
||||
"validMembersCount": 50,
|
||||
"quorumPublicKey": "922e3683358f09a2619efb9e8329f90d5a8a608a18e26db212613ef7f95818eb6f68372fb313edbf96fdd2cdee20a66d"
|
||||
},
|
||||
{
|
||||
"version": 1,
|
||||
"llmqType": 1,
|
||||
"quorumHash": "000000000148a6fced08763f3f31dd68a3d88d2d4f2d48eef44eb9311de66129",
|
||||
"signersCount": 50,
|
||||
"validMembersCount": 50,
|
||||
"quorumPublicKey": "814973fcf54892fa4edbf9e732341ff1227e2a89bf59cb22b52082e940f7c3ac8a7c25163cb375b3cfe3654e86eaa65d"
|
||||
},
|
||||
{
|
||||
"version": 1,
|
||||
"llmqType": 1,
|
||||
"quorumHash": "0000000009931a8a6dcdf21a869739356e7715eb155c1a18a58c8bf13382ac33",
|
||||
"signersCount": 50,
|
||||
"validMembersCount": 50,
|
||||
"quorumPublicKey": "0694b46d8581423f2f68196dcc2d06be0b6b365a4100b54e351ab42f5828d09fd03941f8a1255363753a53d32b43f63b"
|
||||
},
|
||||
{
|
||||
"version": 1,
|
||||
"llmqType": 1,
|
||||
"quorumHash": "0000000006097e9d08a4ca9bedbe4a97bb9bf3fe8d09372d18d2398f185cff5d",
|
||||
"signersCount": 50,
|
||||
"validMembersCount": 50,
|
||||
"quorumPublicKey": "10d0488558afd929508cd2d11bda7564333a904aa23c8b4a1ed57d86b217e3181497469e7220e9421e14f645a00940fc"
|
||||
}
|
||||
],
|
||||
"merkleRootMNList": "47228e73ce927c2ff0cd26fe8e410995c5829c1971ab98f0c86527ba27f16dd2"
|
||||
}
|
||||
{% endhighlight %}
|
||||
|
||||
|
|
966
_includes/devdoc/dash-core/rpcs/rpcs/quorum.md
Normal file
966
_includes/devdoc/dash-core/rpcs/rpcs/quorum.md
Normal file
|
@ -0,0 +1,966 @@
|
|||
{% 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/quorum.md" %}
|
||||
|
||||
##### Quorum
|
||||
{% include helpers/subhead-links.md %}
|
||||
|
||||
<!--__-->
|
||||
|
||||
{% assign summary_quorum="provides a set of commands for quorums (LLMQs)." %}
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
*Added in Dash Core 0.14.0*
|
||||
|
||||
The `quorum` RPC {{summary_quorum}}
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
###### Quorum<!--noref--> List
|
||||
<!-- no subhead-links here -->
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
The `quorum<!--noref--> list` RPC displays a list of on-chain quorums.
|
||||
|
||||
*Parameter #1---quorum count*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`count`"
|
||||
t: "number"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "Number of quorums to list (default: 10)"
|
||||
{% enditemplate %}
|
||||
|
||||
*Result---a list of quorums*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`result`"
|
||||
t: "object"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Quorum list"
|
||||
|
||||
- n: "→<br>Quorum"
|
||||
t: "array"
|
||||
p: "Required<br>(1 or more)"
|
||||
d: "Array of quorum details"
|
||||
|
||||
- n: "→ →<br>Quorum Hash"
|
||||
t: "string (hex)"
|
||||
p: "Optional<br>(0 or more)"
|
||||
d: "A quorum hash"
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.14.0*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet quorum list
|
||||
{% endhighlight %}
|
||||
|
||||
Result:
|
||||
{% highlight json %}
|
||||
{
|
||||
"llmq_50_60": [
|
||||
"00000000023cc6dde69bed898c83fe2328ef38b1ea9da14a599efa14caef0b7d",
|
||||
"000000002b968fb3b2fc2ff18d6e89611e366b4d38a6d0437e99bd7c37f2fd83",
|
||||
"000000000301054c038b07b5b51493d5efc3f078e3aede6eb603c47943d1cc78",
|
||||
"000000000e901278c00c896754a06f8d45d0268c6aff6e72ffb3007d07c10e73",
|
||||
"000000001bc592f2a8676203835bc6ad442abeadb9c22b8d6a2999db07354b01",
|
||||
"000000000896c37ef8a32318ee871589394f1578473b8825275b610690e47db0",
|
||||
"00000000133b192b2319a0716ad18e5788981fff51856f61205af5d6a634ba41",
|
||||
"0000000004946f3f9f82a298985f73080d62627d51f6f4ba77f3cd8c6788b3d0",
|
||||
"0000000005cb014d3df9bac0ba379f1d5b8b75f0e6d7c408d43ac1db330ec641",
|
||||
"0000000006c1653c7ee747f140dd7daa1da23a541e67a0fc0dc88db3482ec4d5"
|
||||
],
|
||||
"llmq_400_60": [
|
||||
"0000000007697fd69a799bfa26576a177e817bc0e45b9fcfbf48b362b05aeff2"
|
||||
],
|
||||
"llmq_400_85": [
|
||||
]
|
||||
}
|
||||
{% endhighlight %}
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
###### Quorum<!--noref--> Info
|
||||
<!-- no subhead-links here -->
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
The `quorum<!--noref--> info` RPC returns information about a specific quorums.
|
||||
|
||||
*Parameter #1---LLMQ Type*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`llmqType`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "[Type of quorums](https://github.com/dashpay/dips/blob/master/dip-0006.md#current-llmq-types) to list:<br>`1` - LLMQ_50_60<br>`2` - LLMQ_400_60<br>`3` - LLMQ_400_85"
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #2---quorum hash*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`quorumHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The block hash of the quorum"
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #3---secret key share*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`includeSkShare`"
|
||||
t: "bool"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "Include the secret key share (default: `false`)"
|
||||
{% enditemplate %}
|
||||
|
||||
*Result---information about a quorum*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`result`"
|
||||
t: "object"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Quorum list"
|
||||
|
||||
- n: "→<br>`height`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Block height of the quorum"
|
||||
|
||||
- n: "→<br>`quorumHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of the quorum"
|
||||
|
||||
- n: "→<br>`minedBlock`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of the block that established the quorum"
|
||||
|
||||
- n: "→<br>`members`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "An array containing quorum member details"
|
||||
|
||||
- n: "→ →<br>Member"
|
||||
t: "object"
|
||||
p: "Required<br>(1 or more)"
|
||||
d: "An object describing a particular member"
|
||||
|
||||
- n: "→ → →<br>`proTxHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The masternode's Provider Registration transaction hash"
|
||||
|
||||
- n: "→ → →<br>`valid`"
|
||||
t: "bool"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Indicates if the member is valid"
|
||||
|
||||
- n: "→ → →<br>`pubKeyShare`"
|
||||
t: "string"
|
||||
p: "Optional<br>(0 or 1)"
|
||||
d: "Member public key share"
|
||||
|
||||
- n: "→<br>`quorumPublicKey`"
|
||||
t: "string"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Quorum public key"
|
||||
|
||||
- n: "→<br>`secretKeyShare`"
|
||||
t: "string"
|
||||
p: "Optional<br>(exactly 1)"
|
||||
d: "Quorum secret key share"
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.14.0*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet quorum info 1 \
|
||||
0000000003284177404622ea79491cb19855254627751cfbbb0035a62d17ab6a true
|
||||
{% endhighlight %}
|
||||
|
||||
Result (truncated):
|
||||
{% highlight json %}
|
||||
{
|
||||
"height": 76728,
|
||||
"quorumHash": "0000000003284177404622ea79491cb19855254627751cfbbb0035a62d17ab6a",
|
||||
"minedBlock": "0000000009d8c183650d12e9ff952967ecfde58404e80db1bf5a7d1a31ccd4ee",
|
||||
"members": [
|
||||
{
|
||||
"proTxHash": "5eccc0b9a1a2b8a9c3511cae98a664c377e8493c35cdd120e0d71f0b6b0f62c5",
|
||||
"valid": true,
|
||||
"pubKeyShare": "04a4ae5cb7f598d1bcc6fa49162fe8c19f6ad763ce3959f5afdc3c00e19d8261af37729ae8a707860ecdea067029d3e9"
|
||||
},
|
||||
{
|
||||
"proTxHash": "1e17ddf8748ed5e6696255da61922bd3985fd15a33fcb2d051cf84242e89f121",
|
||||
"valid": true,
|
||||
"pubKeyShare": "8239b67aff5368e710a8ebe5f1f3e9087e8f9c52ed165293779f40b0e764a20972f2ade9367f41cd4f64a3516ad8c90c"
|
||||
},
|
||||
{
|
||||
"proTxHash": "f1eb4ac02ab1acbace0a01328e204c4fd7dec5e53a72cccac7729c5802dbeaf4",
|
||||
"valid": true,
|
||||
"pubKeyShare": "969655b04484de85b3f1ecce5a9745ec7fd0a34533e13fcf285e15ed034578a604e0e2af98cd12cf89d1cfcc167c978d"
|
||||
},
|
||||
{
|
||||
"proTxHash": "a288f5de676eb63dee13a618d39bd6b07ad73e9ae40148202fc5b5f32e1b0bfb",
|
||||
"valid": true,
|
||||
"pubKeyShare": "047bee41fdce58f8d87ba6820c784f2a096d85d1ceec62520013c7c3ef9de9203b82eadc910b197a906be2cd5fd21c53"
|
||||
},
|
||||
{
|
||||
"proTxHash": "57795a35a3a127e817704b6b8ce64ac7f6afc49f0d0172c1e4125987c31dd1d7",
|
||||
"valid": true,
|
||||
"pubKeyShare": "168b9cb406bc44348b5de18c9017817f4e1b15c304ab8d365ba3828712ab1f64c1e4715715d61a96c5923fbe8c470788"
|
||||
},
|
||||
{
|
||||
"proTxHash": "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63",
|
||||
"valid": true,
|
||||
"pubKeyShare": "93a85894c04dbc06e9a598126aa8ba9983427a089710c4ff37b9b9f12980780e988f89192b5feaa25f907b8db9efb930"
|
||||
}
|
||||
],
|
||||
"quorumPublicKey": "18772a3ca86f47795f4e9fa40babe89c7be6bc15bb4e4c8a137715a814a4118516a63b89c5c415b9dfe956f2d6a4fde3",
|
||||
"secretKeyShare": "3da0d8f532309660f7f44aa0ed42c1569773b39c70f5771ce5604be77e50759e"
|
||||
}
|
||||
{% endhighlight %}
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
|
||||
###### Quorum<!--noref--> DKGStatus
|
||||
<!-- no subhead-links here -->
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
The `quorum<!--noref--> list` RPC displays a list of on-chain quorums.
|
||||
|
||||
*Parameter #1---provider registration hash*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`proTxHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The Provider Registration transaction hash of the masternode to show status for. If set to an empty string, the local status is shown."
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #2---detail level*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`detail_level`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Detail level of output<!--noref-->:<br>`0` - Only show counts (_default_)<br>`1` - Show member indexes<br>`2` - Show member's ProTxHashes"
|
||||
{% enditemplate %}
|
||||
|
||||
*Result (if detail level was 0 or omitted)---JSON DKG details*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`result`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "An array of objects each containing a provider transaction, or JSON `null` if an error occurred"
|
||||
|
||||
- n: "→<br>`proTxHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of the initial provider registration transaction as hex in RPC byte order"
|
||||
|
||||
- n: "→<br>`time`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The Unix epoch time"
|
||||
|
||||
- n: "→<br>`timeStr`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The UTC time as a string"
|
||||
|
||||
- n: "→<br>`session`"
|
||||
t: "object"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Object containing DKG Session information"
|
||||
|
||||
- n: "→ →<br>LLMQ Type"
|
||||
t: "object"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Object"
|
||||
|
||||
- n: "→ → →<br>`llmqType`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "[Type of quorum](https://github.com/dashpay/dips/blob/master/dip-0006.md#current-llmq-types):<br>`1` - LLMQ_50_60<br>`2` - LLMQ_400_60<br>`3` - LLMQ_400_85"
|
||||
|
||||
- n: "→ → →<br>`quorumHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The block hash of the quorum"
|
||||
|
||||
- n: "→ → →<br>`quorumHeight`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The block height of the quorum"
|
||||
|
||||
- n: "→ → →<br>`phase`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The active DKG phase"
|
||||
|
||||
- n: "→ → →<br>`sentContributions`"
|
||||
t: "bool"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "True when contributions have been sent"
|
||||
|
||||
- n: "→ → →<br>`sentComplaint`"
|
||||
t: "bool"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "True when complaints have been sent"
|
||||
|
||||
- n: "→ → →<br>`sentJustification`"
|
||||
t: "bool"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "True when justifications have been sent"
|
||||
|
||||
- n: "→ → →<br>`sentPrematureCommitment`"
|
||||
t: "bool"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "True when premature commitments have been sent"
|
||||
|
||||
- n: "→ → →<br>`aborted`"
|
||||
t: "bool"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "True if the DKG session has been aborted"
|
||||
|
||||
- n: "→ → →<br>`badMembers`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Number of bad members"
|
||||
|
||||
- n: "→ → →<br>`weComplain`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Number of complaints sent"
|
||||
|
||||
- n: "→ → →<br>`receivedContributions`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Number of contributions received"
|
||||
|
||||
- n: "→ → →<br>`receivedComplaints`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Number of complaints received"
|
||||
|
||||
- n: "→ → →<br>`receivedJustifications`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Number of justifications received"
|
||||
|
||||
- n: "→ → →<br>`receivedPrematureCommitments`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Number of premature commitments received"
|
||||
|
||||
- n: "→<br>`minableCommitments`"
|
||||
t: "object"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Object containing minable commitments"
|
||||
{% enditemplate %}
|
||||
|
||||
*Result (if detail level was 1)---JSON DKG details including member index*
|
||||
|
||||
Note: detail level 1 includes all level 0 fields and expands the following fields.
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "→ → →<br>`badMembers`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Array containing the member index for each bad member"
|
||||
|
||||
- n: "→ → →<br>`weComplain`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Array containing the member index for each complaint sent"
|
||||
|
||||
- n: "→ → →<br>`receivedContributions`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Array containing the member index for each contribution received"
|
||||
|
||||
- n: "→ → →<br>`receivedComplaints`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Array containing the member index for each complaint received"
|
||||
|
||||
- n: "→ → →<br>`receivedJustifications`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Array containing the member index for each justification received"
|
||||
|
||||
- n: "→ → →<br>`receivedPrematureCommitments`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Array containing the member index for each commitment received"
|
||||
{% enditemplate %}
|
||||
|
||||
*Result (if detail level was 2)---JSON DKG details including member index and ProTx hash*
|
||||
|
||||
Note: detail level 2 includes all level 0 fields, adds the `allMembers` field, and expands several fields.
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "→ → →<br>`badMembers`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "An array of objects with each object containing the member index and ProTx hash for a bad member"
|
||||
|
||||
- n: "→ → → →<br>Member"
|
||||
t: "object"
|
||||
p: "Required<br>(0 or more)"
|
||||
d: "An object describing quorum member details"
|
||||
|
||||
- n: "→ → → → →<br>`memberIndex`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The quorum member's index"
|
||||
|
||||
- n: "→ → → → →<br>`proTxHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of the quorum member's provider registration transaction as hex in RPC byte order"
|
||||
|
||||
- n: "→ → →<br>`weComplain`"
|
||||
t: "object"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "An array of objects with each object containing the member index and ProTx hash for a member being complained about"
|
||||
|
||||
- n: "→ → → →<br>Member"
|
||||
t: "object"
|
||||
p: "Required<br>(0 or more)"
|
||||
d: "An object describing quorum member details"
|
||||
|
||||
- n: "→ → → → →<br>`memberIndex`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The quorum member's index"
|
||||
|
||||
- n: "→ → → → →<br>`proTxHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of the quorum member's provider registration transaction as hex in RPC byte order"
|
||||
|
||||
- n: "→ → →<br>`receivedContributions`"
|
||||
t: "object"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "An array of objects with each object containing the member index and ProTx hash for a member a contribution was received from"
|
||||
|
||||
- n: "→ → → →<br>Member"
|
||||
t: "object"
|
||||
p: "Required<br>(0 or more)"
|
||||
d: "An object describing quorum member details"
|
||||
|
||||
- n: "→ → → → →<br>`memberIndex`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The quorum member's index"
|
||||
|
||||
- n: "→ → → → →<br>`proTxHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of the quorum member's provider registration transaction as hex in RPC byte order"
|
||||
|
||||
- n: "→ → →<br>`receivedComplaints`"
|
||||
t: "object"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "An array of objects with each object containing the member index and ProTx hash for a member a complaint was received from"
|
||||
|
||||
- n: "→ → → →<br>Member"
|
||||
t: "object"
|
||||
p: "Required<br>(0 or more)"
|
||||
d: "An object describing quorum member details"
|
||||
|
||||
- n: "→ → → → →<br>`memberIndex`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The quorum member's index"
|
||||
|
||||
- n: "→ → → → →<br>`proTxHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of the quorum member's provider registration transaction as hex in RPC byte order"
|
||||
|
||||
- n: "→ → →<br>`receivedJustifications`"
|
||||
t: "object"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "An array of objects with each object containing the member index and ProTx hash for a member a justification was received from"
|
||||
|
||||
- n: "→ → → →<br>Member"
|
||||
t: "object"
|
||||
p: "Required<br>(0 or more)"
|
||||
d: "An object describing quorum member details"
|
||||
|
||||
- n: "→ → → → →<br>`memberIndex`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The quorum member's index"
|
||||
|
||||
- n: "→ → → → →<br>`proTxHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of the quorum member's provider registration transaction as hex in RPC byte order"
|
||||
|
||||
- n: "→ → →<br>`receivedPrematureCommitments`"
|
||||
t: "object"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "An array of objects with each object containing the member index and ProTx hash for a member a premature commitment was received from"
|
||||
|
||||
- n: "→ → → →<br>Member"
|
||||
t: "object"
|
||||
p: "Required<br>(0 or more)"
|
||||
d: "An object describing quorum member details"
|
||||
|
||||
- n: "→ → → → →<br>`memberIndex`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The quorum member's index"
|
||||
|
||||
- n: "→ → → → →<br>`proTxHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "The hash of the quorum member's provider registration transaction as hex in RPC byte order"
|
||||
|
||||
- n: "→ → →<br>`allMembers`"
|
||||
t: "array"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Array containing the provider registration transaction hash for all quorum members"
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.14.0*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet quorum dkgstatus
|
||||
{% endhighlight %}
|
||||
|
||||
Result:
|
||||
{% highlight json %}
|
||||
{
|
||||
"proTxHash": "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63",
|
||||
"time": 1554817777,
|
||||
"timeStr": "2019-04-09 13:49:37",
|
||||
"session": {
|
||||
"llmq_50_60": {
|
||||
"llmqType": 1,
|
||||
"quorumHash": "0000000003284177404622ea79491cb19855254627751cfbbb0035a62d17ab6a",
|
||||
"quorumHeight": 76728,
|
||||
"phase": 6,
|
||||
"sentContributions": true,
|
||||
"sentComplaint": true,
|
||||
"sentJustification": false,
|
||||
"sentPrematureCommitment": true,
|
||||
"aborted": false,
|
||||
"badMembers": 1,
|
||||
"weComplain": 0,
|
||||
"receivedContributions": 49,
|
||||
"receivedComplaints": 50,
|
||||
"receivedJustifications": 0,
|
||||
"receivedPrematureCommitments": 49
|
||||
}
|
||||
},
|
||||
"minableCommitments": {
|
||||
}
|
||||
}
|
||||
{% endhighlight %}
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
*Example from Dash Core 0.14.0 (detail_level: 1)*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet quorum dkgstatus "" 1
|
||||
{% endhighlight %}
|
||||
|
||||
Result (truncated):
|
||||
{% highlight json %}
|
||||
{
|
||||
"proTxHash": "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63",
|
||||
"time": 1554817777,
|
||||
"timeStr": "2019-04-09 13:49:37",
|
||||
"session": {
|
||||
"llmq_50_60": {
|
||||
"llmqType": 1,
|
||||
"quorumHash": "0000000003284177404622ea79491cb19855254627751cfbbb0035a62d17ab6a",
|
||||
"quorumHeight": 76728,
|
||||
"phase": 6,
|
||||
"sentContributions": true,
|
||||
"sentComplaint": true,
|
||||
"sentJustification": false,
|
||||
"sentPrematureCommitment": true,
|
||||
"aborted": false,
|
||||
"badMembers": [
|
||||
25
|
||||
],
|
||||
"weComplain": [
|
||||
],
|
||||
"receivedContributions": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
47,
|
||||
48,
|
||||
49
|
||||
],
|
||||
"receivedComplaints": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
47,
|
||||
48,
|
||||
49
|
||||
],
|
||||
"receivedJustifications": [
|
||||
],
|
||||
"receivedPrematureCommitments": [
|
||||
0,
|
||||
1,
|
||||
2,
|
||||
3,
|
||||
47,
|
||||
48,
|
||||
49
|
||||
]
|
||||
}
|
||||
},
|
||||
"minableCommitments": {
|
||||
}
|
||||
}
|
||||
{% endhighlight %}
|
||||
|
||||
*Example from Dash Core 0.14.0 (detail_level: 2)*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet quorum dkgstatus "" 2
|
||||
{% endhighlight %}
|
||||
|
||||
Result (truncated):
|
||||
{% highlight json %}
|
||||
{
|
||||
"proTxHash": "04d06d16b3eca2f104ef9749d0c1c17d183eb1b4fe3a16808fd70464f03bcd63",
|
||||
"time": 1554817777,
|
||||
"timeStr": "2019-04-09 13:49:37",
|
||||
"session": {
|
||||
"llmq_50_60": {
|
||||
"llmqType": 1,
|
||||
"quorumHash": "0000000003284177404622ea79491cb19855254627751cfbbb0035a62d17ab6a",
|
||||
"quorumHeight": 76728,
|
||||
"phase": 6,
|
||||
"sentContributions": true,
|
||||
"sentComplaint": true,
|
||||
"sentJustification": false,
|
||||
"sentPrematureCommitment": true,
|
||||
"aborted": false,
|
||||
"badMembers": [
|
||||
{
|
||||
"memberIndex": 25,
|
||||
"proTxHash": "ebf4b6337e25b975eb23ba6d113f94882196d7259749acaad952acf48025f590"
|
||||
}
|
||||
],
|
||||
"weComplain": [
|
||||
],
|
||||
"receivedContributions": [
|
||||
{
|
||||
"memberIndex": 0,
|
||||
"proTxHash": "5eccc0b9a1a2b8a9c3511cae98a664c377e8493c35cdd120e0d71f0b6b0f62c5"
|
||||
},
|
||||
{
|
||||
"memberIndex": 1,
|
||||
"proTxHash": "1e17ddf8748ed5e6696255da61922bd3985fd15a33fcb2d051cf84242e89f121"
|
||||
},
|
||||
{
|
||||
"memberIndex": 2,
|
||||
"proTxHash": "f1eb4ac02ab1acbace0a01328e204c4fd7dec5e53a72cccac7729c5802dbeaf4"
|
||||
},
|
||||
{
|
||||
"memberIndex": 3,
|
||||
"proTxHash": "a288f5de676eb63dee13a618d39bd6b07ad73e9ae40148202fc5b5f32e1b0bfb"
|
||||
},
|
||||
{
|
||||
"memberIndex": 47,
|
||||
"proTxHash": "1c3618f7228fc4b5e5694dd1be72b633e179b1c17e57d7380992ecb1af6e5fc1"
|
||||
},
|
||||
{
|
||||
"memberIndex": 48,
|
||||
"proTxHash": "8390acf4e1db828c53804b7cb2db81db0732239c0da51a7a923e4e1e073c2cb2"
|
||||
},
|
||||
{
|
||||
"memberIndex": 49,
|
||||
"proTxHash": "51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239"
|
||||
}
|
||||
],
|
||||
"receivedComplaints": [
|
||||
{
|
||||
"memberIndex": 0,
|
||||
"proTxHash": "5eccc0b9a1a2b8a9c3511cae98a664c377e8493c35cdd120e0d71f0b6b0f62c5"
|
||||
},
|
||||
{
|
||||
"memberIndex": 1,
|
||||
"proTxHash": "1e17ddf8748ed5e6696255da61922bd3985fd15a33fcb2d051cf84242e89f121"
|
||||
},
|
||||
{
|
||||
"memberIndex": 2,
|
||||
"proTxHash": "f1eb4ac02ab1acbace0a01328e204c4fd7dec5e53a72cccac7729c5802dbeaf4"
|
||||
},
|
||||
{
|
||||
"memberIndex": 3,
|
||||
"proTxHash": "a288f5de676eb63dee13a618d39bd6b07ad73e9ae40148202fc5b5f32e1b0bfb"
|
||||
},
|
||||
{
|
||||
"memberIndex": 47,
|
||||
"proTxHash": "1c3618f7228fc4b5e5694dd1be72b633e179b1c17e57d7380992ecb1af6e5fc1"
|
||||
},
|
||||
{
|
||||
"memberIndex": 48,
|
||||
"proTxHash": "8390acf4e1db828c53804b7cb2db81db0732239c0da51a7a923e4e1e073c2cb2"
|
||||
},
|
||||
{
|
||||
"memberIndex": 49,
|
||||
"proTxHash": "51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239"
|
||||
}
|
||||
],
|
||||
"receivedJustifications": [
|
||||
],
|
||||
"receivedPrematureCommitments": [
|
||||
{
|
||||
"memberIndex": 0,
|
||||
"proTxHash": "5eccc0b9a1a2b8a9c3511cae98a664c377e8493c35cdd120e0d71f0b6b0f62c5"
|
||||
},
|
||||
{
|
||||
"memberIndex": 1,
|
||||
"proTxHash": "1e17ddf8748ed5e6696255da61922bd3985fd15a33fcb2d051cf84242e89f121"
|
||||
},
|
||||
{
|
||||
"memberIndex": 2,
|
||||
"proTxHash": "f1eb4ac02ab1acbace0a01328e204c4fd7dec5e53a72cccac7729c5802dbeaf4"
|
||||
},
|
||||
{
|
||||
"memberIndex": 3,
|
||||
"proTxHash": "a288f5de676eb63dee13a618d39bd6b07ad73e9ae40148202fc5b5f32e1b0bfb"
|
||||
},
|
||||
{
|
||||
"memberIndex": 47,
|
||||
"proTxHash": "1c3618f7228fc4b5e5694dd1be72b633e179b1c17e57d7380992ecb1af6e5fc1"
|
||||
},
|
||||
{
|
||||
"memberIndex": 48,
|
||||
"proTxHash": "8390acf4e1db828c53804b7cb2db81db0732239c0da51a7a923e4e1e073c2cb2"
|
||||
},
|
||||
{
|
||||
"memberIndex": 49,
|
||||
"proTxHash": "51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239"
|
||||
}
|
||||
],
|
||||
"allMembers": [
|
||||
"5eccc0b9a1a2b8a9c3511cae98a664c377e8493c35cdd120e0d71f0b6b0f62c5",
|
||||
"1e17ddf8748ed5e6696255da61922bd3985fd15a33fcb2d051cf84242e89f121",
|
||||
"f1eb4ac02ab1acbace0a01328e204c4fd7dec5e53a72cccac7729c5802dbeaf4",
|
||||
"a288f5de676eb63dee13a618d39bd6b07ad73e9ae40148202fc5b5f32e1b0bfb",
|
||||
"...",
|
||||
"1c3618f7228fc4b5e5694dd1be72b633e179b1c17e57d7380992ecb1af6e5fc1",
|
||||
"8390acf4e1db828c53804b7cb2db81db0732239c0da51a7a923e4e1e073c2cb2",
|
||||
"51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239"
|
||||
]
|
||||
}
|
||||
},
|
||||
"minableCommitments": {
|
||||
}
|
||||
}
|
||||
{% endhighlight %}
|
||||
|
||||
###### Quorum<!--noref--> Sign
|
||||
<!-- no subhead-links here -->
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
The `quorum<!--noref--> sign` RPC requests threshold-signing for a message.
|
||||
|
||||
 Note: Used for RegTest testing only.
|
||||
|
||||
*Parameter #1---LLMQ Type*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`llmqType`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "[Type of quorum](https://github.com/dashpay/dips/blob/master/dip-0006.md#current-llmq-types):<br>`1` - LLMQ_50_60<br>`2` - LLMQ_400_60<br>`3` - LLMQ_400_85"
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #2---id*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`id`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Signing request ID"
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #3---message hash*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`msgHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Hash of the message to be signed"
|
||||
{% enditemplate %}
|
||||
|
||||
*Result---status*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "result"
|
||||
t: "bool"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "True or false depending on success"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.14.0*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet quorum sign 1 \
|
||||
"abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234" "51c11d287dfa85aef3eebb5420834c8e443e01d15c0b0a8e397d67e2e51aa239"
|
||||
{% endhighlight %}
|
||||
|
||||
Result:
|
||||
{% highlight json %}
|
||||
false
|
||||
{% endhighlight %}
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
###### Quorum<!--noref--> HasRecSig
|
||||
<!-- no subhead-links here -->
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
The `quorum<!--noref--> hasrecsig` RPC checks for a recovered signature for a previous threshold-signing message request.
|
||||
|
||||
 Note: Used for RegTest testing only.
|
||||
|
||||
*Parameter #1---LLMQ Type*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`llmqType`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "[Type of quorum](https://github.com/dashpay/dips/blob/master/dip-0006.md#current-llmq-types):<br>`1` - LLMQ_50_60<br>`2` - LLMQ_400_60<br>`3` - LLMQ_400_85"
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #2---id*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`id`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Signing request ID"
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #3---message hash*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`msgHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Hash of the message to be signed"
|
||||
{% enditemplate %}
|
||||
|
||||
*Result---status*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "result"
|
||||
t: "bool"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "True or false depending on success"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.14.0*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet quorum hasrecsig 1 \
|
||||
"1746e9e82fde8bbda5407551f22b63794894cef0f761ba43f58fd9a9654ff205" "1746e9e82fde8bbda5407551f22b63794894cef0f761ba43f58fd9a9654ff205"
|
||||
{% endhighlight %}
|
||||
|
||||
Result:
|
||||
{% highlight json %}
|
||||
false
|
||||
{% endhighlight %}
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
###### Quorum<!--noref--> IsConflicting
|
||||
<!-- no subhead-links here -->
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
The `quorum<!--noref--> isconflicting` RPC checks if there is a conflict for a threshold-signing message request.
|
||||
|
||||
 Note: Used for RegTest testing only.
|
||||
|
||||
*Parameter #1---LLMQ Type*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`llmqType`"
|
||||
t: "number"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "[Type of quorum](https://github.com/dashpay/dips/blob/master/dip-0006.md#current-llmq-types):<br>`1` - LLMQ_50_60<br>`2` - LLMQ_400_60<br>`3` - LLMQ_400_85"
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #2---id*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`id`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Signing request ID"
|
||||
{% enditemplate %}
|
||||
|
||||
*Parameter #3---message hash*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "`msgHash`"
|
||||
t: "string (hex)"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "Hash of the message to be signed"
|
||||
{% enditemplate %}
|
||||
|
||||
*Result---status*
|
||||
|
||||
{% itemplate ntpd1 %}
|
||||
- n: "result"
|
||||
t: "bool"
|
||||
p: "Required<br>(exactly 1)"
|
||||
d: "True or false depending on success"
|
||||
|
||||
{% enditemplate %}
|
||||
|
||||
*Example from Dash Core 0.14.0*
|
||||
|
||||
{% highlight bash %}
|
||||
dash-cli -testnet quorum isconflicting 1 \
|
||||
"1746e9e82fde8bbda5407551f22b63794894cef0f761ba43f58fd9a9654ff205" "1746e9e82fde8bbda5407551f22b63794894cef0f761ba43f58fd9a9654ff205"
|
||||
{% endhighlight %}
|
||||
|
||||
Result:
|
||||
{% highlight json %}
|
||||
false
|
||||
{% endhighlight %}
|
||||
|
||||
{% endautocrossref %}
|
||||
|
||||
{% autocrossref %}
|
||||
|
||||
*See also: none*
|
||||
|
||||
{% endautocrossref %}
|
Loading…
Add table
Add a link
Reference in a new issue