From 0b58c4eee34eb400779514ab9ee0aacba0db2c8e Mon Sep 17 00:00:00 2001 From: thephez Date: Mon, 3 Nov 2025 13:18:04 -0500 Subject: [PATCH 01/25] docs(rpc): update ProTx parameter names for Dash Core 23.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update all protx RPC commands to reflect renamed parameters in Dash Core 23.0.0: - ipAndPort → coreP2PAddrs (accepts string or array) - platformP2PPort → platformP2PAddrs (accepts string/array) - platformHTTPPort → platformHTTPSAddrs (accepts string/array) Updated commands include protx register, protx register_evo, protx register_fund, protx register_fund_evo, protx register_prepare, protx register_prepare_evo, protx update_service, and protx update_service_evo variants. --- docs/core/api/remote-procedure-calls-evo.md | 126 ++++++++++---------- 1 file changed, 64 insertions(+), 62 deletions(-) diff --git a/docs/core/api/remote-procedure-calls-evo.md b/docs/core/api/remote-procedure-calls-evo.md index cd1ee75f8..26adafb8c 100644 --- a/docs/core/api/remote-procedure-calls-evo.md +++ b/docs/core/api/remote-procedure-calls-evo.md @@ -626,11 +626,11 @@ The `protx register` RPC creates a ProRegTx referencing an existing collateral a | ----------------- | ------------ | ----------------------- | --------------------------------------- | | `collateralIndex` | string (hex) | Required
(exactly 1) | The collateral transaction output index | -*Parameter #3---IP Address and port* +*Parameter #3---Core P2P addresses* | Name | Type | Presence | Description | | ----------- | ------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| `ipAndPort` | string | Required
(exactly 1) | IP and port in the form `IP:PORT`.
Must be unique on the network.
Can be set to `0`, which will require a ProUpServTx afterwards. | +| `coreP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `ipAndPort`)
Core P2P address(es) in the form `ADDR:PORT`. Can be a single string or an array of strings.
Must be unique on the network.
Can be set to an empty string, which will require a ProUpServTx afterwards. | *Parameter #4---owner address* @@ -654,7 +654,7 @@ The `protx register` RPC creates a ProRegTx referencing an existing collateral a | Name | Type | Presence | Description | | ---------------- | ------ | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `operatorReward` | number | Required
(exactly 1) | The fraction in % to share with the operator. The value must be between `0.00` and `100.00`.
**Note**: If non-zero, `ipAndPort` must be zero as well. | +| `operatorReward` | number | Required
(exactly 1) | The fraction in % to share with the operator. The value must be between `0.00` and `100.00`.
**Note**: If non-zero, `coreP2PAddrs` must be zero as well. | *Parameter #8---payout address* @@ -732,12 +732,12 @@ ec66f97568727a9e5188acb3ccf680086ae11217236efcccd67b0b72e83c79a043d6c6d064378fdd ### ProTx Register Legacy -:::{note} -Since the v19 hard fork activation, this command must be used if a legacy scheme BLS key is being used to register a masternode. In all other cases the [`protx register`RPC](#protx-register) should be used instead. - -Legacy scheme BLS keys are created if the [`bls generate` RPC](#bls-generate) is run prior to v19 hard fork activation OR if a legacy key is explicitly generated using the [`bls generate legacy` RPC](#bls-generate). +:::{warning} +**DEPRECATED in Dash Core 23.0.0**: This RPC can be re-enabled with `-deprecatedrpc=legacy_mn`. No new legacy scheme masternode registrations will be permitted after the v24 fork. ::: +Since the v19 hard fork activation, this command must be used if a legacy scheme BLS key is being used to register a masternode. In all other cases the [`protx register`RPC](#protx-register) should be used instead. Legacy scheme BLS keys are created if a legacy key is explicitly generated using the [`bls generate legacy` RPC](#bls-generate). + The `protx register_legacy` RPC works similar to `protx register`, but parses the operator key using the legacy BLS scheme. The collateral is specified through `collateralHash` and `collateralIndex` and must be an unspent transaction output spendable by this wallet. It must also not be used by any other masternode. This RPC requires a wallet passphrase to be set with walletpassphrase call if wallet is encrypted. *Parameter #1---collateral hash* @@ -752,11 +752,11 @@ The `protx register_legacy` RPC works similar to `protx register`, but parses th | ----------------- | ------------ | ----------------------- | --------------------------------------- | | `collateralIndex` | string (hex) | Required
(exactly 1) | The collateral transaction output index | -*Parameter #3---IP Address and port* +*Parameter #3---Core P2P addresses* | Name | Type | Presence | Description | | ----------- | ------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| `ipAndPort` | string | Required
(exactly 1) | IP and port in the form `IP:PORT`.
Must be unique on the network.
Can be set to `0`, which will require a ProUpServTx afterwards. | +| `coreP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `ipAndPort`)
Core P2P address(es) in the form `ADDR:PORT`. Can be a single string or an array of strings.
Must be unique on the network.
Can be set to an empty string, which will require a ProUpServTx afterwards. | *Parameter #4---owner address* @@ -863,11 +863,11 @@ The `protx register_fund` RPC creates and funds a ProRegTx with the 1,000 DASH n | ------------------- | ------ | ----------------------- | ------------------------------------------ | | `collateralAddress` | string | Required
(exactly 1) | The Dash address to send the collateral to | -*Parameter #2---IP Address and port* +*Parameter #2---Core P2P addresses* | Name | Type | Presence | Description | | ----------- | ------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| `ipAndPort` | string | Required
(exactly 1) | IP and port in the form `IP:PORT`.
Must be unique on the network.
Can be set to `0`, which will require a ProUpServTx afterwards. | +| `coreP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `ipAndPort`)
Core P2P address(es) in the form `ADDR:PORT`. Can be a single string or an array of strings.
Must be unique on the network.
Can be set to an empty string, which will require a ProUpServTx afterwards. | *Parameter #3---owner address* @@ -966,12 +966,12 @@ c207ebd525793ccb43f60ce34a5cd5f4011976a9145a375814e9caf5b8575a8221be246457e5c5c2 ### ProTx Register Fund Legacy -:::{note} -Since the v19 hard fork activation, this command must be used if a legacy scheme BLS key is being used to register a masternode. In all other cases the [`protx register_fund` RPC](#protx-register-fund) should be used instead. - -Legacy scheme BLS keys are created if the [`bls generate` RPC](#bls-generate) is run prior to v19 hard fork activation OR if a legacy key is explicitly generated using the [`bls generate legacy` RPC](#bls-generate). +:::{warning} +**DEPRECATED in Dash Core 23.0.0**: This RPC can be re-enabled with `-deprecatedrpc=legacy_mn`. No new legacy scheme masternode registrations will be permitted after the v24 fork. ::: +Since the v19 hard fork activation, this command must be used if a legacy scheme BLS key is being used to register a masternode. In all other cases the [`protx register_fund` RPC](#protx-register-fund) should be used instead. Legacy scheme BLS keys are created if a legacy key is explicitly generated using the [`bls generate legacy` RPC](#bls-generate). + The `protx register_fund_legacy` RPC creates, funds, and sends a ProTx to the network. The resulting transaction will move 1000 DASH to the address specified by `collateralAddress` and will then function as the collateral of your masternode. A few of the limitations you see in the arguments are temporary and might be lifted after DIP3 is fully deployed. *Parameter #1---collateral address* @@ -980,11 +980,11 @@ The `protx register_fund_legacy` RPC creates, funds, and sends a ProTx to the ne | ------------------- | ------ | ----------------------- | ------------------------------------------ | | `collateralAddress` | string | Required
(exactly 1) | The Dash address to send the collateral to | -*Parameter #2---IP Address and port* +*Parameter #2---Core P2P addresses* | Name | Type | Presence | Description | | ----------- | ------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| `ipAndPort` | string | Required
(exactly 1) | IP and port in the form `IP:PORT`.
Must be unique on the network.
Can be set to `0`, which will require a ProUpServTx afterwards. | +| `coreP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `ipAndPort`)
Core P2P address(es) in the form `ADDR:PORT`. Can be a single string or an array of strings.
Must be unique on the network.
Can be set to an empty string, which will require a ProUpServTx afterwards. | *Parameter #3---owner address* @@ -1097,11 +1097,11 @@ The `protx register_prepare` RPC creates an unsigned ProTx and a message that mu | ----------------- | ------------ | ----------------------- | --------------------------------------- | | `collateralIndex` | string (hex) | Required
(exactly 1) | The collateral transaction output index | -*Parameter #3---IP Address and port* +*Parameter #3---Core P2P addresses* | Name | Type | Presence | Description | | ----------- | ------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| `ipAndPort` | string | Required
(exactly 1) | IP and port in the form 'IP:PORT'.
Must be unique on the network.
Can be set to '0', which will require a ProUpServTx afterwards. | +| `coreP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `ipAndPort`)
Core P2P address(es) in the form `ADDR:PORT`. Can be a single string or an array of strings.
Must be unique on the network.
Can be set to an empty string, which will require a ProUpServTx afterwards. | *Parameter #4---owner address* @@ -1170,12 +1170,12 @@ Result: ### ProTx Register Prepare Legacy -:::{note} -Since the v19 hard fork activation, this command must be used if a legacy scheme BLS key is being used to register a masternode. In all other cases the [`protx register_prepare` RPC](#protx-register-prepare) should be used instead. - -Legacy scheme BLS keys are created if the [`bls generate` RPC](#bls-generate) is run prior to v19 hard fork activation OR if a legacy key is explicitly generated using the [`bls generate legacy` RPC](#bls-generate). +:::{warning} +**DEPRECATED in Dash Core 23.0.0**: This RPC can be re-enabled with `-deprecatedrpc=legacy_mn`. No new legacy scheme masternode registrations will be permitted after the v24 fork. ::: +Since the v19 hard fork activation, this command must be used if a legacy scheme BLS key is being used to register a masternode. In all other cases the [`protx register_prepare` RPC](#protx-register-prepare) should be used instead. Legacy scheme BLS keys are created if a legacy key is explicitly generated using the [`bls generate legacy` RPC](#bls-generate). + The `protx register_prepare_legacy` RPC Creates an unsigned ProTx and a message that must be signed externally with the private key that corresponds to collateralAddress to prove collateral ownership. The prepared transaction will also contain inputs and outputs to cover fees. *Parameter #1---collateral address* @@ -1190,11 +1190,11 @@ The `protx register_prepare_legacy` RPC Creates an unsigned ProTx and a message | ----------------- | ------------ | ----------------------- | --------------------------------------- | | `collateralIndex` | string (hex) | Required
(exactly 1) | The collateral transaction output index | -*Parameter #3---IP Address and port* +*Parameter #3---Core P2P addresses* | Name | Type | Presence | Description | | ----------- | ------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| `ipAndPort` | string | Required
(exactly 1) | IP and port in the form 'IP:PORT'.
Must be unique on the network.
Can be set to '0', which will require a ProUpServTx afterwards. | +| `coreP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `ipAndPort`)
Core P2P address(es) in the form `ADDR:PORT`. Can be a single string or an array of strings.
Must be unique on the network.
Can be set to an empty string, which will require a ProUpServTx afterwards. | *Parameter #4---owner address* @@ -1277,11 +1277,11 @@ The `protx register_evo` RPC functions similar to `protx register_fund_evo`, but | ----------------- | ------------ | ----------------------- | --------------------------------------- | | `collateralIndex` | string (hex) | Required
(exactly 1) | The collateral transaction output index | -*Parameter #3---IP Address and port* +*Parameter #3---Core P2P Addresses* | Name | Type | Presence | Description | | ----------- | ------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| `ipAndPort` | string | Required
(exactly 1) | IP and port in the form `IP:PORT`.
Must be unique on the network.
Can be set to `0`, which will require a ProUpServTx afterwards. | +| `coreP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `ipAndPort`)
Core P2P address(es) in the form `ADDR:PORT`. Can be a single string or an array of strings.
Must be unique on the network.
Can be set to an empty string, which will require a ProUpServTx afterwards. | *Parameter #4---owner address* @@ -1305,7 +1305,7 @@ The `protx register_evo` RPC functions similar to `protx register_fund_evo`, but | Name | Type | Presence | Description | | ---------------- | ------ | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `operatorReward` | number | Required
(exactly 1) | The fraction in % to share with the operator. The value must be between `0.00` and `100.00`.
**Note**: If non-zero, `ipAndPort` must be zero as well. | +| `operatorReward` | number | Required
(exactly 1) | The fraction in % to share with the operator. The value must be between `0.00` and `100.00`.
**Note**: If non-zero, `coreP2PAddrs` must be zero as well. | *Parameter #8---payout address* @@ -1319,17 +1319,17 @@ The `protx register_evo` RPC functions similar to `protx register_fund_evo`, but | ---------------- | ------ | ----------------------- | -------------------------------------------------- | | `platformNodeID` | string | Required
(exactly 1) | Platform P2P node ID, derived from P2P public key. | -*Parameter #10---platform p2p port* +*Parameter #10---platform P2P addresses* | Name | Type | Presence | Description | | ----------------- | ------ | ----------------------- | ------------------------------------------------------------- | -| `platformP2PPort` | number | Required
(exactly 1) | TCP port of Platform HTTP/API interface (network byte order). | +| `platformP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `platformP2PPort`)
Array of Platform P2P address(es) in the form `ADDR:PORT`.
Can be set to an empty string, which will require a ProUpServTx afterwards. | -*Parameter #11---platform p2p port* +*Parameter #11---platform HTTPS addresses* | Name | Type | Presence | Description | | ----------------- | ------ | ----------------------- | ---------------------------------------------------------------------------------------- | -| `platformP2PPort` | number | Required
(exactly 1) | TCP port of Dash Platform peer-to-peer communication between nodes (network byte order). | +| `platformHTTPSAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `platformHTTPPort`)
Array of Platform HTTPS address(es) in the form `ADDR:PORT`. Can be an empty string or an array of strings.
Can be set to an empty string, which will require a ProUpServTx afterwards. | *Parameter #12---fee source address* @@ -1411,11 +1411,11 @@ The `protx register_fund_evo` RPC creates, funds, and sends a ProTx to the netwo | ------------------- | ------ | ----------------------- | ------------------------------------------ | | `collateralAddress` | string | Required
(exactly 1) | The Dash address to send the collateral to | -*Parameter #2---IP Address and port* +*Parameter #2---Core P2P addresses* | Name | Type | Presence | Description | | ----------- | ------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| `ipAndPort` | string | Required
(exactly 1) | IP and port in the form `IP:PORT`.
Must be unique on the network.
Can be set to `0`, which will require a ProUpServTx afterwards. | +| `coreP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `ipAndPort`)
Core P2P address(es) in the form `ADDR:PORT`. Can be a single string or an array of strings.
Must be unique on the network.
Can be set to an empty string, which will require a ProUpServTx afterwards. | *Parameter #3---owner address* @@ -1453,17 +1453,17 @@ The `protx register_fund_evo` RPC creates, funds, and sends a ProTx to the netwo | ---------------- | ------ | ----------------------- | -------------------------------------------------- | | `platformNodeID` | string | Required
(exactly 1) | Platform P2P node ID, derived from P2P public key. | -*Parameter #9---platform p2p port* +*Parameter #9---platform P2P addresses* | Name | Type | Presence | Description | | ----------------- | ------ | ----------------------- | ---------------------------------------------------------------------------------------- | -| `platformP2PPort` | number | Required
(exactly 1) | TCP port of Dash Platform peer-to-peer communication between nodes (network byte order). | +| `platformP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `platformP2PPort`)
Array of Platform P2P address(es) in the form `ADDR:PORT`.
Can be set to an empty string, which will require a ProUpServTx afterwards. | -*Parameter #10---platform http port* +*Parameter #10---platform HTTPS addresses* | Name | Type | Presence | Description | | ------------------ | ------ | ----------------------- | ------------------------------------------------------------- | -| `platformHTTPPort` | number | Required
(exactly 1) | TCP port of Platform HTTP/API interface (network byte order). | +| `platformHTTPSAddrs` | number/string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `platformHTTPPort`)
Array of Platform HTTPS address(es) in the form `ADDR:PORT`. Can be an empty string or an array of strings.
Can be set to an empty string, which will require a ProUpServTx afterwards. | *Parameter #11---fund address* @@ -1546,11 +1546,11 @@ The `protx register_prepare_evo` RPC creates an unsigned ProTx and a message tha | ----------------- | ------------ | ----------------------- | --------------------------------------- | | `collateralIndex` | string (hex) | Required
(exactly 1) | The collateral transaction output index | -*Parameter #3---IP Address and port* +*Parameter #3---Core P2P addresses* | Name | Type | Presence | Description | | ----------- | ------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -| `ipAndPort` | string | Required
(exactly 1) | IP and port in the form 'IP:PORT'.
Must be unique on the network.
Can be set to '0', which will require a ProUpServTx afterwards. | +| `coreP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `ipAndPort`)
Core P2P address(es) in the form `ADDR:PORT`. Can be a single string or an array of strings.
Must be unique on the network.
Can be set to an empty string, which will require a ProUpServTx afterwards. | *Parameter #4---owner address* @@ -1588,17 +1588,17 @@ The `protx register_prepare_evo` RPC creates an unsigned ProTx and a message tha | ---------------- | ------------ | ----------------------- | -------------------------------------------------- | | `platformNodeID` | string (hex) | Required
(exactly 1) | Platform P2P node ID, derived from P2P public key. | -*Parameter #10---platform p2p port* +*Parameter #10---platform P2P addresses* -| Name | Type | Presence | Description | -| ----------------- | ------- | ----------------------- | -------------------------------------------------- | -| `platformP2PPort` | numeric | Required
(exactly 1) | Platform P2P node ID, derived from P2P public key. | +| Name | Type | Presence | Description | +| - | - | - | - | +| `platformP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `platformP2PPort`)
Array of Platform P2P address(es) in the form `ADDR:PORT`.
Can be set to an empty string, which will require a ProUpServTx afterwards. | -*Parameter #11---platform http port* +*Parameter #11---platform HTTPS addresses* -| Name | Type | Presence | Description | -| ------------------ | ------- | ----------------------- | ------------------------------------------------------------- | -| `platformHTTPPort` | numeric | Required
(exactly 1) | TCP port of Platform HTTP/API interface (network byte order). | +| Name | Type | Presence | Description | +| - | - | - | - | +| `platformHTTPSAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `platformHTTPPort`)
Array of Platform HTTPS address(es) in the form `ADDR:PORT`.
Can be set to an empty string, which will require a ProUpServTx afterwards. | *Parameter #12---fee source address* @@ -1646,11 +1646,11 @@ The `protx update_service_evo` RPC creates and sends a ProUpServTx to the networ | ----------- | ------------ | ----------------------- | ------------------------------------------------------------- | | `proTxHash` | string (hex) | Required
(exactly 1) | The hash of the provider transaction as hex in RPC byte order | -*Parameter #2---IP Address and port* +*Parameter #2---Core P2P Addresses* | Name | Type | Presence | Description | | ----------- | ------ | ----------------------- | -------------------------------------------------------------------- | -| `ipAndPort` | string | Required
(exactly 1) | IP and port in the form 'IP:PORT'.
Must be unique on the network. | +| `coreP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `ipAndPort`)
Core P2P address(es) in the form `ADDR:PORT`. Can be a single string or an array of strings.
Must be unique on the network. | *Parameter #3---operator key* @@ -1664,17 +1664,17 @@ The `protx update_service_evo` RPC creates and sends a ProUpServTx to the networ | ---------------- | ------ | ----------------------- | -------------------------------------------------- | | `platformNodeID` | string | Required
(exactly 1) | Platform P2P node ID, derived from P2P public key. | -*Parameter #5---platform P2P Port* +*Parameter #5---platform P2P addresses* -| Name | Type | Presence | Description | -| ----------------- | ------- | ----------------------- | ---------------------------------------------------------------------------------------- | -| `platformP2PPort` | numeric | Required
(exactly 1) | TCP port of Dash Platform peer-to-peer communication between nodes (network byte order). | +| Name | Type | Presence | Description | +| - | - | - | - | +| `platformP2PAddrs` | array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `platformP2PPort`)
Array of Platform P2P address(es) in the form `ADDR:PORT`. Must be an array of strings. | -*Parameter #6---platform HTTP Port* +*Parameter #6---platform HTTPS addresses* -| Name | Type | Presence | Description | -| ------------------ | ------- | ----------------------- | ------------------------------------------------------------- | -| `platformHTTPPort` | numeric | Required
(exactly 1) | TCP port of Platform HTTP/API interface (network byte order). | +| Name | Type | Presence | Description | +| - | - | - | - | +| `platformHTTPSAddrs` | array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `platformHTTPPort`)
Platform HTTPS address(es) in the form `ADDR:PORT`. Must be an array of strings. | *Parameter #7---operator payout address* @@ -1865,10 +1865,12 @@ Result: ### ProTx Update Registrar Legacy -:::{note} -Since the v19 hard fork activation, this command must be used if a legacy scheme BLS key is being used to registrar update a masternode. This would include all masternodes registered prior to the hard fork that have not already updated to a new basic scheme BLS key. +:::{warning} +**DEPRECATED in Dash Core 23.0.0**: This RPC can be re-enabled with `-deprecatedrpc=legacy_mn`. Basic scheme masternodes cannot downgrade to legacy scheme after the v24 fork deployment. ::: +Since the v19 hard fork activation, this command must be used if a legacy scheme BLS key is being used to registrar update a masternode. This would include all masternodes registered prior to the hard fork that have not already updated to a new basic scheme BLS key. + The `protx update_registrar_legacy` RPC creates and sends a ProUpRegTx to the network. This will update the operator key, voting key and payout address of the masternode specified by `proTxHash`. The owner key of the masternode must be known to your wallet. Requires the wallet passphrase to be provide with the [`walletpassphrase` RPC](../api/remote-procedure-calls-wallet.md#walletpassphrase) if the wallet is encrypted. *Parameter #1---initial provider registration transaction hash* @@ -1932,11 +1934,11 @@ The `protx update_service` RPC creates and sends a ProUpServTx to the network. | ----------- | ------------ | ----------------------- | ------------------------------------------------------------- | | `proTxHash` | string (hex) | Required
(exactly 1) | The hash of the provider transaction as hex in RPC byte order | -*Parameter #2---IP Address and port* +*Parameter #2---Core P2P Addresses* | Name | Type | Presence | Description | | ----------- | ------ | ----------------------- | -------------------------------------------------------------------- | -| `ipAndPort` | string | Required
(exactly 1) | IP and port in the form 'IP:PORT'.
Must be unique on the network. | +| `coreP2PAddrs` | string/array | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (previously `ipAndPort`)
Core P2P address(es) in the form `ADDR:PORT`. Can be a single string or an array of strings.
Must be unique on the network. | *Parameter #3---operator key* From c90cc0ac67f8b9547fe8cc1ebab1fb8a59c8a508 Mon Sep 17 00:00:00 2001 From: thephez Date: Mon, 3 Nov 2025 13:57:03 -0500 Subject: [PATCH 02/25] docs(rpc): add submit param for protx commands --- docs/core/api/remote-procedure-calls-evo.md | 66 ++++++++++++++++----- 1 file changed, 51 insertions(+), 15 deletions(-) diff --git a/docs/core/api/remote-procedure-calls-evo.md b/docs/core/api/remote-procedure-calls-evo.md index 26adafb8c..40e8d9895 100644 --- a/docs/core/api/remote-procedure-calls-evo.md +++ b/docs/core/api/remote-procedure-calls-evo.md @@ -1780,16 +1780,28 @@ The `protx revoke` RPC creates and sends a ProUpRevTx to the network. *Parameter #4---fee source address* -| Name | Type | Presence | Description | -| ------------------ | ------ | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Name | Type | Presence | Description | +| - | - | - | - | | `feeSourceAddress` | string | Optional
(0 or 1) | If specified, the wallet will only use coins from this address to fund the ProTx. If not specified, `payoutAddress` will be used. The private key belonging to this address must be known in your wallet. | -*Result---provider update revoke transaction hash* +*Parameter #5---whether to submit to the network or not* + +| Name | Type | Presence | Description | +| - | - | - | - | +| `submit` | bool | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
If `true` (default), the resulting transaction is sent to the network. | + +*Result if `submit` is not set or set to `true`---provider update revoke transaction hash* -| Name | Type | Presence | Description | -| -------- | ------------ | ----------------------- | ---------------------------------------------------- | +| Name | Type | Presence | Description | +| - | - | - | - | | `result` | string (hex) | Required
(exactly 1) | Provider update revoke transaction (ProUpRevTx) hash | +*Result if `submit` is set to `false`---serialized transaction* + +| Name | Type | Presence | Description | +| - | - | - | - | +| `result` | string (hex) | Required
(exactly 1) | The serialized signed ProUpRevTx in hex format | + *Example from Dash Core 0.13.0* ```bash @@ -1838,16 +1850,28 @@ The `protx update_registrar` RPC creates and sends a ProUpRegTx to the network. *Parameter #5---fee source address* -| Name | Type | Presence | Description | -| ------------------ | ------ | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Name | Type | Presence | Description | +| - | - | - | - | | `feeSourceAddress` | string | Optional
(0 or 1) | If specified, the wallet will only use coins from this address to fund the ProTx. If not specified, `payoutAddress` will be used. The private key belonging to this address must be known in your wallet. | -*Result---provider update registrar transaction hash* +*Parameter #6---whether to submit to the network or not* -| Name | Type | Presence | Description | -| -------- | ------------ | ----------------------- | ------------------------------------------------------- | +| Name | Type | Presence | Description | +| - | - | - | - | +| `submit` | bool | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
If `true` (default), the resulting transaction is sent to the network. | + +*Result if `submit` is not set or set to `true`---provider update registrar transaction hash* + +| Name | Type | Presence | Description | +| - | - | - | - | | `result` | string (hex) | Required
(exactly 1) | Provider update registrar transaction (ProUpRegTx) hash | +*Result if `submit` is set to `false`---serialized transaction* + +| Name | Type | Presence | Description | +| - | - | - | - | +| `result` | string (hex) | Required
(exactly 1) | The serialized signed ProUpRegTx in hex format | + *Example from Dash Core 0.13.0* ```bash @@ -1954,16 +1978,28 @@ The `protx update_service` RPC creates and sends a ProUpServTx to the network. *Parameter #5---fee source address* -| Name | Type | Presence | Description | -| ------------------ | ------ | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Name | Type | Presence | Description | +| - | - | - | - | | `feeSourceAddress` | string | Optional
(0 or 1) | If specified, the wallet will only use coins from this address to fund the ProTx. If not specified, `operatorPayoutAddress` will be used. The private key belonging to this address must be known in your wallet. | -*Result---provider update service transaction hash* +*Parameter #6---whether to submit to the network or not* -| Name | Type | Presence | Description | -| -------- | ------------ | ----------------------- | ------------------------------------------------------ | +| Name | Type | Presence | Description | +| - | - | - | - | +| `submit` | bool | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
If `true` (default), the resulting transaction is sent to the network. | + +*Result if `submit` is not set or set to `true`---provider update service transaction hash* + +| Name | Type | Presence | Description | +| - | - | - | - | | `result` | string (hex) | Required
(exactly 1) | Provider update service transaction (ProUpServTx) hash | +*Result if `submit` is set to `false`---serialized transaction* + +| Name | Type | Presence | Description | +| - | - | - | - | +| `result` | string (hex) | Required
(exactly 1) | The serialized signed ProUpServTx in hex format | + *Example from Dash Core 0.13.0* ```bash From 8b867ebf8dd2b4427d042342407e5e10f2d3a735 Mon Sep 17 00:00:00 2001 From: thephez Date: Mon, 3 Nov 2025 13:57:46 -0500 Subject: [PATCH 03/25] docs(rpc): deprecate service field and add addresses for network info --- docs/core/api/remote-procedure-calls-evo.md | 26 +++++++++++++++++---- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/docs/core/api/remote-procedure-calls-evo.md b/docs/core/api/remote-procedure-calls-evo.md index 40e8d9895..3d97d71d7 100644 --- a/docs/core/api/remote-procedure-calls-evo.md +++ b/docs/core/api/remote-procedure-calls-evo.md @@ -144,11 +144,15 @@ The `protx diff` RPC calculates a diff and a proof between two masternode list. | → →
`nType` | number | Required
(exactly 1) | **Added in Dash Core 19.0.0**
Type of masternode
`0` - Regular masternode
`1` - Evolution masternode | | → →
`proRegTxHash` | string (hex) | Required
(exactly 1) | The hash of the initial provider registration transaction as hex in RPC byte order | | → →
`confirmedHash` | string (hex) | Required
(exactly 1) | The hash of the block where the ProRegTx was mined | -| → →
`service` | string | Required
(exactly 1) | The IP address/Port of the masternode | +| → →
`service` | string | Required
(exactly 1) | **DEPRECATED in Dash Core 23.0.0** - Use `addresses['core_p2p'][0]` instead
The IP address/Port of the masternode | +| → →
`addresses` | object | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Masternode network addresses object | +| → → →
`core_p2p` | array | Required
(exactly 1) | Array of core P2P address strings in `ADDR:PORT` format | +| → → →
`platform_p2p` | array | Optional
(0 or 1) | Array of platform P2P address strings in `ADDR:PORT` format (evonodes only) | +| → → →
`platform_https` | array | Optional
(0 or 1) | Array of platform HTTPS address strings in `ADDR:PORT` format (evonodes only) | | → →
`pubKeyOperator` | string (hex) | Required
(exactly 1) | The operator public key | | → →
`votingAddress` | string | Required
(exactly 1) | The voting address | | → →
`isValid` | bool | Required
(exactly 1) | Set to `true` if masternode is valid | -| → →
`platformHTTPPort` | number | Optional
(0 or 1) | **Added in Dash Core 19.0.0**
TCP port of Platform HTTP/API interface (evonodes only) | +| → →
`platformHTTPPort` | number | Optional
(0 or 1) | **DEPRECATED in Dash Core 23.0.0** - Use `addresses['platform_https'][0]` instead
TCP port of Platform HTTP/API interface (evonodes only) | | → →
`platformNodeID` | string (hex) | Optional
(0 or 1) | **Added in Dash Core 19.0.0**
Platform P2P node ID, derived from P2P public key (evonodes only) | | → →
`payoutAddress` | string | Optional
(0 or 1) | *Added in Dash Core 18.1.0*
The owner's payout address. Only included if the `extended` parameter is set to `true`. | | → →
`operatorPayoutAddress` | string | Required
(exactly 1) | *Added in Dash Core 18.1.0*
The operator's payout address. Only included if the `extended` parameter is set to `true`. | @@ -304,7 +308,11 @@ The `protx info` RPC returns detailed information about a deterministic masterno | →
`operatorReward` | number (float) | Required
(exactly 1) | The operator reward %. The value must be between `0.00` and `100.00`. | | →
`state` | object/null | Required
(exactly 1) | An object containing a provider transaction state | | → →
`version` | number (int) | Required
(exactly 1) | **Added in Dash Core 19.2.0**
The version of the most recent ProRegTx or ProUpRegTx | -| → →
`service` | string | Required
(exactly 1) | The masternode's IP:Port | +| → →
`service` | string | Required
(exactly 1) | **DEPRECATED in Dash Core 23.0.0** - Use `addresses['core_p2p'][0]` instead
The masternode's IP:Port | +| → →
`addresses` | object | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Masternode network addresses object | +| → → →
`core_p2p` | array | Required
(exactly 1) | Array of core P2P address strings in `ADDR:PORT` format | +| → → →
`platform_p2p` | array | Optional
(0 or 1) | Array of platform P2P address strings in `ADDR:PORT` format (evonodes only) | +| → → →
`platform_https` | array | Optional
(0 or 1) | Array of platform HTTPS address strings in `ADDR:PORT` format (evonodes only) | | → →
`registeredHeight` | number (int) | Required
(exactly 1) | The height where the masternode was registered | | → →
`lastPaidHeight` | number (int) | Required
(exactly 1) | The height where the masternode was last paid | | → →
`consecutivePayments` | number (int) | Required
(exactly 1) | **Added in Dash Core 19.0.0**
The number of consecutive payments the masternode has received in the payment cycle | @@ -431,7 +439,11 @@ Lists all ProTxs in your wallet or on-chain, depending on the given type. If `ty | →
`operatorReward` | number (float) | Required
(exactly 1) | The operator reward %. The value must be between `0.00` and `100.00`. | | →
`state` | object/null | Required
(exactly 1) | An object containing a provider transaction state | | → →
`version` | number (int) | Required
(exactly 1) | **Added in Dash Core 19.2.0**
The version of the most recent ProRegTx or ProUpRegTx | -| → →
`service` | string | Required
(exactly 1) | The masternode's IP:Port | +| → →
`service` | string | Required
(exactly 1) | **DEPRECATED in Dash Core 23.0.0** - Use `addresses['core_p2p'][0]` instead
The masternode's IP:Port | +| → →
`addresses` | object | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Masternode network addresses object | +| → → →
`core_p2p` | array | Required
(exactly 1) | Array of core P2P address strings in `ADDR:PORT` format | +| → → →
`platform_p2p` | array | Optional
(0 or 1) | Array of platform P2P address strings in `ADDR:PORT` format (evonodes only) | +| → → →
`platform_https` | array | Optional
(0 or 1) | Array of platform HTTPS address strings in `ADDR:PORT` format (evonodes only) | | → →
`registeredHeight` | number (int) | Required
(exactly 1) | The height where the masternode was registered | | → →
`lastPaidHeight` | number (int) | Required
(exactly 1) | The height where the masternode was last paid | | → →
`consecutivePayments` | number (int) | Required
(exactly 1) | **Added in Dash Core 19.0.0**
The number of consecutive payments the masternode has received in the payment cycle | @@ -2105,7 +2117,11 @@ The `quorum info` RPC returns information about a specific quorum. | →
`members` | array | Required
(exactly 1) | An array containing quorum member details | | → →
Member | object | Required
(1 or more) | An object describing a particular member | | → → →
`proTxHash` | string (hex) | Required
(exactly 1) | The masternode's Provider Registration transaction hash | -| → → →
`service` | string | Required
(exactly 1) | *Added in Dash Core 18.1.0*
The masternode's IP:Port | +| → → →
`service` | string | Required
(exactly 1) | **DEPRECATED in Dash Core 23.0.0** - Use `addresses['core_p2p'][0]` instead
The masternode's IP:Port | +| → → →
`addresses` | object | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Masternode network addresses object | +| → → → →
`core_p2p` | array | Required
(exactly 1) | Array of core P2P address strings in `ADDR:PORT` format | +| → → → →
`platform_p2p` | array | Optional
(0 or 1) | Array of platform P2P address strings in `ADDR:PORT` format (evonodes only) | +| → → → →
`platform_https` | array | Optional
(0 or 1) | Array of platform HTTPS address strings in `ADDR:PORT` format (evonodes only) | | → → →
`pubKeyOperator` | string (hex) | Required
(exactly 1) | *Added in Dash Core 0.15.0*
The masternode's Operator public key | | → → →
`valid` | bool | Required
(exactly 1) | Indicates if the member is valid | | → → →
`pubKeyShare` | string | Optional
(0 or 1) | Member public key share | From d8e4a92e6ec459b3768ab864445a9c5f9dbf62c8 Mon Sep 17 00:00:00 2001 From: thephez Date: Mon, 3 Nov 2025 16:20:14 -0500 Subject: [PATCH 04/25] docs: update masternode setup with new protx format --- docs/user/masternodes/setup-testnet.rst | 4 ++-- docs/user/masternodes/setup.rst | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/user/masternodes/setup-testnet.rst b/docs/user/masternodes/setup-testnet.rst index a7c13defe..97ec4f054 100644 --- a/docs/user/masternodes/setup-testnet.rst +++ b/docs/user/masternodes/setup-testnet.rst @@ -505,7 +505,7 @@ argument to the command as follows: transaction - ``collateralIndex``: The output index of the 1000 Dash funding transaction -- ``ipAndPort``: Masternode IP address and port, in the format +- ``coreP2PAddrs``: Array of masternode address(es), in the format ``x.x.x.x:yyyy`` - ``ownerKeyAddr``: The new Dash address generated above for the owner/voting address @@ -531,7 +531,7 @@ Example (remove line breaks if copying):: protx register_prepare 16347a28f4e5edf39f4dceac60e2327931a25fdee1fb4b94b63eeacf0d5879e3 1 - 45.76.230.239:19999 + ["45.76.230.239:19999"] yfgxFhqrdDG15ZWKJAN6dQvn6dZdgBPAip 99f20ed1538e28259ff80044982372519a2e6e4cdedb01c96f8f22e755b2b3124fbeebdf6de3587189cf44b3c6e7670e yfRaZN8c3Erpqj9iKnmQ9QDBeUuRhWV3Mg diff --git a/docs/user/masternodes/setup.rst b/docs/user/masternodes/setup.rst index efe0fa772..b914d4f68 100644 --- a/docs/user/masternodes/setup.rst +++ b/docs/user/masternodes/setup.rst @@ -573,7 +573,7 @@ argument to the command as follows: transaction - ``collateralIndex``: The output index of the 1000 Dash funding transaction -- ``ipAndPort``: Masternode IP address and port, in the format +- ``coreP2PAddrs``: Array of masternode address(es), in the format ``x.x.x.x:yyyy`` - ``ownerKeyAddr``: The new Dash address generated above for the owner/voting address @@ -599,7 +599,7 @@ Example (remove line breaks if copying):: protx register_prepare 16347a28f4e5edf39f4dceac60e2327931a25fdee1fb4b94b63eeacf0d5879e3 1 - 45.76.230.239:19999 + ["45.76.230.239:19999"] yfgxFhqrdDG15ZWKJAN6dQvn6dZdgBPAip 99f20ed1538e28259ff80044982372519a2e6e4cdedb01c96f8f22e755b2b3124fbeebdf6de3587189cf44b3c6e7670e yfRaZN8c3Erpqj9iKnmQ9QDBeUuRhWV3Mg From da69d88c477e0eb5c5ae63cb966f47de55068d24 Mon Sep 17 00:00:00 2001 From: thephez Date: Tue, 4 Nov 2025 13:22:34 -0500 Subject: [PATCH 05/25] docs(rpc): update protx example responses --- .../remote-procedure-call-quick-reference.md | 2 +- docs/core/api/remote-procedure-calls-evo.md | 53 ++++++++++++------- 2 files changed, 35 insertions(+), 20 deletions(-) diff --git a/docs/core/api/remote-procedure-call-quick-reference.md b/docs/core/api/remote-procedure-call-quick-reference.md index aa5a136dc..e2270ca58 100644 --- a/docs/core/api/remote-procedure-call-quick-reference.md +++ b/docs/core/api/remote-procedure-call-quick-reference.md @@ -80,7 +80,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core ## [Evolution RPCs](../api/remote-procedure-calls-evo.md) * [BLS](../api/remote-procedure-calls-evo.md#bls): provides a set of commands to execute BLS-related actions. _Updated in Dash Core 19.0.0_ -* [ProTx](../api/remote-procedure-calls-evo.md#protx): provides a set of commands to execute ProTx related actions. _Updated in Dash Core 20.1.0_ +* [ProTx](../api/remote-procedure-calls-evo.md#protx): provides a set of commands to execute ProTx related actions. **Updated in Dash Core 23.0.0** * [Quorum](../api/remote-procedure-calls-evo.md#quorum): provides a set of commands for quorums (LLMQs). **Updated in Dash Core 22.0.0** * [SubmitChainLock](../api/remote-procedure-calls-evo.md#submitchainlock): allows the submission of a ChainLock signature. _New in Dash Core 20.1.0_ * [VerifyChainLock](../api/remote-procedure-calls-evo.md#verifychainlock): tests if a quorum signature is valid for a ChainLock. _New in Dash Core 0.17.0_ diff --git a/docs/core/api/remote-procedure-calls-evo.md b/docs/core/api/remote-procedure-calls-evo.md index 3d97d71d7..12cfa2cc6 100644 --- a/docs/core/api/remote-procedure-calls-evo.md +++ b/docs/core/api/remote-procedure-calls-evo.md @@ -178,7 +178,7 @@ The `protx diff` RPC calculates a diff and a proof between two masternode list. | → →
ChainLock signature | object | Optional
(0 or more) | Key: ChainLock signature
Value: array of quorum indexes | | → → →
Quorum index | number | Required
(1 or more) | Quorum index indicating a `newQuorums` entry that used this ChainLock signature for their member calculation | -*Example from Dash Core 20.0.0* +*Example from Dash Core 23.0.0* ```bash dash-cli -testnet protx diff 100000 100500 true @@ -203,6 +203,11 @@ Result (truncated): "proRegTxHash": "488910d2554fbc8f803011dd107b993b185ed6eeb7efef6dedfd74ec6656f58b", "confirmedHash": "00000000031c08dad48934c9e2a0bf3dac307aa1b6106ed8aa4345b5423166cd", "service": "51.38.80.34:19999", + "addresses": { + "core_p2p": [ + "51.38.80.34:19999" + ] + }, "pubKeyOperator": "8b63fa3eb2ed4caba1fec3647bcec7a2886b5cde5b2cec6b5a60dc04193e959d21e96cbfa41388159450f244578de9a9", "votingAddress": "yXRzKxTbQUGWCqYwXnMWw5SnNCPj19NBGZ", "isValid": true, @@ -214,6 +219,11 @@ Result (truncated): "proRegTxHash": "9dadb2198c6c3f7d9aef77493ee2f8f0513198bada377078a99a1128ffa1b2b0", "confirmedHash": "00000000006fef47babe96126b70087c46defeb9527de07a52e417fe7fcd2fce", "service": "34.83.230.157:19999", + "addresses": { + "core_p2p": [ + "34.83.230.157:19999" + ] + }, "pubKeyOperator": "963984167b298d8d77b1be02e38e2493a75251cf9abecc7facee85512eabab7b05ffe053e8956d98ad4a3c20b77ade1e", "votingAddress": "yW5QUL6GqNswhSdMnWjcyAZ871VKrdY4jS", "isValid": true, @@ -263,20 +273,6 @@ Result (truncated): "merkleRootMNList": "bd5ffd82e616e7abcadf01b7ffa50af2908e6c9b681439f9c9ed7de841afd44c", "merkleRootQuorums": "091716687aa06b6ee4acd86c6a95ac74455952e91c5f43ef38d97833e100a26a", "quorumsCLSigs": [ - { - "82492bd4bcd9cd24b89011f11368e06d79942579cfa957fad51429553a45d9990cc10e8b475f59d5b29cedb7598edd300ccb43614f4c15055ea8b172d0dad174f6e8ea83814d7cd2dd528ec7a882e941e909763f70b1065bcdce384be559c31b": [ - 6, - 30, - 86 - ] - }, - { - "aa3759de99561b451f24d95945674ae8e73ceb0dcd9ce303228599993080e20f0add1a99e24e241bc905e66eb6155c4e07adbbf2232f476495aabb48e6761af3e07f6660c2607e54dc2efaee38934f714aeff9199a818fd2dcc043edbb7d429b": [ - 13, - 37, - 93 - ] - } ] } ``` @@ -341,8 +337,10 @@ The `protx info` RPC returns detailed information about a deterministic masterno | → →
`lastOutboundAttemptElapsed` | integer | Required
(exactly 1) | Elapsed time since last outbound attempt | | → →
`lastOutboundSuccess` | integer | Required
(exactly 1) | Unix epoch time of the last successful outbound connection | | → →
`lastOutboundSuccessElapsed` | integer | Required
(exactly 1) | Elapsed time since last successful outbound attempt | +| → →
`is_platform_banned` | bool | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Platform ban status | +| → →
`platform_ban_height_updated` | integer | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Height when the Platform ban was updated | -*Example from Dash Core 20.1.0* +*Example from Dash Core 23.10.0* ```bash dash-cli -testnet protx info\ @@ -362,6 +360,11 @@ Result: "state": { "version": 1, "service": "47.111.181.207:20001", + "addresses": { + "core_p2p": [ + "47.111.181.207:20001" + ] + }, "registeredHeight": 247288, "lastPaidHeight": 0, "consecutivePayments": 0, @@ -390,7 +393,9 @@ Result: "lastOutboundAttempt": 0, "lastOutboundAttemptElapsed": 1686685781, "lastOutboundSuccess": 0, - "lastOutboundSuccessElapsed": 1686685781 + "lastOutboundSuccessElapsed": 1686685781, + "is_platform_banned": false, + "platform_ban_height_updated": 0 } } ``` @@ -472,8 +477,10 @@ Lists all ProTxs in your wallet or on-chain, depending on the given type. If `ty | → →
`lastOutboundAttemptElapsed` | integer | Required
(exactly 1) | Elapsed time since last outbound attempt | | → →
`lastOutboundSuccess` | integer | Required
(exactly 1) | Unix epoch time of the last successful outbound connection | | → →
`lastOutboundSuccessElapsed` | integer | Required
(exactly 1) | Elapsed time since last successful outbound attempt | +| → →
`is_platform_banned` | bool | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Platform ban status | +| → →
`platform_ban_height_updated` | integer | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Height when the Platform ban was updated | -*Example from Dash Core 19.2.0* +*Example from Dash Core 23.0.0* ```bash dash-cli -testnet protx list @@ -519,10 +526,16 @@ Result: "proTxHash": "c48a44a9493eae641bea36992bc8c27eaaa33adb1884960f55cd259608d26d2f", "collateralHash": "e3270ff48c4b802d56ee58d3d53777f7f9c289964e4df0842518075fc81345b1", "collateralIndex": 3, + "collateralAddress": "yYpzTXjVx7A5uohsmW8sRy7TJp4tihVuZg", "operatorReward": 0, "state": { "version": 1, "service": "173.61.30.231:19013", + "addresses": { + "core_p2p": [ + "173.61.30.231:19013" + ] + }, "registeredHeight": 7090, "lastPaidHeight": 0, "consecutivePayments": 0, @@ -551,7 +564,9 @@ Result: "lastOutboundAttempt": 0, "lastOutboundAttemptElapsed": 1686684013, "lastOutboundSuccess": 0, - "lastOutboundSuccessElapsed": 1686684013 + "lastOutboundSuccessElapsed": 1686684013, + "is_platform_banned": false, + "platform_ban_height_updated": 0 } } ] From d3e874628c46b159d3af8f26c7e6d6531fb200f4 Mon Sep 17 00:00:00 2001 From: thephez Date: Wed, 5 Nov 2025 13:35:08 -0500 Subject: [PATCH 06/25] docs(rpc): add submit field to legacy protxs --- docs/core/api/remote-procedure-calls-evo.md | 30 ++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/docs/core/api/remote-procedure-calls-evo.md b/docs/core/api/remote-procedure-calls-evo.md index 12cfa2cc6..5d83abc77 100644 --- a/docs/core/api/remote-procedure-calls-evo.md +++ b/docs/core/api/remote-procedure-calls-evo.md @@ -1715,12 +1715,24 @@ The `protx update_service_evo` RPC creates and sends a ProUpServTx to the networ | ------------------ | ------ | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `feeSourceAddress` | string | Optional
(0 or 1) | If specified, the wallet will only use coins from this address to fund the ProTx. If not specified, `operatorPayoutAddress` will be used. The private key belonging to this address must be known in your wallet. | -*Result---provider update service transaction hash* +*Parameter #9---whether to submit to the network or not* + +| Name | Type | Presence | Description | +| - | - | - | - | +| `submit` | bool | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
If `true` (default), the resulting transaction is sent to the network. | + +*Result if `submit` is not set or set to `true`---provider update service transaction hash* | Name | Type | Presence | Description | | -------- | ------------ | ----------------------- | ------------------------------------------------------ | | `result` | string (hex) | Required
(exactly 1) | Provider update service transaction (ProUpServTx) hash | +*Result if `submit` is set to `false`---serialized transaction* + +| Name | Type | Presence | Description | +| - | - | - | - | +| `result` | string (hex) | Required
(exactly 1) | The serialized signed ProUpServTx in hex format | + *Example from Dash Core 20.0.0* ```bash @@ -1954,11 +1966,23 @@ The `protx update_registrar_legacy` RPC creates and sends a ProUpRegTx to the ne | ------------------ | ------ | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `feeSourceAddress` | string | Optional
(0 or 1) | If specified, the wallet will only use coins from this address to fund ProTx. If not specified, payoutAddress is the one that is going to be used. The private key belonging to this address must be known in your wallet. | -*Result---provide transaction ID* +*Parameter #6---whether to submit to the network or not* + +| Name | Type | Presence | Description | +| - | - | - | - | +| `submit` | bool | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
If `true` (default), the resulting transaction is sent to the network. | + +*Result if `submit` is not set or set to `true`---provider update registrar transaction hash* | Name | Type | Presence | Description | | -------- | ------------ | ----------------------- | ---------------------- | -| `result` | string (hex) | Required
(exactly 1) | Receive transaction ID | +| `result` | string (hex) | Required
(exactly 1) | Provider update registrar transaction (ProUpRegTx) hash | + +*Result if `submit` is set to `false`---serialized transaction* + +| Name | Type | Presence | Description | +| - | - | - | - | +| `result` | string (hex) | Required
(exactly 1) | The serialized signed ProUpRegTx in hex format | *Example from Dash Core 19.0.0* From 4abcfe12edbf26f39050cd7656e2cdc96e4563dc Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 6 Nov 2025 09:33:16 -0500 Subject: [PATCH 07/25] docs(rpc): bls and quorum info updates --- docs/core/api/remote-procedure-calls-evo.md | 74 +++++++++++++++------ 1 file changed, 52 insertions(+), 22 deletions(-) diff --git a/docs/core/api/remote-procedure-calls-evo.md b/docs/core/api/remote-procedure-calls-evo.md index 5d83abc77..704e78140 100644 --- a/docs/core/api/remote-procedure-calls-evo.md +++ b/docs/core/api/remote-procedure-calls-evo.md @@ -69,7 +69,7 @@ Since the v19 hard fork activation, BLS keys are generated using the basic schem | Name | Type | Presence | Description | | -------- | ------- | -------------------- | ------------------------------------------------------------------------------------------------------ | -| `legacy` | boolean | Optional
(0 or 1) | Use the legacy BLS scheme (default=`true` prior to v19 hard fork; default=`false` after v19 hard fork) | +| `legacy` | boolean | Optional
(0 or 1) | **DEPRECATED in Dash Core 23.0.0**: Can be set if `-deprecatedrpc=legacy_mn` is passed
Use the legacy BLS scheme (default=`false`) | *Result---a secret/public key pair* @@ -2167,41 +2167,71 @@ The `quorum info` RPC returns information about a specific quorum. | →
`quorumPublicKey` | string | Required
(exactly 1) | Quorum public key | | →
`secretKeyShare` | string | Optional
(exactly 1) | Quorum secret key share | -*Example from Dash Core 18.1.0* +*Example from Dash Core 23.0.0* ```bash dash-cli -testnet quorum info 1 \ - 000000ebd10368ca387ce380539fad9c8ba21108a3bfd6fedeecb60d28f56ae9 true + 0000004eec0606768f8d46e756182255853c4b92dc1224e58c39f9f803c9eea7 true ``` Result (truncated): ```json { - "height": 819240, + "height": 1359096, "type": "llmq_50_60", - "quorumHash": "000000ebd10368ca387ce380539fad9c8ba21108a3bfd6fedeecb60d28f56ae9", + "quorumHash": "0000004eec0606768f8d46e756182255853c4b92dc1224e58c39f9f803c9eea7", "quorumIndex": 0, - "minedBlock": "00000548588369399691ad308a3c588a7bf842a40347e23ef40655e315898146", + "minedBlock": "00000099ed91a72b28b2272853b50a7dc2afe38a4b31066d66204c3824ca6408", "members": [ { - "proTxHash": "f77ec12ec8adb91a3a158c5f9cc3f7e2521d65eac6cda1e44763daa603a77570", - "service": "35.89.202.171:19999", - "pubKeyOperator": "16f8048e511e7c0c2b495a9b20030b315d75bca283b70af25d16c8809c7f2a786225c2fe47ff1c92aa8ebf586be91abc", - "valid": true, - "pubKeyShare": "12c305fdc5ec06785d2e89a8b64c291128e4a2034889e9f1539d9194954051a304d8bf1649a2d3a95aac200884e8e99d" + "proTxHash": "9fcf7b15b9c7ce71c11b7577e05edd1ea922125b9ee8fed7d0d8ff21d530a33b", + "service": "18.237.170.32:19999", + "addresses": { + "core_p2p": [ + "18.237.170.32:19999" + ] + }, + "pubKeyOperator": "0b04bcb5cf6d2d6df5979234611da42854a5e69374a29e0c85128caedb53d9c818042613d2f30f3ef782ed37bd8ce161", + "valid": true + }, + { + "proTxHash": "8917bb546318f3410d1a7901c7b846a73446311b5164b45a03f0e613f208f234", + "service": "52.13.132.146:19999", + "addresses": { + "core_p2p": [ + "52.13.132.146:19999" + ], + "platform_https": [ + "52.13.132.146:1443" + ], + "platform_p2p": [ + "52.13.132.146:36656" + ] + }, + "pubKeyOperator": "87d25769002af2a4f050127c73fff03a24935e48f34fecaacd69410787d0e6384b345c78e81b1cb397b43dcd635568b6", + "valid": true }, {"Truncated data":"..."}, { - "proTxHash": "2cd3833e1cef622e875096c70d6eb6c7083a250a6b26ca27edb3aa21ac05e3d1", - "service": "89.47.162.137:19999", - "pubKeyOperator": "8fc1d0cea417ed963e50d876a38bf0846b536b7e8809826e163bc9ea0f749ea8ebe00c6642e71bb84000549bda5bb1d0", - "valid": true, - "pubKeyShare": "8662927148ed33b8f0000f1666c277e14df9838c9dce4e3fb273866603b93502e70108408f81698e0b47cb3b5aff3a30" + "proTxHash": "85f15a31d3838293a9c1d72a1a0fa21e66110ce20878bd4c1024c4ae1d5be824", + "service": "54.201.32.131:19999", + "addresses": { + "core_p2p": [ + "54.201.32.131:19999" + ], + "platform_https": [ + "54.201.32.131:1443" + ], + "platform_p2p": [ + "54.201.32.131:36656" + ] + }, + "pubKeyOperator": "ac3026b3e3023db1db9ec8e3b7678761820a2a6e96e7a5d9a39b1894170f9cea7765d3d131d60fa9d17492ba560fb1f9", + "valid": true } ], - "quorumPublicKey": "18401a5c5d8d8145cea2843e0c37f10d06de642ce7665599ad35dce9f7a3027b42375a9e138e185867bfe5359fd952f2", - "secretKeyShare": "4d39c4c1cb856a5e2d96efffb4cf3695b57b5d0fb4e289e7b2be3b7592a6dfa6" + "quorumPublicKey": "a44ba808f2a571cfe0cbf33f3d6ed2b635c15e7ceae2a6a339081446802d22e6422271b686e536c732e9019ff13c3375" } ``` @@ -3957,11 +3987,11 @@ The `quorum rotationinfo` RPC returns quorum rotation information. The response | ------------ | ---- | -------------------- | --------------------------------------------------------------------------------------------------------------------- | | `extraShare` | bool | Optional
(0 or 1) | Request an extra share (default: false). This extra share would support validation against the previous set of LLMQs. | -*Parameter #3---base block hashes number* +*Parameter #3---base block hashes* -| Name | Type | Presence | Description | -| ------------------ | ------------ | ----------------------- | -------------------------- | -| `baseBlockHash...` | string (hex) | Optional
(0 or more) | Block hashes (default: "") | +| Name | Type | Presence | Description | +| - | - | - | - | +| `baseBlockHashes` | array | Optional
(0 or 1) | **Updated in Dash Core 23.0.0** (previously `baseBlockHash...`)
Array of block hashes (default: empty array) | *Result---rotation info* From c8808e0527152a81ed79f2483e0c27f6fd78e3a3 Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 6 Nov 2025 09:48:28 -0500 Subject: [PATCH 08/25] docs(rpc): update quick ref and add include_immature_coinbase Related to dashpay/dash#6601 --- .../remote-procedure-call-quick-reference.md | 10 ++++---- .../core/api/remote-procedure-calls-wallet.md | 24 +++++++++++++++++++ 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/docs/core/api/remote-procedure-call-quick-reference.md b/docs/core/api/remote-procedure-call-quick-reference.md index e2270ca58..e8ab46d77 100644 --- a/docs/core/api/remote-procedure-call-quick-reference.md +++ b/docs/core/api/remote-procedure-call-quick-reference.md @@ -81,7 +81,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [BLS](../api/remote-procedure-calls-evo.md#bls): provides a set of commands to execute BLS-related actions. _Updated in Dash Core 19.0.0_ * [ProTx](../api/remote-procedure-calls-evo.md#protx): provides a set of commands to execute ProTx related actions. **Updated in Dash Core 23.0.0** -* [Quorum](../api/remote-procedure-calls-evo.md#quorum): provides a set of commands for quorums (LLMQs). **Updated in Dash Core 22.0.0** +* [Quorum](../api/remote-procedure-calls-evo.md#quorum): provides a set of commands for quorums (LLMQs). **Updated in Dash Core 23.0.0** * [SubmitChainLock](../api/remote-procedure-calls-evo.md#submitchainlock): allows the submission of a ChainLock signature. _New in Dash Core 20.1.0_ * [VerifyChainLock](../api/remote-procedure-calls-evo.md#verifychainlock): tests if a quorum signature is valid for a ChainLock. _New in Dash Core 0.17.0_ * [VerifyISLock](../api/remote-procedure-calls-evo.md#verifyislock): tests if a quorum signature is valid for an InstantSend lock. _New in Dash Core 0.17.0_ @@ -173,8 +173,8 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [GetBalances](../api/remote-procedure-calls-wallet.md#getbalances): returns an object with all balances denominated in DASH. _Updated in Dash Core 18.2.0_ * [GetNewAddress](../api/remote-procedure-calls-wallet.md#getnewaddress): returns a new Dash address for receiving payments. If an account is specified, payments received with the address will be credited to that account. _Updated in Dash Core 0.17.0_ * [GetRawChangeAddress](../api/remote-procedure-calls-wallet.md#getrawchangeaddress): returns a new Dash address for receiving change. This is for use with raw transactions, not normal use. -* [GetReceivedByAddress](../api/remote-procedure-calls-wallet.md#getreceivedbyaddress): returns the total amount received by the specified address in transactions with the specified number of confirmations. It does not count coinbase transactions. _Updated in Dash Core 0.13.0_ -* [GetReceivedByLabel](../api/remote-procedure-calls-wallet.md#getreceivedbylabel): returns the list of addresses assigned the specified label. _New in Dash Core 0.17.0_ +* [GetReceivedByAddress](../api/remote-procedure-calls-wallet.md#getreceivedbyaddress): returns the total amount received by the specified address in transactions with the specified number of confirmations. It does not count coinbase transactions. **Updated in Dash Core 23.0.0** +* [GetReceivedByLabel](../api/remote-procedure-calls-wallet.md#getreceivedbylabel): returns the list of addresses assigned the specified label. **Updated in Dash Core 23.0.0** * [GetTransaction](../api/remote-procedure-calls-wallet.md#gettransaction): gets detailed information about an in-wallet transaction. _Updated in Dash Core 20.0.0_ * [GetUnconfirmedBalance](../api/remote-procedure-calls-wallet.md#getunconfirmedbalance): returns the wallet's total unconfirmed balance. * [GetWalletInfo](../api/remote-procedure-calls-wallet.md#getwalletinfo): provides information about the wallet. _Updated in Dash Core 20.0.0_ @@ -192,8 +192,8 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [ListDescriptors](../api/remote-procedure-calls-wallet.md#listdescriptors): lists descriptors imported into a descriptor-enabled wallet. **_New in Dash Core 21.0.0_** * [ListLabels](../api/remote-procedure-calls-wallet.md#listlabels): returns the list of all labels, or labels that are assigned to addresses with a specific purpose. _New in Dash Core 0.17.0_ * [ListLockUnspent](../api/remote-procedure-calls-wallet.md#listlockunspent): returns a list of temporarily unspendable (locked) outputs. -* [ListReceivedByAddress](../api/remote-procedure-calls-wallet.md#listreceivedbyaddress): lists the total number of dash received by each address. _Updated in Dash Core 0.17.0_ -* [ListReceivedByLabel](../api/remote-procedure-calls-wallet.md#listreceivedbylabel): lists the total number of dash received by each label. _New in Dash Core 0.17.0_ +* [ListReceivedByAddress](../api/remote-procedure-calls-wallet.md#listreceivedbyaddress): lists the total number of dash received by each address. **Updated in Dash Core 23.0.0** +* [ListReceivedByLabel](../api/remote-procedure-calls-wallet.md#listreceivedbylabel): lists the total number of dash received by each label. **Updated in Dash Core 23.0.0** * [ListSinceBlock](../api/remote-procedure-calls-wallet.md#listsinceblock): gets all transactions affecting the wallet which have occurred since a particular block, plus the header hash of a block at a particular depth. _Updated in Dash Core 20.0.0_ * [ListTransactions](../api/remote-procedure-calls-wallet.md#listtransactions): returns the most recent transactions that affect the wallet. _Updated in Dash Core 20.0.0_ * [ListUnspent](../api/remote-procedure-calls-wallet.md#listunspent): returns an array of unspent transaction outputs belonging to this wallet. _Updated in Dash Core 18.1.0_ diff --git a/docs/core/api/remote-procedure-calls-wallet.md b/docs/core/api/remote-procedure-calls-wallet.md index 20349bfa3..618e8df8b 100644 --- a/docs/core/api/remote-procedure-calls-wallet.md +++ b/docs/core/api/remote-procedure-calls-wallet.md @@ -804,6 +804,12 @@ _Parameter #3---whether to include transactions locked via InstantSend_ | --------- | ---- | ----------------------- | ---------------------------------------------------- | | addlocked | bool | Optional
(exactly 1) | Add the balance from InstantSend locked transactions | +_Parameter #4---whether to include immature coinbase transactions_ + +| Name | Type | Presence | Description | +| -------------------------- | ---- | -------------------- | ----------------------------------------------------------------------------------------- | +| include_immature_coinbase | bool | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
Include immature coinbase transactions. Default is `false` | + _Result---the amount of dash received_ | Name | Type | Presence | Description | @@ -866,6 +872,12 @@ _Parameter #3---whether to include transactions locked via InstantSend_ | --------- | ---- | ----------------------- | -------------------------------------------------------------------- | | addlocked | bool | Optional
(exactly 1) | Add the balance from InstantSend locked transactions (default=false) | +_Parameter #4---whether to include immature coinbase transactions_ + +| Name | Type | Presence | Description | +| -------------------------- | ---- | -------------------- | ----------------------------------------------------------------------------------------- | +| include_immature_coinbase | bool | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
Include immature coinbase transactions. Default is `false` | + _Result---the number of DASH received_ | Name | Type | Presence | Description | @@ -1849,6 +1861,12 @@ _Parameter #5---limit returned information to a specific address_ | -------------- | ------ | -------------------- | ---------------------------------------------------- | | Address Filter | string | Optional
(0 or 1) | If present, only return information for this address | +_Parameter #6---whether to include immature coinbase transactions_ + +| Name | Type | Presence | Description | +| -------------------------- | ---- | -------------------- | ----------------------------------------------------------------------------------------- | +| include_immature_coinbase | bool | Optional
(0 or 1) | **Added in Dash Core 22.0.0**
Include immature coinbase transactions. Default is `false` | + _Result---addresses, account names, balances, and minimum confirmations_ | Name | Type | Presence | Description | @@ -1935,6 +1953,12 @@ _Parameter #4---whether to include watch-only addresses in results_ | ------------------ | ---- | -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Include Watch-Only | bool | Optional
(0 or 1) | If set to `true`, include watch-only addresses in details and calculations as if they were regular addresses belonging to the wallet. If set to `false` (the default for non-watching only wallets), treat watch-only addresses as if they didn't belong to this wallet.
As of Dash Core 18.1, `true` is the default for watching-only wallets. | +_Parameter #5---whether to include immature coinbase transactions_ + +| Name | Type | Presence | Description | +| -------------------------- | ---- | -------------------- | ----------------------------------------------------------------------------------------- | +| include_immature_coinbase | bool | Optional
(0 or 1) | **Added in Dash Core 22.0.0**
Include immature coinbase transactions. Default is `false` | + _Result---account names, balances, and minimum confirmations_ | Name | Type | Presence | Description | From 963470df842fe679694f8995b2955120928b7ade Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 6 Nov 2025 10:00:14 -0500 Subject: [PATCH 09/25] docs(rpc): mark masternode current and winner as removed Related to dashpay/dash#6567 --- .../api/remote-procedure-call-quick-reference.md | 2 +- docs/core/api/remote-procedure-calls-dash.md | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/core/api/remote-procedure-call-quick-reference.md b/docs/core/api/remote-procedure-call-quick-reference.md index e8ab46d77..6d1b5f523 100644 --- a/docs/core/api/remote-procedure-call-quick-reference.md +++ b/docs/core/api/remote-procedure-call-quick-reference.md @@ -70,7 +70,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [GetGovernanceInfo](../api/remote-procedure-calls-dash.md#getgovernanceinfo): returns an object containing governance parameters. _Updated in Dash Core 20.0.0_ * [GetSuperblockBudget](../api/remote-procedure-calls-dash.md#getsuperblockbudget): returns the absolute maximum sum of superblock payments allowed. * [GObject](../api/remote-procedure-calls-dash.md#gobject): provides a set of commands for managing governance objects and displaying information about them. _Updated in Dash Core 20.0.0_ -* [Masternode](../api/remote-procedure-calls-dash.md#masternode): provides a set of commands for managing masternodes and displaying information about them. **Updated in Dash Core 22.0.0** +* [Masternode](../api/remote-procedure-calls-dash.md#masternode): provides a set of commands for managing masternodes and displaying information about them. **Updated in Dash Core 23.0.0** * [MasternodeList](../api/remote-procedure-calls-dash.md#masternodelist): returns a list of masternodes in different modes. _Updated in Dash Core 20.0.0_ * [MnSync](../api/remote-procedure-calls-dash.md#mnsync): returns the sync status, updates to the next step or resets it entirely. _Updated in Dash Core 0.14.0_ * [Spork](../api/remote-procedure-calls-dash.md#spork): shows information about the current state of sporks. _Updated in Dash Core 18.1.0_ diff --git a/docs/core/api/remote-procedure-calls-dash.md b/docs/core/api/remote-procedure-calls-dash.md index 0446fc2b2..4ad9054ce 100644 --- a/docs/core/api/remote-procedure-calls-dash.md +++ b/docs/core/api/remote-procedure-calls-dash.md @@ -1279,8 +1279,10 @@ Result: ### Masternode Current -:::{deprecated} 0.17.0 -This RPC has been deprecated and will be removed in a future version of Dash Core +:::{attention} +**REMOVED in Dash Core 23.0.0** + +This RPC was deprecated in Dash Core 0.17.0 and removed in v23.0.0. ::: The `masternode current` RPC prints info on current masternode winner to be paid the next block (calculated locally). @@ -1517,8 +1519,10 @@ Result: ### Masternode Winner -:::{deprecated} 0.17.0 -This RPC has been deprecated and will be removed in a future version of Dash Core +:::{attention} +**REMOVED in Dash Core 23.0.0** + +This RPC was deprecated in Dash Core 0.17.0 and removed in v23.0.0. ::: The `masternode winner` RPC prints info on the next masternode winner to vote for. From b30ed5517a3249170da298bed0a0c8dac5f2b1f4 Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 6 Nov 2025 10:51:51 -0500 Subject: [PATCH 10/25] docs(rpc): getblockfrompeer update --- docs/core/api/remote-procedure-calls-blockchain.md | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/docs/core/api/remote-procedure-calls-blockchain.md b/docs/core/api/remote-procedure-calls-blockchain.md index e87cff7df..7458a6677 100644 --- a/docs/core/api/remote-procedure-calls-blockchain.md +++ b/docs/core/api/remote-procedure-calls-blockchain.md @@ -626,13 +626,9 @@ peer_id | number | Required
(exactly 1) | The ID of the peer to fetch the *Result---execution result* -Name | Type | Presence | Description -------------|---------|-------------------------|------------ -`warnings` | string | Optional
(0 or 1) | Any warnings or issues encountered during the block fetch attempt. If there are no warnings, this field will not appear. +**Updated in Dash Core 23.0.0:** Returns an empty JSON object `{}` if the request was successfully scheduled. Otherwise, an error message is returned. -Returns `{}` if a block request was successfully scheduled. - -*Example from Dash Core 22.0.0* +*Example from Dash Core 23.0.0* Attempt to fetch block `00000021e19ebb597d74627a4df829768c3f26d3185d943a53773e4a681391bd` from peer ID `0`: @@ -642,10 +638,8 @@ dash-cli -testnet getblockfrompeer "00000021e19ebb597d74627a4df829768c3f26d3185d Result: -```json -{ - "warnings": "Block already downloaded" -} +```text +Block already downloaded (code -1) ``` *See also* From 2e8828945082b5bce6c5822c84dcbbbe757b6c23 Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 6 Nov 2025 10:52:19 -0500 Subject: [PATCH 11/25] docs(rpc): getblockstats update --- .../api/remote-procedure-calls-blockchain.md | 63 ++++++++++--------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/docs/core/api/remote-procedure-calls-blockchain.md b/docs/core/api/remote-procedure-calls-blockchain.md index 7458a6677..c359d3102 100644 --- a/docs/core/api/remote-procedure-calls-blockchain.md +++ b/docs/core/api/remote-procedure-calls-blockchain.md @@ -1052,37 +1052,38 @@ All amounts are in duffs. Name | Type | Presence | Description --- | --- | --- | --- `result` | object/null | Required
(exactly 1) | An object containing stats for the requested block, or JSON `null` if an error occurred -→
`avgfee` | numeric | Required
(exactly 1) | Average fee in the block -→
`avgfeerate` | numeric | Required
(exactly 1) | Average feerate (in duffs per byte) -→
`avgtxsize` | numeric | Required
(exactly 1) | Average transaction size -→
`blockhash` | string (hex) | Required
(exactly 1) | The block hash (to check for potential reorgs) -→
`feerate_percentiles` | array (num) | Required
(exactly 1) | _Added in Dash Core 18.0.0_
Feerates at the 10th, 25th, 50th, 75th, and 90th percentile weight unit, which are in duffs per byte. -→ →
`10th_percentile_feerate` | numeric | Required
(exactly 1) | The 10th percentile feerate -→ →
`25th_percentile_feerate` | numeric | Required
(exactly 1) | The 25th percentile feerate -→ →
`50th_percentile_feerate` | numeric | Required
(exactly 1) | The 50th percentile feerate -→ →
`75th_percentile_feerate` | numeric | Required
(exactly 1) | The 75th percentile feerate -→ →
`90th_percentile_feerate` | numeric | Required
(exactly 1) | The 90th percentile feerate -→
`height` | numeric | Required
(exactly 1) | The height of the block -→
`ins` | numeric | Required
(exactly 1) | The number of inputs (excluding coinbase) -→
`maxfee` | numeric | Required
(exactly 1) | Maximum fee in the block -→
`maxfeerate` | numeric | Required
(exactly 1) | Maximum feerate (in duffs per byte) -→
`maxtxsize` | numeric | Required
(exactly 1) | Maximum transaction size -→
`medianfee` | numeric | Required
(exactly 1) | Truncated median fee in the block -→
~~medianfeerate~~ | ~~numeric~~ | ~~Required (exactly 1)~~ | **Removed in Dash Core 18.0.0**
~~Truncated median feerate (in duffs per byte)~~ -→
`mediantime` | numeric | Required
(exactly 1) | The block median time past -→
`mediantxsize` | numeric | Required
(exactly 1) | Truncated median transaction size -→
`minfee` | numeric | Required
(exactly 1) | Minimum fee in the block -→
`minfeerate` | numeric | Required
(exactly 1) | Minimum feerate (in duffs per byte) -→
`mintxsize` | numeric | Required
(exactly 1) | Minimum transaction size -→
`outs` | numeric | Required
(exactly 1) | The number of outputs -→
`subsidy` | numeric | Required
(exactly 1) | The block subsidy -→
`time` | number (real) | Required
(exactly 1) | The block time -→
`total_out` | numeric | Required
(exactly 1) | Total amount in all outputs (excluding coinbase and thus reward [i.e. subsidy + totalfee]) -→
`total_size` | numeric | Required
(exactly 1) | Total size of all non-coinbase transactions -→
`totalfee` | numeric | Required
(exactly 1) | The fee total -→
`txs` | numeric | Required
(exactly 1) | The number of transactions (including coinbase) -→
`utxo_increase` | numeric | Required
(exactly 1) | The increase/decrease in the number of unspent outputs -→
`utxo_size_inc` | numeric | Required
(exactly 1) | The increase/decrease in size for the utxo index (not discounting op_return and similar) +→
`avgfee` | numeric | Optional
(0 or 1) | Average fee in the block +→
`avgfeerate` | numeric | Optional
(0 or 1) | Average feerate (in duffs per byte) +→
`avgtxsize` | numeric | Optional
(0 or 1) | Average transaction size +→
`blockhash` | string (hex) | Optional
(0 or 1) | The block hash (to check for potential reorgs) +→
`feerate_percentiles` | array (num) | Optional
(0 or 1) | _Added in Dash Core 18.0.0_
Feerates at the 10th, 25th, 50th, 75th, and 90th percentile weight unit, which are in duffs per byte. +→ →
`10th_percentile_feerate` | numeric | Optional
(0 or 1) | The 10th percentile feerate +→ →
`25th_percentile_feerate` | numeric | Optional
(0 or 1) | The 25th percentile feerate +→ →
`50th_percentile_feerate` | numeric | Optional
(0 or 1) | The 50th percentile feerate +→ →
`75th_percentile_feerate` | numeric | Optional
(0 or 1) | The 75th percentile feerate +→ →
`90th_percentile_feerate` | numeric | Optional
(0 or 1) | The 90th percentile feerate +→
`height` | numeric | Optional
(0 or 1) | The height of the block +→
`ins` | numeric | Optional
(0 or 1) | The number of inputs (excluding coinbase) +→
`maxfee` | numeric | Optional
(0 or 1) | Maximum fee in the block +→
`maxfeerate` | numeric | Optional
(0 or 1) | Maximum feerate (in duffs per byte) +→
`maxtxsize` | numeric | Optional
(0 or 1) | Maximum transaction size +→
`medianfee` | numeric | Optional
(0 or 1) | Truncated median fee in the block +→
`mediantime` | numeric | Optional
(0 or 1) | The block median time past +→
`mediantxsize` | numeric | Optional
(0 or 1) | Truncated median transaction size +→
`minfee` | numeric | Optional
(0 or 1) | Minimum fee in the block +→
`minfeerate` | numeric | Optional
(0 or 1) | Minimum feerate (in duffs per byte) +→
`mintxsize` | numeric | Optional
(0 or 1) | Minimum transaction size +→
`outs` | numeric | Optional
(0 or 1) | The number of outputs +→
`subsidy` | numeric | Optional
(0 or 1) | The block subsidy +→
`time` | number (real) | Optional
(0 or 1) | The block time +→
`total_out` | numeric | Optional
(0 or 1) | Total amount in all outputs (excluding coinbase and thus reward [i.e. subsidy + totalfee]) +→
`total_size` | numeric | Optional
(0 or 1) | Total size of all non-coinbase transactions +→
`totalfee` | numeric | Optional
(0 or 1) | The fee total +→
`txs` | numeric | Optional
(0 or 1) | The number of transactions (including coinbase) +→
`utxo_increase` | numeric | Optional
(0 or 1) | The increase/decrease in the number of unspent outputs (not discounting op_return and similar) +→
`utxo_size_inc` | numeric | Optional
(0 or 1) | The increase/decrease in size for the utxo index (not discounting op_return and similar) +→
`utxo_increase_actual` | numeric | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
The increase/decrease in the number of unspent outputs, not counting unspendables +→
`utxo_size_inc_actual` | numeric | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
The increase/decrease in size for the utxo index, not counting unspendables *Example from Dash Core 18.0.0* From 7d3819fc377fbf8ec5c322cf660896170e49f053 Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 6 Nov 2025 11:23:00 -0500 Subject: [PATCH 12/25] docs(rpc): update wallet and raw tx decodepsbt getislocks getaddressinfo sendmany sendtoaddress scantxoutset gettransaction listtransactions listunspent --- .../remote-procedure-call-quick-reference.md | 22 +++++++++---------- ...remote-procedure-calls-raw-transactions.md | 3 ++- .../core/api/remote-procedure-calls-wallet.md | 13 +++++++---- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/docs/core/api/remote-procedure-call-quick-reference.md b/docs/core/api/remote-procedure-call-quick-reference.md index 6d1b5f523..ddd18aa3e 100644 --- a/docs/core/api/remote-procedure-call-quick-reference.md +++ b/docs/core/api/remote-procedure-call-quick-reference.md @@ -26,12 +26,12 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [GetBlockChainInfo](../api/remote-procedure-calls-blockchain.md#getblockchaininfo): provides information about the current state of the block chain. **_Updated in Dash Core 21.0.0_** * [GetBlockCount](../api/remote-procedure-calls-blockchain.md#getblockcount): returns the number of blocks in the local best block chain. * [GetBlockFilter](../api/remote-procedure-calls-blockchain.md#getblockfilter): retrieves a [BIP157](https://github.com/bitcoin/bips/blob/master/bip-0157.mediawiki) content filter for a particular block. _New in Dash Core 18.0.0_ -* [GetBlockFromPeer](../api/remote-procedure-calls-blockchain.md#getblockfrompeer): attempts to fetch a specific block from a given peer. **Updated in Dash Core 22.0.0** +* [GetBlockFromPeer](../api/remote-procedure-calls-blockchain.md#getblockfrompeer): attempts to fetch a specific block from a given peer. **Updated in Dash Core 23.0.0** * [GetBlockHash](../api/remote-procedure-calls-blockchain.md#getblockhash): returns the header hash of a block at the given height in the local best block chain. * [GetBlockHashes](../api/remote-procedure-calls-blockchain.md#getblockhashes): returns array of hashes of blocks within the timestamp range provided (requires `timestampindex` to be enabled). New in Dash Core 0.12.1 * [GetBlockHeader](../api/remote-procedure-calls-blockchain.md#getblockheader): gets a block header with a particular header hash from the local block database either as a JSON object or as a serialized block header. _Updated in Dash Core 0.16.0_ * [GetBlockHeaders](../api/remote-procedure-calls-blockchain.md#getblockheaders): returns an array of items with information about the requested number of blockheaders starting from the requested hash. New in Dash Core 0.12.1 -* [GetBlockStats](../api/remote-procedure-calls-blockchain.md#getblockstats): computes per block statistics for a given window. _Updated in Dash Core 18.0.0_ +* [GetBlockStats](../api/remote-procedure-calls-blockchain.md#getblockstats): computes per block statistics for a given window. **Updated in Dash Core 23.0.0** * [GetChainTips](../api/remote-procedure-calls-blockchain.md#getchaintips): returns information about the highest-height block (tip) of each local block chain. _Updated in Dash Core 0.12.3_ * [GetChainTxStats](../api/remote-procedure-calls-blockchain.md#getchaintxstats): compute statistics about the total number and rate of transactions in the chain. _Updated in Dash Core 18.0.0_ * [GetDifficulty](../api/remote-procedure-calls-blockchain.md#getdifficulty): returns the proof-of-work difficulty as a multiple of the minimum difficulty. @@ -128,12 +128,12 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [CreatePSBT](../api/remote-procedure-calls-raw-transactions.md#createpsbt): creates a transaction in the Partially Signed Transaction (PST) format. _New in Dash Core 18.0.0_ * [GetAssetUnlockStatuses](../api/remote-procedure-calls-raw-transactions.md#getassetunlockstatuses): returns the status of the provided Asset Unlock indexes at the tip of the chain or at a particular block height if specified. _New in Dash Core 20.1.0_ * [CreateRawTransaction](../api/remote-procedure-calls-raw-transactions.md#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. _Updated in Dash Core 0.17.0_ -* [DecodePSBT](../api/remote-procedure-calls-raw-transactions.md#decodepsbt): returns a JSON object representing the serialized, base64-encoded partially signed Dash transaction. _New in Dash Core 18.0.0_ +* [DecodePSBT](../api/remote-procedure-calls-raw-transactions.md#decodepsbt): returns a JSON object representing the serialized, base64-encoded partially signed Dash transaction. **Updated in Dash Core 23.0.0** * [DecodeRawTransaction](../api/remote-procedure-calls-raw-transactions.md#decoderawtransaction): decodes a serialized transaction hex string into a JSON object describing the transaction. **_Updated in Dash Core 21.0.0_** * [DecodeScript](../api/remote-procedure-calls-raw-transactions.md#decodescript): decodes a hex-encoded P2SH redeem script. **_Updated in Dash Core 21.0.0_** * [FinalizePSBT](../api/remote-procedure-calls-raw-transactions.md#finalizepsbt): finalizes the inputs of a PSBT. The PSBT produces a network serialized transaction if the transaction is fully signed. _New in Dash Core 18.0.0_ * [FundRawTransaction](../api/remote-procedure-calls-raw-transactions.md#fundrawtransaction): adds inputs to a transaction until it has enough in value to meet its out value. **_Updated in Dash Core 21.0.0_** -* [GetISLocks](../api/remote-procedure-calls-raw-transactions.md#getislocks): returns the raw InstantSend lock data for each provided transaction ID. **New in Dash Core 22.1.0** +* [GetISLocks](../api/remote-procedure-calls-raw-transactions.md#getislocks): returns the raw InstantSend lock data for each provided transaction ID. **Updated in Dash Core 23.0.0** * [GetRawTransaction](../api/remote-procedure-calls-raw-transactions.md#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. **_Updated in Dash Core 21.0.0_** * [GetRawTransactionMulti](../api/remote-procedure-calls-raw-transactions.md#getrawtransactionmulti): gets hex-encoded serialized transactions or a JSON object describing the multiple transactions. _New in Dash Core 20.1.0_ * [GetTxChainlocks](../api/remote-procedure-calls-raw-transactions.md#gettxchainlocks): returns the block height each transaction was mined at and whether it is ChainLocked or not. _Updated in Dash Core 20.1.0_ @@ -167,7 +167,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [DumpPrivKey](../api/remote-procedure-calls-wallet.md#dumpprivkey): returns the wallet-import-format (WIP) private key corresponding to an address. (But does not remove it from the wallet.) * [DumpWallet](../api/remote-procedure-calls-wallet.md#dumpwallet): creates or overwrites a file with all wallet keys in a human-readable format. _Updated in Dash Core 0.17.0_ * [EncryptWallet](../api/remote-procedure-calls-wallet.md#encryptwallet): encrypts the wallet with a passphrase. This is only to enable encryption for the first time. After encryption is enabled, you will need to enter the passphrase to use private keys. -* [GetAddressInfo](../api/remote-procedure-calls-wallet.md#getaddressinfo): returns information about the given Dash address. **_Updated in Dash Core 21.0.0_** +* [GetAddressInfo](../api/remote-procedure-calls-wallet.md#getaddressinfo): returns information about the given Dash address. **Updated in Dash Core 23.0.0** * [GetAddressesByLabel](../api/remote-procedure-calls-wallet.md#getaddressesbylabel): returns a list of every address assigned to a particular label. _New in Dash Core 0.17.0_ * [GetBalance](../api/remote-procedure-calls-wallet.md#getbalance): gets the balance in decimal dash across all accounts or for a particular account. _Updated in Dash Core 18.1.0_ * [GetBalances](../api/remote-procedure-calls-wallet.md#getbalances): returns an object with all balances denominated in DASH. _Updated in Dash Core 18.2.0_ @@ -175,7 +175,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [GetRawChangeAddress](../api/remote-procedure-calls-wallet.md#getrawchangeaddress): returns a new Dash address for receiving change. This is for use with raw transactions, not normal use. * [GetReceivedByAddress](../api/remote-procedure-calls-wallet.md#getreceivedbyaddress): returns the total amount received by the specified address in transactions with the specified number of confirmations. It does not count coinbase transactions. **Updated in Dash Core 23.0.0** * [GetReceivedByLabel](../api/remote-procedure-calls-wallet.md#getreceivedbylabel): returns the list of addresses assigned the specified label. **Updated in Dash Core 23.0.0** -* [GetTransaction](../api/remote-procedure-calls-wallet.md#gettransaction): gets detailed information about an in-wallet transaction. _Updated in Dash Core 20.0.0_ +* [GetTransaction](../api/remote-procedure-calls-wallet.md#gettransaction): gets detailed information about an in-wallet transaction. **Updated in Dash Core 23.0.0** * [GetUnconfirmedBalance](../api/remote-procedure-calls-wallet.md#getunconfirmedbalance): returns the wallet's total unconfirmed balance. * [GetWalletInfo](../api/remote-procedure-calls-wallet.md#getwalletinfo): provides information about the wallet. _Updated in Dash Core 20.0.0_ * [ImportAddress](../api/remote-procedure-calls-wallet.md#importaddress): adds an address or pubkey script to the wallet without the associated private key, allowing you to watch for transactions affecting that address or pubkey script without being able to spend any of its outputs. @@ -195,18 +195,18 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [ListReceivedByAddress](../api/remote-procedure-calls-wallet.md#listreceivedbyaddress): lists the total number of dash received by each address. **Updated in Dash Core 23.0.0** * [ListReceivedByLabel](../api/remote-procedure-calls-wallet.md#listreceivedbylabel): lists the total number of dash received by each label. **Updated in Dash Core 23.0.0** * [ListSinceBlock](../api/remote-procedure-calls-wallet.md#listsinceblock): gets all transactions affecting the wallet which have occurred since a particular block, plus the header hash of a block at a particular depth. _Updated in Dash Core 20.0.0_ -* [ListTransactions](../api/remote-procedure-calls-wallet.md#listtransactions): returns the most recent transactions that affect the wallet. _Updated in Dash Core 20.0.0_ -* [ListUnspent](../api/remote-procedure-calls-wallet.md#listunspent): returns an array of unspent transaction outputs belonging to this wallet. _Updated in Dash Core 18.1.0_ +* [ListTransactions](../api/remote-procedure-calls-wallet.md#listtransactions): returns the most recent transactions that affect the wallet. **Updated in Dash Core 23.0.0** +* [ListUnspent](../api/remote-procedure-calls-wallet.md#listunspent): returns an array of unspent transaction outputs belonging to this wallet. **Updated in Dash Core 23.0.0** * [ListWalletDir](../api/remote-procedure-calls-wallet.md#listwalletdir): returns a list of wallets in the wallet directory. _New in Dash Core 18.0.0_ * [ListWallets](../api/remote-procedure-calls-wallet.md#listwallets): returns a list of currently loaded wallets. _New in Dash Core 0.15.0_ * [LoadWallet](../api/remote-procedure-calls-wallet.md#loadwallet): loads a wallet from a wallet file or directory. _Updated in Dash Core 18.1.0_ * [LockUnspent](../api/remote-procedure-calls-wallet.md#lockunspent): temporarily locks or unlocks specified transaction outputs. A locked transaction output will not be chosen by automatic coin selection when spending dash. Locks are stored in memory only, so nodes start with zero locked outputs and the locked output list is always cleared when a node stops or fails. **Updated in Dash Core 22.1.0** * [RemovePrunedFunds](../api/remote-procedure-calls-wallet.md#removeprunedfunds): deletes the specified transaction from the wallet. Meant for use with pruned wallets and as a companion to importprunedfunds. _New in Dash Core 0.12.3_ * [RescanBlockChain](../api/remote-procedure-calls-wallet.md#rescanblockchain): rescans the local blockchain for wallet related transactions. _New in Dash Core 0.16.0_ -* [ScanTxOutset](../api/remote-procedure-calls-wallet.md#scantxoutset): scans the unspent transaction output set for entries that match certain output descriptors. _New in Dash Core 18.0.0_ +* [ScanTxOutset](../api/remote-procedure-calls-wallet.md#scantxoutset): scans the unspent transaction output set for entries that match certain output descriptors. **Updated in Dash Core 23.0.0** * [Send](../api/remote-procedure-calls-wallet.md#send): sends a transaction with specified outputs. **Updated in Dash Core 22.0.0** -* [SendMany](../api/remote-procedure-calls-wallet.md#sendmany): creates and broadcasts a transaction which sends outputs to multiple addresses. **Updated in Dash Core 22.0.0** -* [SendToAddress](../api/remote-procedure-calls-wallet.md#sendtoaddress): spends an amount to a given address. **Updated in Dash Core 22.0.0** +* [SendMany](../api/remote-procedure-calls-wallet.md#sendmany): creates and broadcasts a transaction which sends outputs to multiple addresses. **Updated in Dash Core 23.0.0** +* [SendToAddress](../api/remote-procedure-calls-wallet.md#sendtoaddress): spends an amount to a given address. **Updated in Dash Core 23.0.0** * [SetHDSeed](../api/remote-procedure-calls-wallet.md#sethdseed): sets or generates a new HD wallet seed **_New in Dash Core 21.0.0_** * [SetLabel](../api/remote-procedure-calls-wallet.md#setlabel): sets the label associated with the given address. * [SetCoinJoinAmount](../api/remote-procedure-calls-wallet.md#setcoinjoinamount): sets the amount of DASH to be processed _New in Dash Core 0.13.0_ diff --git a/docs/core/api/remote-procedure-calls-raw-transactions.md b/docs/core/api/remote-procedure-calls-raw-transactions.md index 53997b21e..72ad17624 100644 --- a/docs/core/api/remote-procedure-calls-raw-transactions.md +++ b/docs/core/api/remote-procedure-calls-raw-transactions.md @@ -368,7 +368,7 @@ _Result---the decoded transaction_ | → → →→
`pubkey` | object | Optional
(0 or more) | The public key with the derivation path as the value. | | → → →→→
`master_fingerprint` | object | Optional
(0 or more) | The fingerprint of the master key | | → → →→→
`path` | object | Optional
(0 or more) | The public key's path | -| → → →
`final_scriptsig` | object | Optional
(0 or more) | | +| → → →
`final_scriptSig` | object | Optional
(0 or more) | **Updated in Dash Core 23.0.0** (renamed from `final_scriptsig`) | | → → → →
`asm` | string | Required
(exactly 1) | The signature script in decoded form with non-data-pushing opcodes listed | | → → → →
`hex` | string (hex) | Required
(exactly 1) | The signature script encoded as hex | | → → →
`unknown` | object | Optional
(0 or more) | The unknown global fields | @@ -906,6 +906,7 @@ The RPC returns an array of the same size as the input array. Each element in th | → →
`inputs` | array | Required
(exactly 1) | An array of JSON objects describing the transaction inputs in the InstantSend lock | | → → →
`txid` | string (hex) | Required
(exactly 1) | The transaction ID of the input | | → → →
`vout` | number (int) | Required
(exactly 1) | The output index of the referenced transaction | +| → →
`id` | string (hex) | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Request ID | | → →
`cycleHash` | string (hex) | Required
(exactly 1) | The cycle hash associated with this InstantSend lock | | → →
`signature` | string (hex) | Required
(exactly 1) | The BLS signature associated with this InstantSend lock | | → →
`hex` | string (hex) | Required
(exactly 1) | The serialized, hex-encoded InstantSend lock data for the transaction | diff --git a/docs/core/api/remote-procedure-calls-wallet.md b/docs/core/api/remote-procedure-calls-wallet.md index 618e8df8b..c6dc23157 100644 --- a/docs/core/api/remote-procedure-calls-wallet.md +++ b/docs/core/api/remote-procedure-calls-wallet.md @@ -473,6 +473,7 @@ _Result---returns information about the address_ | → →
Address | string | Optional
(0 or more) | An address. | | →
`sigsrequired` | number (int) | Optional
(0 or 1) | Only returned for multisig P2SH addresses belonging to the wallet. The number of signatures required by this script | | →
`pubkey` | string (hex) | Optional
(0 or 1) | The public key corresponding to this address. Only returned if the address is a P2PKH address in the wallet | +| →
`embedded` | object | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
Information about the address embedded in P2SH, if relevant and known. Includes all `getaddressinfo` output fields for the embedded address, excluding metadata (`timestamp`, `hdkeypath`, `hdseedid`) and relation to the wallet (`ismine`, `iswatchonly`). | | →
`iscompressed` | bool | Optional
(0 or 1) | Set to `true` if a compressed public key or set to `false` if an uncompressed public key. Only returned if the address is a P2PKH address in the wallet | | →
`timestamp` | number (int) | Optional
(0 or 1) | The creation time of the key if available in seconds since epoch (Jan 1 1970 GMT) | | →
`hdchainid` | string (hash160) | Optional
(0 or 1) | The ID of the HD chain | @@ -946,7 +947,7 @@ _Result---a description of the transaction_ | →
`instantlock-internal` | bool | Required
(exactly 1) | If set to `true`, this transaction has an [InstantSend](../resources/glossary.md#instantsend) lock. Available for 'send' and 'receive' category of transactions. | | →
`chainlock` | bool | Required
(exactly 1) | If set to `true`, this transaction is in a block that is locked (not susceptible to a chain re-org) | | →
`trusted` | bool | Optional
(0 or 1) | Whether we consider the outputs of this unconfirmed transaction safe to spend. Only returned for unconfirmed transactions | -| →
`generated` | bool | Optional
(0 or 1) | Set to `true` if the transaction is a coinbase. Not returned for regular transactions | +| →
`generated` | bool | Optional
(0 or 1) | **Updated in Dash Core 23.0.0**
Set to `true` if the transaction's only input is a coinbase one. Only present if the transaction's only input is a coinbase one. | | →
`blockhash` | string (hex) | Optional
(0 or 1) | The hash of the block on the local best block chain which includes this transaction, encoded as hex in RPC byte order. Only returned for confirmed transactions | | →
`blockheight` | string (hex) | Optional
(0 or 1) | The block height containing the transaction. Only returned for confirmed transactions | | →
`blockindex` | number (int) | Optional
(0 or 1) | The index of the transaction in the block that includes it. Only returned for confirmed transactions | @@ -2190,7 +2191,7 @@ _Result---payment details_ | →
`instantlock` | bool | Required
(exactly 1) | If set to `true`, this transaction is either protected by an [InstantSend](../resources/glossary.md#instantsend) lock or it is in a block that has received a [ChainLock](../resources/glossary.md#chainlock) | | →
`instantlock_internal` | bool | Required
(exactly 1) | If set to `true`, this transaction has an [InstantSend](../resources/glossary.md#instantsend) lock | |
`chainlock` | bool | Required
(exactly 1) | If set to `true`, this transaction is in a block that is locked (not susceptible to a chain re-org) | -| → →
`generated` | bool | Optional
(0 or 1) | Set to `true` if the transaction is a coinbase. Not returned for regular transactions or _move_ category payments | +| → →
`generated` | bool | Optional
(0 or 1) | **Updated in Dash Core 23.0.0**
Set to `true` if the transaction's only input is a coinbase one. Only present if the transaction's only input is a coinbase one. | | → →
`trusted` | bool | Optional
(0 or 1) | Indicates whether we consider the outputs of this unconfirmed transaction safe to spend. Only returned for unconfirmed transactions | | → →
`blockhash` | string (hex) | Optional
(0 or 1) | The hash of the block on the local best block chain which includes this transaction, encoded as hex in RPC byte order. Only returned for confirmed transactions | | → →
`blockheight` | string (hex) | Optional
(0 or 1) | The block height containing the transaction. | @@ -2300,6 +2301,9 @@ _Result---the list of unspent outputs_ | → →
`redeemScript` | string (hex) | Optional
(0 or 1) | If the output is a P2SH whose script belongs to this wallet, this is the redeem script | | → →
`amount` | number (int) | Required
(exactly 1) | The amount paid to the output in dash | | → →
`confirmations` | number (int) | Required
(exactly 1) | The number of confirmations received for the transaction containing this output | +| → →
`ancestorcount` | number (int) | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
The number of in-mempool ancestor transactions, including this one (if transaction is in the mempool) | +| → →
`ancestorsize` | number (int) | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
The virtual transaction size of in-mempool ancestors, including this one (if transaction is in the mempool) | +| → →
`ancestorfees` | number (int) | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
The total fees of in-mempool ancestors (including this one) with fee deltas used for mining priority in duffs (if transaction is in the mempool) | | → →
`spendable` | bool | Required
(exactly 1) | Set to `true` if the private key or keys needed to spend this output are part of the wallet. Set to `false` if not (such as for watch-only addresses) | | → →
`solvable` | bool | Required
(exactly 1) | _Added in Bitcoin Core 0.13.0_

Set to `true` if the wallet knows how to spend this output. Set to `false` if the wallet does not know how to spend the output. It is ignored if the private keys are available | | → →
`desc` | string | Optional
(0 or 1) | A descriptor for spending this output | @@ -2736,6 +2740,7 @@ _Result---The unspent and total amount_ | → → →
`scriptPubKey` | string (hex) | Required
(exactly 1) | The output's pubkey script encoded as hex | | → → →
`desc` | string | Required
(exactly 1) | A specialized descriptor for the matched scriptPubKey | | → → →
`amount` | number (int) | Required
(exactly 1) | The total amount in DASH of the unspent output | +| → → →
`coinbase` | bool | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Whether this is a coinbase output | | → → →
`height` | number (int) | Required
(exactly 1) | The height of the unspent transaction output | | →
`total_amount` | numeric | Required
(exactly 1) | The total amount of all found unspent outputs in DASH | @@ -2962,7 +2967,7 @@ If `verbose` is set to `true`: | ------------- | ------------ | ----------------------- | ------------------------------------------------- | | result | json object | Required
(exactly 1) | A JSON object containing transaction details | | → txid | string | Required
(exactly 1) | The transaction id for the send. Only one transaction is created regardless of the number of addresses | -| → fee reason | string | Required
(exactly 1) | The transaction fee reason | +| → fee_reason | string | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (renamed from `fee reason`)
The transaction fee reason | _Example from Dash Core 0.17.0_ @@ -3114,7 +3119,7 @@ If `verbose` is set to `true`: | ------------- | ------------ | ----------------------- | ------------------------------------------------- | | result | json object | Required
(exactly 1) | A JSON object containing transaction details | | → txid | string | Required
(exactly 1) | The transaction id for the send | -| → fee reason | string | Required
(exactly 1) | The transaction fee reason | +| → fee_reason | string | Required
(exactly 1) | **Updated in Dash Core 23.0.0** (renamed from `fee reason`)
The transaction fee reason | _Example from Dash Core 0.12.2_ From e9fee231633384dc51ff43edeb49e492137198e1 Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 6 Nov 2025 13:00:00 -0500 Subject: [PATCH 13/25] docs(rpc): decodescript listdescriptors gettxout getcoinjoininfo updates --- .../api/remote-procedure-call-quick-reference.md | 8 ++++---- docs/core/api/remote-procedure-calls-blockchain.md | 6 +++--- docs/core/api/remote-procedure-calls-dash.md | 13 +++++++++---- docs/core/api/remote-procedure-calls-evo.md | 2 +- .../api/remote-procedure-calls-raw-transactions.md | 12 +++++++----- docs/core/api/remote-procedure-calls-wallet.md | 9 +++++++-- 6 files changed, 31 insertions(+), 19 deletions(-) diff --git a/docs/core/api/remote-procedure-call-quick-reference.md b/docs/core/api/remote-procedure-call-quick-reference.md index ddd18aa3e..0c84d0a97 100644 --- a/docs/core/api/remote-procedure-call-quick-reference.md +++ b/docs/core/api/remote-procedure-call-quick-reference.md @@ -43,7 +43,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [GetMerkleBlocks](../api/remote-procedure-calls-blockchain.md#getmerkleblocks): returns an array of hex-encoded merkleblocks for blocks starting from which match . _New in Dash Core 0.15.0_ * [GetSpecialTxes](../api/remote-procedure-calls-blockchain.md#getspecialtxes): returns an array of special transactions found in the specified block _New in Dash Core 0.13.1_ * [GetSpentInfo](../api/remote-procedure-calls-blockchain.md#getspentinfo): returns the txid and index where an output is spent (requires `spentindex` to be enabled). New in Dash Core 0.12.1 -* [GetTxOut](../api/remote-procedure-calls-blockchain.md#gettxout): returns details about an unspent transaction output (UTXO). **_Updated in Dash Core 21.0.0_** +* [GetTxOut](../api/remote-procedure-calls-blockchain.md#gettxout): returns details about an unspent transaction output (UTXO). **Updated in Dash Core 23.0.0** * [GetTxOutProof](../api/remote-procedure-calls-blockchain.md#gettxoutproof): returns a hex-encoded proof that one or more specified transactions were included in a block. * [GetTxOutSetInfo](../api/remote-procedure-calls-blockchain.md#gettxoutsetinfo): returns statistics about the confirmed unspent transaction output (UTXO) set. Note that this call may take some time and that it only counts outputs from confirmed transactions---it does not count outputs from the memory pool. _Updated in Dash Core 18.1.0_ * [PreciousBlock](../api/remote-procedure-calls-blockchain.md#preciousblock): treats a block as if it were received before others with the same work. _New in Dash Core 0.12.3_ @@ -66,7 +66,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [CoinJoin](../api/remote-procedure-calls-dash.md#coinjoin): controls the CoinJoin process. _Updated in Dash Core 0.12.3_ * [CoinJoinSalt](../api/remote-procedure-calls-dash.md#coinjoinsalt): controls the CoinJoin salt used in the process. It allows you to generate, retrieve, or set the salt. **Added in Dash Core 22.0.0** -* [GetCoinJoinInfo](../api/remote-procedure-calls-dash.md#getcoinjoininfo): returns an object containing an information about CoinJoin settings and state. **Updated in Dash Core 22.0.0** +* [GetCoinJoinInfo](../api/remote-procedure-calls-dash.md#getcoinjoininfo): returns an object containing an information about CoinJoin settings and state. **Updated in Dash Core 23.0.0** * [GetGovernanceInfo](../api/remote-procedure-calls-dash.md#getgovernanceinfo): returns an object containing governance parameters. _Updated in Dash Core 20.0.0_ * [GetSuperblockBudget](../api/remote-procedure-calls-dash.md#getsuperblockbudget): returns the absolute maximum sum of superblock payments allowed. * [GObject](../api/remote-procedure-calls-dash.md#gobject): provides a set of commands for managing governance objects and displaying information about them. _Updated in Dash Core 20.0.0_ @@ -130,7 +130,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [CreateRawTransaction](../api/remote-procedure-calls-raw-transactions.md#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. _Updated in Dash Core 0.17.0_ * [DecodePSBT](../api/remote-procedure-calls-raw-transactions.md#decodepsbt): returns a JSON object representing the serialized, base64-encoded partially signed Dash transaction. **Updated in Dash Core 23.0.0** * [DecodeRawTransaction](../api/remote-procedure-calls-raw-transactions.md#decoderawtransaction): decodes a serialized transaction hex string into a JSON object describing the transaction. **_Updated in Dash Core 21.0.0_** -* [DecodeScript](../api/remote-procedure-calls-raw-transactions.md#decodescript): decodes a hex-encoded P2SH redeem script. **_Updated in Dash Core 21.0.0_** +* [DecodeScript](../api/remote-procedure-calls-raw-transactions.md#decodescript): decodes a hex-encoded P2SH redeem script. **Updated in Dash Core 23.0.0** * [FinalizePSBT](../api/remote-procedure-calls-raw-transactions.md#finalizepsbt): finalizes the inputs of a PSBT. The PSBT produces a network serialized transaction if the transaction is fully signed. _New in Dash Core 18.0.0_ * [FundRawTransaction](../api/remote-procedure-calls-raw-transactions.md#fundrawtransaction): adds inputs to a transaction until it has enough in value to meet its out value. **_Updated in Dash Core 21.0.0_** * [GetISLocks](../api/remote-procedure-calls-raw-transactions.md#getislocks): returns the raw InstantSend lock data for each provided transaction ID. **Updated in Dash Core 23.0.0** @@ -189,7 +189,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [KeyPoolRefill](../api/remote-procedure-calls-wallet.md#keypoolrefill): fills the cache of unused pre-generated keys (the keypool). * [ListAddressBalances](../api/remote-procedure-calls-wallet.md#listaddressbalances): lists addresses of this wallet and their balances _New in Dash Core 0.12.3_ * [ListAddressGroupings](../api/remote-procedure-calls-wallet.md#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. _Updated in Dash Core 0.17.0_ -* [ListDescriptors](../api/remote-procedure-calls-wallet.md#listdescriptors): lists descriptors imported into a descriptor-enabled wallet. **_New in Dash Core 21.0.0_** +* [ListDescriptors](../api/remote-procedure-calls-wallet.md#listdescriptors): lists descriptors imported into a descriptor-enabled wallet. **Updated in Dash Core 23.0.0** * [ListLabels](../api/remote-procedure-calls-wallet.md#listlabels): returns the list of all labels, or labels that are assigned to addresses with a specific purpose. _New in Dash Core 0.17.0_ * [ListLockUnspent](../api/remote-procedure-calls-wallet.md#listlockunspent): returns a list of temporarily unspendable (locked) outputs. * [ListReceivedByAddress](../api/remote-procedure-calls-wallet.md#listreceivedbyaddress): lists the total number of dash received by each address. **Updated in Dash Core 23.0.0** diff --git a/docs/core/api/remote-procedure-calls-blockchain.md b/docs/core/api/remote-procedure-calls-blockchain.md index c359d3102..814e01774 100644 --- a/docs/core/api/remote-procedure-calls-blockchain.md +++ b/docs/core/api/remote-procedure-calls-blockchain.md @@ -2039,12 +2039,12 @@ Name | Type | Presence | Description →
`value` | number (Dash) | Required
(exactly 1) | The amount of Dash spent to this output. May be `0` →
`scriptPubKey` | string : object | Optional
(0 or 1) | An object with information about the pubkey script. This may be `null` if there was no pubkey script → →
`asm` | string | Required
(exactly 1) | The pubkey script in decoded form with non-data-pushing opcodes listed +→ →
`desc` | string | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Inferred descriptor for the output → →
`hex` | string (hex) | Required
(exactly 1) | The pubkey script encoded as hex -→ →
`reqSigs` | number (int) | Optional
(0 or 1) | **Deprecated in Dash Core 21.0.0** (returned only if config option -deprecatedrpc=addresses is passed)

The number of signatures required; this is always `1` for P2PK, P2PKH, and P2SH (including P2SH multisig because the redeem script is not available in the pubkey script). It may be greater than 1 for bare multisig. This value will not be returned for `nulldata` or `nonstandard` script types (see the `type` key below) +→ →
`reqSigs` | number (int) | Optional
(0 or 1) | **Removed in Dash Core 23.0.0** (previously deprecated in 21.0.0) → →
`type` | string | Optional
(0 or 1) | The type of script. This will be one of the following:
• `pubkey` for a P2PK script
• `pubkeyhash` for a P2PKH script
• `scripthash` for a P2SH script
• `multisig` for a bare multisig script
• `nulldata` for nulldata scripts
• `nonstandard` for unknown scripts → →
`address` | string | Optional
(0 or 1) | Dash address (only if a well-defined address exists) -→ →
`addresses` | string : array | Optional
(0 or 1) | **Deprecated in Dash Core 21.0.0** (returned only if config option -deprecatedrpc=addresses is passed)

The P2PKH or P2SH addresses used in this transaction, or the computed P2PKH address of any pubkeys in this transaction. This array will not be returned for `nulldata` or `nonstandard` script types -→ → →
Address | string | Required
(1 or more) | A P2PKH or P2SH address +→ →
`addresses` | string : array | Optional
(0 or 1) | **Removed in Dash Core 23.0.0** (previously deprecated in 21.0.0) →
`coinbase` | bool | Required
(exactly 1) | Set to `true` if the transaction output belonged to a coinbase transaction; set to `false` for all other transactions. Coinbase transactions need to have 101 confirmations before their outputs can be spent *Example from Dash Core 0.15.0* diff --git a/docs/core/api/remote-procedure-calls-dash.md b/docs/core/api/remote-procedure-calls-dash.md index 4ad9054ce..99db11578 100644 --- a/docs/core/api/remote-procedure-calls-dash.md +++ b/docs/core/api/remote-procedure-calls-dash.md @@ -241,7 +241,9 @@ The [`getcoinjoininfo` RPC](#getcoinjoininfo) returns an object containing an in | → →
Session | object | Optional
(1 or more) | Information for a session | | → → →
`protxhash` | string | Required
(exactly 1) | The ProTxHash of the masternode | | → → →
`outpoint` | string (txid-index) | Required
(exactly 1) | The outpoint of the masternode | -| → → →
`service` | string (host:port) | Required
(exactly 1) | The IP address and port of the masternode | +| → → →
`service` | string (host:port) | Required
(exactly 1) | **Deprecated in Dash Core 23.0.0**
The IP address and port of the masternode | +| → → →
`addrs_core_p2p` | array | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Network addresses of the masternode used for protocol P2P | +| → → → →
Address | string | Required
(1 or more) | Network address (IP:port) | | → → →
`denomination` | number (int) | Required
(exactly 1) | The denomination of the session (in DASH) | | → → →
`state` | string | Required
(exactly 1) | Current state of the session | | → → →
`entries_count` | number (int) | Required
(exactly 1) | The number of entries in the session | @@ -258,7 +260,7 @@ The [`getcoinjoininfo` RPC](#getcoinjoininfo) returns an object containing an in | →
`state` | string | Required
(exactly 1) | Current state of the session | | →
`entries_count` | number (int) | Required
(exactly 1) | The number of entries in the session | -*Example from Dash Core 0.17.0 (regular node)* +*Example from Dash Core 23.0.0 (regular node)* ``` bash dash-cli -testnet getcoinjoininfo @@ -281,13 +283,16 @@ Result: { "protxhash": "0515c9a411df0f1bd9940d9a2e4f6d739c29c52fc8c045c383f1ff6acc87c7b7", "outpoint": "0a6520a6ef523de71fd0ca70441e1fd648483f094442d986b24e2c9391be61cf-29", - "service": "54.170.119.85:26216", + "service": "54.202.231.195:19999", + "addrs_core_p2p": [ + "54.202.231.195:19999" + ], "denomination": 10.00010000, "state": "QUEUE", "entries_count": 0 } ], - "keys_left": 998, + "keys_left": 999, "warnings": "" } ``` diff --git a/docs/core/api/remote-procedure-calls-evo.md b/docs/core/api/remote-procedure-calls-evo.md index 704e78140..638433258 100644 --- a/docs/core/api/remote-procedure-calls-evo.md +++ b/docs/core/api/remote-procedure-calls-evo.md @@ -3132,7 +3132,7 @@ The `quorum getrecsig` RPC gets the recovered signature for a previous threshold | Name | Type | Presence | Description | | ----------------- | ------------ | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| result | bool | Required
(exactly 1) | Recovered signature details | +| result | object | Required
(exactly 1) | Recovered signature details | | →
`llmqType` | number | Required
(exactly 1) | [Type of quorum](https://github.com/dashpay/dips/blob/master/dip-0006/llmq-types.md):
`1` - LLMQ_50_60
`2` - LLMQ_400_60
`3` - LLMQ_400_85
`4` - LLMQ_100_67 | | →
`quorumHash` | string (hex) | Required
(exactly 1) | The block hash of the quorum | | →
`id` | string (hex) | Required
(exactly 1) | The signing session ID | diff --git a/docs/core/api/remote-procedure-calls-raw-transactions.md b/docs/core/api/remote-procedure-calls-raw-transactions.md index 72ad17624..10f07d6ff 100644 --- a/docs/core/api/remote-procedure-calls-raw-transactions.md +++ b/docs/core/api/remote-procedure-calls-raw-transactions.md @@ -689,13 +689,14 @@ _Result---the decoded script_ | ---------------- | ------------ | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | `result` | object | Required
(exactly 1) | An object describing the decoded script, or JSON `null` if the script could not be decoded | | →
`asm` | string | Required
(exactly 1) | The redeem script in decoded form with non-data-pushing opcodes listed. May be empty | -| →
`reqSigs` | number (int) | Optional
(0 or 1) | **Deprecated in Dash Core 21.0.0** (returned only if config option -deprecatedrpc=addresses is passed)

The number of signatures required; this is always `1` for P2PK or P2PKH within P2SH. It may be greater than 1 for P2SH multisig. This value will not be returned for `nonstandard` script types (see the `type` key above) | +| →
`desc` | string | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Inferred descriptor for the script | | →
`type` | string | Optional
(0 or 1) | The type of script. This will be one of the following:
• `pubkey` for a P2PK script inside P2SH
• `pubkeyhash` for a P2PKH script inside P2SH
• `multisig` for a multisig script inside P2SH
• `nonstandard` for unknown scripts | -| →
`addresses` | array | Optional
(0 or 1) | **Deprecated in Dash Core 21.0.0** (returned only if config option -deprecatedrpc=addresses is passed)

A P2PKH addresses used in this script, or the computed P2PKH addresses of any pubkeys in this script. This array will not be returned for `nonstandard` script types | -| → →
Address | string | Required
(1 or more) | A P2PKH address | -| →
`p2sh` | string (hex) | Required
(exactly 1) | The P2SH address of this redeem script | +| →
`address` | string | Optional
(0 or 1) | The Dash address (only if a well-defined address exists) | +| →
`reqSigs` | number (int) | Optional
(0 or 1) | **Removed in Dash Core 23.0.0** (previously deprecated in 21.0.0) | +| →
`addresses` | array | Optional
(0 or 1) | **Removed in Dash Core 23.0.0** (previously deprecated in 21.0.0) | +| →
`p2sh` | string (hex) | Optional
(0 or 1) | **Removed in Dash Core 23.0.0** | -_Example from Dash Core 21.0.0_ +_Example from Dash Core 23.0.0_ A 2-of-3 P2SH multisig pubkey script: @@ -711,6 +712,7 @@ Result: ```json { "asm": "2 02eacba539d92eb88d4e73bb32749d79f53f6e8d7947ac40a71bd4b26c13b6ec29 0311f97539724e0de38fb1ff79f5148e5202459d06ed07193ab18c730274fd0d88 03251f25a5c0291446d801ba6df122f67a7dd06c60a9b332b7b29cc94f3b8f57d0 3 OP_CHECKMULTISIG", + "desc": "multi(2,02eacba539d92eb88d4e73bb32749d79f53f6e8d7947ac40a71bd4b26c13b6ec29,0311f97539724e0de38fb1ff79f5148e5202459d06ed07193ab18c730274fd0d88,03251f25a5c0291446d801ba6df122f67a7dd06c60a9b332b7b29cc94f3b8f57d0)#79g9wpuh", "type": "multisig", "p2sh": "8uJLxDxk2gEMbidF5vT8XLS2UCgQmVcroW" } diff --git a/docs/core/api/remote-procedure-calls-wallet.md b/docs/core/api/remote-procedure-calls-wallet.md index c6dc23157..e6d4182d2 100644 --- a/docs/core/api/remote-procedure-calls-wallet.md +++ b/docs/core/api/remote-procedure-calls-wallet.md @@ -1698,15 +1698,19 @@ _Result---execution result_ | `descriptors` | array | Required
(exactly 1) | An array of JSON objects, each describing a descriptor | | → Descriptor | object | Required
(1 or more) | A JSON object describing a particular descriptor | | → →
`desc` | string | Required
(exactly 1) | Descriptor string representation | +| → →
`mnemonic` | string | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
The mnemonic phrase for this wallet. Only present for HD wallets with private keys. | +| → →
`mnemonicpassphrase` | bool | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
Whether the wallet has a mnemonic passphrase. Only present for HD wallets with private keys. | | → →
`timestamp`| number (int) | Required
(exactly 1) | The creation time of the descriptor in Unix epoch time | | → →
`active` | bool | Required
(exactly 1) | Indicates whether this descriptor is currently used to generate new addresses | | → →
`internal` | bool | Optional
(0 or 1) | True if this descriptor is used to generate change addresses; False if used for receiving | +| → →
`coinjoin` | bool | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
Whether this descriptor is used for CoinJoin transactions | | → →
`range` | array | Optional
(0 or 1) | Defined only for ranged descriptors | | → →→
`start` | number (int) | Required
(exactly 1) | Range start inclusive | | → →→
`end` | number (int) | Required
(exactly 1) | Range end inclusive | | → →
`next` | number (int) | Optional
(0 or 1) | The next index to generate addresses from; defined only for ranged descriptors | +| → →
`next_index` | number (int) | Optional
(0 or 1) | **Added in Dash Core 23.0.0**
The next index for key derivation | -_Example from Dash Core 21.1.0_ +_Example from Dash Core 23.0.0_ List all descriptors in a descriptor-enabled wallet: @@ -1729,7 +1733,8 @@ Result (example output): 0, 999 ], - "next": 0 + "next": 0, + "next_index": 0 } ] } From 13fff588addb03d4116b01705b74748906735acc Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 6 Nov 2025 13:09:38 -0500 Subject: [PATCH 14/25] docs: add prompt for using new rpcs script output to update rpc docs --- docs/core/api/ai-prompt.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/core/api/ai-prompt.md b/docs/core/api/ai-prompt.md index 78b9f8a77..c9076f094 100644 --- a/docs/core/api/ai-prompt.md +++ b/docs/core/api/ai-prompt.md @@ -106,11 +106,19 @@ _See also_ * [ImportPrivKey](../api/remote-procedure-calls-wallet.md#importprivkey): adds a private key to your wallet. The key should be formatted in the wallet import format created by the [`dumpprivkey` RPC](../api/remote-procedure-calls-wallet.md#dumpprivkey). * [ImportAddress](../api/remote-procedure-calls-wallet.md#importaddress): adds an address or pubkey script to the wallet without the associated private key, allowing you to watch for transactions affecting that address or pubkey script without being able to spend any of its outputs. * [ImportWallet](../api/remote-procedure-calls-wallet.md#importwallet): imports private keys from a file in wallet dump file format (see the [`dumpwallet` RPC](../api/remote-procedure-calls-wallet.md#dumpwallet)). These keys will be added to the keys currently in the wallet. This call may need to rescan all or parts of the block chain for transactions affecting the newly-added keys, which may take several minutes. -``` - +`` Create documentation for the following new RPC using the style of previously provided RPC documentation as a template: ``` INSERT "HELP " OUTPUT HERE ``` + +## Claude Code + +### Update RPCs based on the auto-generated help diff summary + +**Note:** See the [Core RPC scripts README](../../../scripts/core-rpc-tools/README.md) for details on creating the files used by the following prompt. + +Update the RPC docs found in @docs/core/api directory for . For each RPC in the modified RPCs table of @scripts/core-rpc-tools/rpc-changes-summary--to-.md, find the RPC documentation for that RPC and compare it with the info in @scripts/core-rpc-tools/dash-cli-help-.jsonl. Make updates as required. Track progress in a table that matches the one in @scripts/core-rpc-tools/rpc-changes-summary--to-.md but adds a column for documentation updates completed. Be sure to update @remote-procedure-call-quick-reference.md as changes are made. + From 8db98dffd959b21f156ef417b9aed1711f6de59e Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 6 Nov 2025 15:22:35 -0500 Subject: [PATCH 15/25] docs(rpc): decoderawtx getrawtx getblock updates --- .../remote-procedure-call-quick-reference.md | 6 +- .../api/remote-procedure-calls-blockchain.md | 59 ++++++++++++------- ...remote-procedure-calls-raw-transactions.md | 24 ++++---- 3 files changed, 54 insertions(+), 35 deletions(-) diff --git a/docs/core/api/remote-procedure-call-quick-reference.md b/docs/core/api/remote-procedure-call-quick-reference.md index 0c84d0a97..5e5e55d2c 100644 --- a/docs/core/api/remote-procedure-call-quick-reference.md +++ b/docs/core/api/remote-procedure-call-quick-reference.md @@ -22,7 +22,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [GetBestBlockHash](../api/remote-procedure-calls-blockchain.md#getbestblockhash): returns the header hash of the most recent block on the best block chain. * [DumpTxOutset](../api/remote-procedure-calls-blockchain.md#dumptxoutset): Write the serialized UTXO set to disk. _New in Dash Core 18.1.0_ * [GetBestChainLock](../api/remote-procedure-calls-blockchain.md#getbestchainlock): returns the block hash of the best chainlock. **Updated in Dash Core 22.1.0** -* [GetBlock](../api/remote-procedure-calls-blockchain.md#getblock): gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block. **_Updated in Dash Core 21.0.0_** +* [GetBlock](../api/remote-procedure-calls-blockchain.md#getblock): gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block. **Updated in Dash Core 23.0.0** * [GetBlockChainInfo](../api/remote-procedure-calls-blockchain.md#getblockchaininfo): provides information about the current state of the block chain. **_Updated in Dash Core 21.0.0_** * [GetBlockCount](../api/remote-procedure-calls-blockchain.md#getblockcount): returns the number of blocks in the local best block chain. * [GetBlockFilter](../api/remote-procedure-calls-blockchain.md#getblockfilter): retrieves a [BIP157](https://github.com/bitcoin/bips/blob/master/bip-0157.mediawiki) content filter for a particular block. _New in Dash Core 18.0.0_ @@ -129,12 +129,12 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [GetAssetUnlockStatuses](../api/remote-procedure-calls-raw-transactions.md#getassetunlockstatuses): returns the status of the provided Asset Unlock indexes at the tip of the chain or at a particular block height if specified. _New in Dash Core 20.1.0_ * [CreateRawTransaction](../api/remote-procedure-calls-raw-transactions.md#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. _Updated in Dash Core 0.17.0_ * [DecodePSBT](../api/remote-procedure-calls-raw-transactions.md#decodepsbt): returns a JSON object representing the serialized, base64-encoded partially signed Dash transaction. **Updated in Dash Core 23.0.0** -* [DecodeRawTransaction](../api/remote-procedure-calls-raw-transactions.md#decoderawtransaction): decodes a serialized transaction hex string into a JSON object describing the transaction. **_Updated in Dash Core 21.0.0_** +* [DecodeRawTransaction](../api/remote-procedure-calls-raw-transactions.md#decoderawtransaction): decodes a serialized transaction hex string into a JSON object describing the transaction. **Updated in Dash Core 23.0.0** * [DecodeScript](../api/remote-procedure-calls-raw-transactions.md#decodescript): decodes a hex-encoded P2SH redeem script. **Updated in Dash Core 23.0.0** * [FinalizePSBT](../api/remote-procedure-calls-raw-transactions.md#finalizepsbt): finalizes the inputs of a PSBT. The PSBT produces a network serialized transaction if the transaction is fully signed. _New in Dash Core 18.0.0_ * [FundRawTransaction](../api/remote-procedure-calls-raw-transactions.md#fundrawtransaction): adds inputs to a transaction until it has enough in value to meet its out value. **_Updated in Dash Core 21.0.0_** * [GetISLocks](../api/remote-procedure-calls-raw-transactions.md#getislocks): returns the raw InstantSend lock data for each provided transaction ID. **Updated in Dash Core 23.0.0** -* [GetRawTransaction](../api/remote-procedure-calls-raw-transactions.md#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. **_Updated in Dash Core 21.0.0_** +* [GetRawTransaction](../api/remote-procedure-calls-raw-transactions.md#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. **Updated in Dash Core 23.0.0** * [GetRawTransactionMulti](../api/remote-procedure-calls-raw-transactions.md#getrawtransactionmulti): gets hex-encoded serialized transactions or a JSON object describing the multiple transactions. _New in Dash Core 20.1.0_ * [GetTxChainlocks](../api/remote-procedure-calls-raw-transactions.md#gettxchainlocks): returns the block height each transaction was mined at and whether it is ChainLocked or not. _Updated in Dash Core 20.1.0_ * [JoinPSBTs](../api/remote-procedure-calls-raw-transactions.md#joinpsbts): joins multiple distinct PSBTs with different inputs and outputs into one PSBT with inputs and outputs from all of the PSBTs. diff --git a/docs/core/api/remote-procedure-calls-blockchain.md b/docs/core/api/remote-procedure-calls-blockchain.md index 814e01774..97b05d2ee 100644 --- a/docs/core/api/remote-procedure-calls-blockchain.md +++ b/docs/core/api/remote-procedure-calls-blockchain.md @@ -127,7 +127,7 @@ Block Hash | string (hex) | Required
(exactly 1) | The hash of the header of Name | Type | Presence | Description --- | --- | --- | --- -Verbosity | number (int) | Optional
(0 or 1) | Set to one of the following verbosity levels:
• `0` - Get the block as a string in the hex-encoded serialized block format;
• `1` - Get the decoded block as a JSON object (default)
• `2` - Get the decoded block as a JSON object with transaction details +Verbosity | number (int) | Optional
(0 or 1) | Set to one of the following verbosity levels:
• `0` - Get the block as a string in the hex-encoded serialized block format;
• `1` - Get the decoded block as a JSON object (default)
• `2` - Get the decoded block as a JSON object with transaction details
• `3` - **Added in Dash Core 23.0.0** Get the decoded block as a JSON object with transaction details including prevout information for inputs (only for unpruned blocks in the current best chain) *Result (if verbosity was `0`)---a serialized block* @@ -159,14 +159,14 @@ Name | Type | Presence | Description →
`size` | number (int) | Required
(exactly 1) | The size of this block in serialized block format, counted in bytes →
`tx` | array | Required
(exactly 1) | An array containing the TXIDs of all transactions in this block. The transactions appear in the array in the same order they appear in the serialized block → →
TXID | string (hex) | Required
(1 or more) | The TXID of a transaction in this block, encoded as hex in RPC byte order -→
`cbTx` | object | Required
(exactly 1) | Coinbase special transaction details +→
`cbTx` | object | Optional
(0 or 1) | Coinbase special transaction details → →
`version` | number (int) | Required
(exactly 1) | The version of the Coinbase special transaction (CbTx) → →
`height` | number (int) | Required
(exactly 1) | The height of this block on its block chain → →
`merkleRootMNList` | string (hex) | Required
(exactly 1) | The merkle root for the masternode list -→ →
`merkleRootQuorums` | string (hex) | Required
(exactly 1) | The merkle root for the quorum list -→ →
`bestCLHeightDiff` | number (int) | Required
(exactly 1) | **Added in Dash Core 20.0.0**
The best ChainLock height difference -→ →
`bestCLSignature` | string (hex) | Required
(exactly 1) | **Added in Dash Core 20.0.0**
The best ChainLock signature -→ →
`creditPoolBalance` | number (real) | Required
(exactly 1) | **Added in Dash Core 20.0.0**
The balance of the credit pool +→ →
`merkleRootQuorums` | string (hex) | Optional
(0 or 1) | The merkle root for the quorum list +→ →
`bestCLHeightDiff` | number (int) | Optional
(0 or 1) | **Added in Dash Core 20.0.0**
Blocks between the current block and the last known block with a ChainLock +→ →
`bestCLSignature` | string (hex) | Optional
(0 or 1) | **Added in Dash Core 20.0.0**
Best ChainLock signature known by the miner +→ →
`creditPoolBalance` | number (real) | Optional
(0 or 1) | **Added in Dash Core 20.0.0**
Balance in the Platform credit pool *Result (if verbosity was `2`---a JSON block with full transaction details* @@ -226,16 +226,35 @@ Name | Type | Presence | Description → →
`fee` | number | Optional
(0 or 1) | The transaction fee in DASH, omitted if block undo data is not available → →
`instantlock` | bool | Required
(exactly 1) | If set to `true`, this transaction is either protected by an [InstantSend](../resources/glossary.md#instantsend) lock or it is in a block that has received a [ChainLock](../resources/glossary.md#chainlock) → →
`instantlock_internal` | bool | Required
(exactly 1) | If set to `true`, this transaction has an [InstantSend](../resources/glossary.md#instantsend) lock -→
`cbTx` | object | Required
(exactly 1) | Coinbase special transaction details +→
`cbTx` | object | Optional
(0 or 1) | Coinbase special transaction details → →
`version` | number (int) | Required
(exactly 1) | The version of the Coinbase special transaction (CbTx) → →
`height` | number (int) | Required
(exactly 1) | The height of this block on its block chain → →
`merkleRootMNList` | string (hex) | Required
(exactly 1) | The merkle root for the masternode list -→ →
`merkleRootQuorums` | string (hex) | Required
(exactly 1) | The merkle root for the quorum list -→ →
`bestCLHeightDiff` | number (int) | Required
(exactly 1) | **Added in Dash Core 20.0.0**
The best ChainLock height difference -→ →
`bestCLSignature` | string (hex) | Required
(exactly 1) | **Added in Dash Core 20.0.0**
The best ChainLock signature -→ →
`creditPoolBalance` | number (real) | Required
(exactly 1) | **Added in Dash Core 20.0.0**
The balance of the credit pool +→ →
`merkleRootQuorums` | string (hex) | Optional
(0 or 1) | The merkle root for the quorum list +→ →
`bestCLHeightDiff` | number (int) | Optional
(0 or 1) | **Added in Dash Core 20.0.0**
Blocks between the current block and the last known block with a ChainLock +→ →
`bestCLSignature` | string (hex) | Optional
(0 or 1) | **Added in Dash Core 20.0.0**
Best ChainLock signature known by the miner +→ →
`creditPoolBalance` | number (real) | Optional
(0 or 1) | **Added in Dash Core 20.0.0**
Balance in the Platform credit pool + +*Result (if verbosity was `3`)---a JSON block with full transaction and prevout details* + +Name | Type | Presence | Description +--- | --- | --- | --- +`result` | object/null | Required
(exactly 1) | **Added in Dash Core 23.0.0**

An object containing the requested block with prevout information, or JSON `null` if an error occurred +... | ... | ... | Same output as verbosity = 2 +→ →
`vin` | array | Required
(exactly 1) | An array of objects with each object being an input vector (vin) for this transaction (includes prevout information) +→ → →
Input | object | Required
(1 or more) | An object describing one of this transaction's inputs +... | ... | ... | The same output as verbosity = 2 +→ → → →
`prevout` | object | Optional
(0 or 1) | Previous output information (only if undo information is available) +→ → → → →
`generated` | bool | Required
(exactly 1) | Whether this is a coinbase output +→ → → → →
`height` | number (int) | Required
(exactly 1) | The height of the prevout +→ → → → →
`value` | number (Dash) | Required
(exactly 1) | The value in DASH +→ → → → →
`scriptPubKey` | object | Required
(exactly 1) | The script pubkey +→ → → → → →
`asm` | string | Required
(exactly 1) | The asm +→ → → → → →
`hex` | string (hex) | Required
(exactly 1) | The hex +→ → → → → →
`address` | string | Optional
(0 or 1) | The Dash address (only if a well-defined address exists) +→ → → → → →
`type` | string | Required
(exactly 1) | The type (e.g., 'pubkeyhash') -*Example from Dash Core 21.0.0* +*Example from Dash Core 23.0.0* Get a block in raw hex: @@ -353,12 +372,10 @@ Result: "n": 0, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 c69a0bda7daaae481be8def95e5f347a1d00a4b4 OP_EQUALVERIFY OP_CHECKSIG", + "desc": "addr(yeRZBWYfeNE4yVUHV4ZLs83Ppn9aMRH57A)#0u4f4749", "hex": "76a914c69a0bda7daaae481be8def95e5f347a1d00a4b488ac", - "reqSigs": 1, - "type": "pubkeyhash", - "addresses": [ - "yeRZBWYfeNE4yVUHV4ZLs83Ppn9aMRH57A" - ] + "address": "yeRZBWYfeNE4yVUHV4ZLs83Ppn9aMRH57A", + "type": "pubkeyhash" } }, { @@ -367,12 +384,10 @@ Result: "n": 1, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 21eca01872dbfce4bf20886a004f6caaa69c1ff7 OP_EQUALVERIFY OP_CHECKSIG", + "desc": "addr(yPQpcZ1EdtQXWHzNjZuvVCKXuESW5wZ5x1)#9x0cknwl", "hex": "76a91421eca01872dbfce4bf20886a004f6caaa69c1ff788ac", - "reqSigs": 1, - "type": "pubkeyhash", - "addresses": [ - "yPQpcZ1EdtQXWHzNjZuvVCKXuESW5wZ5x1" - ] + "address": "yPQpcZ1EdtQXWHzNjZuvVCKXuESW5wZ5x1", + "type": "pubkeyhash" } } ], diff --git a/docs/core/api/remote-procedure-calls-raw-transactions.md b/docs/core/api/remote-procedure-calls-raw-transactions.md index 10f07d6ff..78a4ca736 100644 --- a/docs/core/api/remote-procedure-calls-raw-transactions.md +++ b/docs/core/api/remote-procedure-calls-raw-transactions.md @@ -534,16 +534,14 @@ _Result---the decoded transaction_ | → → →
`n` | number (int) | Required
(exactly 1) | The output index number of this output within this transaction | | → → →
`scriptPubKey` | object | Required
(exactly 1) | An object describing the pubkey script | | → → → →
`asm` | string | Required
(exactly 1) | The pubkey script in decoded form with non-data-pushing opcodes listed | +| → → → →
`desc` | string | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Inferred descriptor for the output | | → → → →
`hex` | string (hex) | Required
(exactly 1) | The pubkey script encoded as hex | -| → → → →
`reqSigs` | number (int) | Optional
(0 or 1) | **Deprecated in Dash Core 21.0.0** (returned only if config option -deprecatedrpc=addresses is passed)

The number of signatures required; this is always `1` for P2PK, P2PKH, and P2SH (including P2SH multisig because the redeem script is not available in the pubkey script). It may be greater than 1 for bare multisig. This value will not be returned for `nulldata` or `nonstandard` script types (see the `type` key below) | | → → → →
`type` | string | Optional
(0 or 1) | The type of script. This will be one of the following:
• `pubkey` for a P2PK script
• `pubkeyhash` for a P2PKH script
• `scripthash` for a P2SH script
• `multisig` for a bare multisig script
• `nulldata` for nulldata scripts
• `nonstandard` for unknown scripts | | → → →
`address` | string | Optional
(0 or 1) | Dash address (only if a well-defined address exists) | -| → → → →
`addresses` | string : array | Optional
(0 or 1) | **Deprecated in Dash Core 21.0.0** (returned only if config option -deprecatedrpc=addresses is passed)

The P2PKH or P2SH addresses used in this transaction, or the computed P2PKH address of any pubkeys in this transaction. This array will not be returned for `nulldata` or `nonstandard` script types | -| → → → → →
Address | string | Required
(1 or more) | A P2PKH or P2SH address | | →
`extraPayloadSize` | number (int) | Optional
(0 or 1) | _Added in Dash Core 0.13.0.0_

Size of the DIP2 extra payload. Only present if it's a DIP2 special transaction | | →
`extraPayload` | string (hex) | Optional
(0 or 1) | _Added in Dash Core 0.13.0.0_

Hex encoded DIP2 extra payload data. Only present if it's a DIP2 special transaction | -_Example from Dash Core 21.1.0_ +_Example from Dash Core 23.0.0_ Decode a signed one-input, two-output transaction: @@ -584,6 +582,7 @@ Result: "n": 0, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 b02ae52066542b4aec5cf45c7cae3183d7bd3227 OP_EQUALVERIFY OP_CHECKSIG", + "desc": "addr(ycNwAN4DQ7Xnw5XLKg84SR4U1GE22FfLNQ)#dymcgg9m", "hex": "76a914b02ae52066542b4aec5cf45c7cae3183d7bd322788ac", "address": "ycNwAN4DQ7Xnw5XLKg84SR4U1GE22FfLNQ", "type": "pubkeyhash" @@ -595,6 +594,7 @@ Result: "n": 1, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 252c9de3a0ebd5c95886187b24969d4ccdb5576e OP_EQUALVERIFY OP_CHECKSIG", + "desc": "addr(yPi1JKw5fn8bMFsCCtnkGagogW6GXwGktZ)#jt9z47fj", "hex": "76a914252c9de3a0ebd5c95886187b24969d4ccdb5576e88ac", "address": "yPi1JKw5fn8bMFsCCtnkGagogW6GXwGktZ", "type": "pubkeyhash" @@ -638,6 +638,7 @@ Result: "n": 0, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG", + "desc": "addr(yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK)#yfqr3rqr", "hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac", "address": "yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK", "type": "pubkeyhash" @@ -649,6 +650,7 @@ Result: "n": 1, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG", + "desc": "addr(yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV)#wjszqhw4", "hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac", "address": "yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV", "type": "pubkeyhash" @@ -1032,12 +1034,10 @@ _Result (if verbose=`true`)---the decoded transaction_ | → → →
`n` | number (int) | Required
(exactly 1) | The output index number of this output within this transaction | | → → →
`scriptPubKey` | object | Required
(exactly 1) | An object describing the pubkey script | | → → → →
`asm` | string | Required
(exactly 1) | The pubkey script in decoded form with non-data-pushing opcodes listed | +| → → → →
`desc` | string | Required
(exactly 1) | **Added in Dash Core 23.0.0**
Inferred descriptor for the output | | → → → →
`hex` | string (hex) | Required
(exactly 1) | The pubkey script encoded as hex | -| → → → →
`reqSigs` | number (int) | Optional
(0 or 1) | **Deprecated in Dash Core 21.0.0** (returned only if config option -deprecatedrpc=addresses is passed)

The number of signatures required; this is always `1` for P2PK, P2PKH, and P2SH (including P2SH multisig because the redeem script is not available in the pubkey script). It may be greater than 1 for bare multisig. This value will not be returned for `nulldata` or `nonstandard` script types (see the `type` key below) | | → → → →
`type` | string | Optional
(0 or 1) | The type of script. This will be one of the following:
• `pubkey` for a P2PK script
• `pubkeyhash` for a P2PKH script
• `scripthash` for a P2SH script
• `multisig` for a bare multisig script
• `nulldata` for nulldata scripts
• `nonstandard` for unknown scripts | | → → →
`address` | string | Optional
(0 or 1) | Dash address (only if a well-defined address exists) | -| → → → →
`addresses` | string : array | Optional
(0 or 1) | **Deprecated in Dash Core 21.0.0** (returned only if config option -deprecatedrpc=addresses is passed)

The P2PKH or P2SH addresses used in this transaction, or the computed P2PKH address of any pubkeys in this transaction. This array will not be returned for `nulldata` or `nonstandard` script types | -| → → → → →
Address | string | Required
(1 or more) | A P2PKH or P2SH address | | →
`extraPayloadSize` | number (int) | Optional
(0 or 1) | _Added in Dash Core 0.13.0.0_

Size of the DIP2 extra payload. Only present if it's a DIP2 special transaction | | →
`extraPayload` | string (hex) | Optional
(0 or 1) | _Added in Dash Core 0.13.0.0_

Hex encoded DIP2 extra payload data. Only present if it's a DIP2 special transaction | | →
`hex` | string (hex) | Required
(exactly 1) | The serialized, hex-encoded data for the provided `txid` | @@ -1050,7 +1050,7 @@ _Result (if verbose=`true`)---the decoded transaction_ | →
`instantlock_internal` | bool | Required
(exactly 1) | If set to `true`, this transaction has an [InstantSend](../resources/glossary.md#instantsend) lock | | →
`chainlock` | bool | Required
(exactly 1) | If set to `true`, this transaction is in a block that is locked (not susceptible to a chain re-org) | -_Examples from Dash Core 21.1.0_ +_Examples from Dash Core 23.0.0_ A classical transaction in serialized transaction format: @@ -1109,6 +1109,7 @@ Result: "n": 0, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 8907e625c343ac9c6b56e8180f73af1d23350d0c OP_EQUALVERIFY OP_CHECKSIG", + "desc": "addr(yYoztKLNFLvbNYAPMUGoa5iHz5SBtNLEK8)#vnk3v3tz", "hex": "76a9148907e625c343ac9c6b56e8180f73af1d23350d0c88ac", "address": "yYoztKLNFLvbNYAPMUGoa5iHz5SBtNLEK8", "type": "pubkeyhash" @@ -1123,6 +1124,7 @@ Result: "n": 1, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 dd01754e43690f41feef2cc7974bc2e5101e9f27 OP_EQUALVERIFY OP_CHECKSIG", + "desc": "addr(ygU1vv8a2fhiM2gYUF1GjQAcjxgZUKY5MD)#g0jecjva", "hex": "76a914dd01754e43690f41feef2cc7974bc2e5101e9f2788ac", "address": "ygU1vv8a2fhiM2gYUF1GjQAcjxgZUKY5MD", "type": "pubkeyhash" @@ -1135,7 +1137,7 @@ Result: "hex": "02000000016634e15fe22fe84554833f109916fced5af30fac0849a211f17f326162280f14010000006a47304402207b8f61bebe3560b6ef70de3e10b59bdc60931d09cf0626026bfe3064dcfcf1c00220048ad98398cb294fa19335110db3ce5a466b74cbbf234bf2b4855b264a03ef790121027b90f229e7027758f0c8b39d2d485b88ed5b63b34e58e0dad2a07e3e8eb03373feffffff0278f51104000000001976a9148907e625c343ac9c6b56e8180f73af1d23350d0c88acd007290e000000001976a914dd01754e43690f41feef2cc7974bc2e5101e9f2788accf880d00", "blockhash": "0000009f3480f5e2b6821af57ccbfeb064d9e18b6e9e669aad238f2b0059df1a", "height": 886992, - "confirmations": 192439, + "confirmations": 472266, "time": 1692025132, "blocktime": 1692025132, "instantlock": true, @@ -1193,6 +1195,7 @@ Result: "n": 0, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 cbd7bfcc50351180132b2c0698cb90ad74c473c7 OP_EQUALVERIFY OP_CHECKSIG", + "desc": "addr(yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK)#yfqr3rqr", "hex": "76a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac", "address": "yeuGUfPMrbEqAS2Pw1wonYgEPbM4LAA9LK", "type": "pubkeyhash" @@ -1207,6 +1210,7 @@ Result: "n": 1, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 88a060bc2dfe05780ae4dcb6c98b12436c35a939 OP_EQUALVERIFY OP_CHECKSIG", + "desc": "addr(yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV)#wjszqhw4", "hex": "76a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac", "address": "yYmrsYP3XYMZr1cGtha3QzmuNB1C7CfyhV", "type": "pubkeyhash" @@ -1224,7 +1228,7 @@ Result: "hex": "03000500010000000000000000000000000000000000000000000000000000000000000000ffffffff2703ae50011a4d696e656420627920416e74506f6f6c2021000b01201da9196f0000000007000000ffffffff02809e4730000000001976a914cbd7bfcc50351180132b2c0698cb90ad74c473c788ac809e4730000000001976a91488a060bc2dfe05780ae4dcb6c98b12436c35a93988ac00000000460200ae50010078e5c08b39960887bf95185c381bdb719e60b6925fa12af78a8824fade927387c757acb6bac63da84f9245e20cfd5d830382ac634d434725ca6349ab5db920a3", "blockhash": "00000000007b0fb99e36713cf08012482478ee496e6dcb4007ad2e806306e62b", "height": 86190, - "confirmations": 993241, + "confirmations": 1273069, "time": 1556114577, "blocktime": 1556114577, "instantlock": true, From dc9ffc0ee08bec29906899c0622237627b9a0e66 Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 6 Nov 2025 16:01:53 -0500 Subject: [PATCH 16/25] docs(rpc): fundrawtx send walletcreatefundedpsbt updates --- .../remote-procedure-call-quick-reference.md | 6 ++--- ...remote-procedure-calls-raw-transactions.md | 17 ++++++++++---- .../core/api/remote-procedure-calls-wallet.md | 22 ++++++++++++++++--- 3 files changed, 35 insertions(+), 10 deletions(-) diff --git a/docs/core/api/remote-procedure-call-quick-reference.md b/docs/core/api/remote-procedure-call-quick-reference.md index 5e5e55d2c..8207cec29 100644 --- a/docs/core/api/remote-procedure-call-quick-reference.md +++ b/docs/core/api/remote-procedure-call-quick-reference.md @@ -132,7 +132,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [DecodeRawTransaction](../api/remote-procedure-calls-raw-transactions.md#decoderawtransaction): decodes a serialized transaction hex string into a JSON object describing the transaction. **Updated in Dash Core 23.0.0** * [DecodeScript](../api/remote-procedure-calls-raw-transactions.md#decodescript): decodes a hex-encoded P2SH redeem script. **Updated in Dash Core 23.0.0** * [FinalizePSBT](../api/remote-procedure-calls-raw-transactions.md#finalizepsbt): finalizes the inputs of a PSBT. The PSBT produces a network serialized transaction if the transaction is fully signed. _New in Dash Core 18.0.0_ -* [FundRawTransaction](../api/remote-procedure-calls-raw-transactions.md#fundrawtransaction): adds inputs to a transaction until it has enough in value to meet its out value. **_Updated in Dash Core 21.0.0_** +* [FundRawTransaction](../api/remote-procedure-calls-raw-transactions.md#fundrawtransaction): adds inputs to a transaction until it has enough in value to meet its out value. **Updated in Dash Core 23.0.0** * [GetISLocks](../api/remote-procedure-calls-raw-transactions.md#getislocks): returns the raw InstantSend lock data for each provided transaction ID. **Updated in Dash Core 23.0.0** * [GetRawTransaction](../api/remote-procedure-calls-raw-transactions.md#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. **Updated in Dash Core 23.0.0** * [GetRawTransactionMulti](../api/remote-procedure-calls-raw-transactions.md#getrawtransactionmulti): gets hex-encoded serialized transactions or a JSON object describing the multiple transactions. _New in Dash Core 20.1.0_ @@ -204,7 +204,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [RemovePrunedFunds](../api/remote-procedure-calls-wallet.md#removeprunedfunds): deletes the specified transaction from the wallet. Meant for use with pruned wallets and as a companion to importprunedfunds. _New in Dash Core 0.12.3_ * [RescanBlockChain](../api/remote-procedure-calls-wallet.md#rescanblockchain): rescans the local blockchain for wallet related transactions. _New in Dash Core 0.16.0_ * [ScanTxOutset](../api/remote-procedure-calls-wallet.md#scantxoutset): scans the unspent transaction output set for entries that match certain output descriptors. **Updated in Dash Core 23.0.0** -* [Send](../api/remote-procedure-calls-wallet.md#send): sends a transaction with specified outputs. **Updated in Dash Core 22.0.0** +* [Send](../api/remote-procedure-calls-wallet.md#send): sends a transaction with specified outputs. **Updated in Dash Core 23.0.0** * [SendMany](../api/remote-procedure-calls-wallet.md#sendmany): creates and broadcasts a transaction which sends outputs to multiple addresses. **Updated in Dash Core 23.0.0** * [SendToAddress](../api/remote-procedure-calls-wallet.md#sendtoaddress): spends an amount to a given address. **Updated in Dash Core 23.0.0** * [SetHDSeed](../api/remote-procedure-calls-wallet.md#sethdseed): sets or generates a new HD wallet seed **_New in Dash Core 21.0.0_** @@ -218,7 +218,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [UnloadWallet](../api/remote-procedure-calls-wallet.md#unloadwallet): unloads the wallet referenced by the request endpoint otherwise unloads the wallet specified in the argument. _Updated in Dash Core 20.0.0_ * [UpgradeToHD](../api/remote-procedure-calls-wallet.md#upgradetohd): upgrades non-HD wallets to HD. _New in Dash Core 0.17.0_ * [UpgradeWallet](../api/remote-procedure-calls-wallet.md#upgradewallet): upgrades wallet version. **_Updated in Dash Core 21.0.0_** -* [WalletCreateFundedPSBT](../api/remote-procedure-calls-wallet.md#walletcreatefundedpsbt): creates and funds a transaction in the Partially Signed Transaction (PST) format. Inputs will be added if supplied inputs are not enough. **_Updated in Dash Core 21.0.0_** +* [WalletCreateFundedPSBT](../api/remote-procedure-calls-wallet.md#walletcreatefundedpsbt): creates and funds a transaction in the Partially Signed Transaction (PST) format. Inputs will be added if supplied inputs are not enough. **Updated in Dash Core 23.0.0** * [WalletLock](../api/remote-procedure-calls-wallet.md#walletlock): removes the wallet encryption key from memory, locking the wallet. After calling this method, you will need to call `walletpassphrase` again before being able to call any methods which require the wallet to be unlocked. * [WalletPassphrase](../api/remote-procedure-calls-wallet.md#walletpassphrase): stores the wallet decryption key in memory for the indicated number of seconds. Issuing the `walletpassphrase` command while the wallet is already unlocked will set a new unlock time that overrides the old one. * [WalletPassphraseChange](../api/remote-procedure-calls-wallet.md#walletpassphrasechange): changes the wallet passphrase from 'old passphrase' to 'new passphrase'. diff --git a/docs/core/api/remote-procedure-calls-raw-transactions.md b/docs/core/api/remote-procedure-calls-raw-transactions.md index 78a4ca736..c55945baa 100644 --- a/docs/core/api/remote-procedure-calls-raw-transactions.md +++ b/docs/core/api/remote-procedure-calls-raw-transactions.md @@ -779,9 +779,11 @@ _See also:_ Requires [wallet](../resources/glossary.md#wallet) support (**unavailable on masternodes**). ::: -The [`fundrawtransaction` RPC](../api/remote-procedure-calls-raw-transactions.md#fundrawtransaction) adds inputs to a transaction until it has enough in value to meet its out value. This will not modify existing inputs, and will add one change output to the outputs. -Note that inputs which were signed may need to be resigned after completion since in/outputs have been added. The inputs added will not be signed, use signrawtransaction for that. -All existing inputs must have their previous output transaction be in the wallet. +The [`fundrawtransaction` RPC](../api/remote-procedure-calls-raw-transactions.md#fundrawtransaction) adds inputs to a transaction until it has enough in value to meet its out value. This will not modify existing inputs, and will add one change output to the outputs. + +Note that inputs which were signed may need to be resigned after completion since in/outputs have been added. The inputs added will not be signed, use signrawtransaction for that. + +**Updated in Dash Core 23.0.0:** All existing inputs must either have their previous output transaction be in the wallet or be in the UTXO set. Solving data must be provided for non-wallet inputs. _Parameter #1---The hex string of the raw transaction_ @@ -797,7 +799,7 @@ Note: For backwards compatibility, passing in a `true` instead of an object will | ------------------------------ | ------------------ | ----------------------- | ---------- | | Options | Object | Optional
(0 or 1) | Additional options. For backward compatibility: passing in a true instead of an object will result in {"includeWatching":true} | | →
`add_inputs` | bool | Optional
(0 or 1) | If inputs are specified, automatically include more if they are not enough. Defaults to `true`. | -| →
`changeAddress` | string | Optional
(0 or 1) | The address to receive the change. If not set, the address is chosen from address pool | +| →
`changeAddress` | string | Optional
(0 or 1) | **Updated in Dash Core 23.0.0**

The address to receive the change. If not set, the address is chosen automatically | | →
`changePosition` | nummeric (int) | Optional
(0 or 1) | The index of the change output. If not set, the change position is randomly chosen | | `includeWatching` | bool | Optional
(0 or 1) | Inputs from watch-only addresses are also considered. The default is `false` for non-watching-only wallets and `true` for watching-only wallets | | →
`lockUnspent` | bool | Optional
(0 or 1) | The selected outputs are locked after running the rpc call. The default is `false`. This applies to manually selected coins also since Dash Core 20.1.0. | @@ -806,6 +808,13 @@ Note: For backwards compatibility, passing in a `true` instead of an object will | → →
Output index | numeric (int) | Optional
(0 or more) | A output index number (vout) from which the fee should be subtracted. If multiple vouts are provided, the total fee will be divided by the number of vouts listed and each vout will have that amount subtracted from it. | | →
`conf_target` | numberic (int) | Optional
(0 or 1) | Confirmation target (in blocks), or fee rate (for DASH/kB or duff/B estimate modes) | | →
`estimate_mode` | string | Optional
(0 or 1) | The fee estimate mode, must be one of (case insensitive):
`unset`
`economical`
`conservative`
`DASH/kB`
`duff/B` | +| →
`solving_data` | object | Optional
(0 or 1) | **Added in Dash Core 23.0.0**

Keys and scripts needed for producing a final transaction with a dummy signature. Used for fee estimation during coin selection. | +| → →
`pubkeys` | array | Optional
(0 or 1) | Public keys involved in this transaction | +| → → →
pubkey | string | Optional
(0 or more) | A public key | +| → →
`scripts` | array | Optional
(0 or 1) | Scripts involved in this transaction | +| → → →
script | string | Optional
(0 or more) | A script | +| → →
`descriptors` | array | Optional
(0 or 1) | Descriptors that provide solving data for this transaction | +| → → →
descriptor | string | Optional
(0 or more) | A descriptor | _Result---information about the created transaction_ diff --git a/docs/core/api/remote-procedure-calls-wallet.md b/docs/core/api/remote-procedure-calls-wallet.md index e6d4182d2..88e0e515d 100644 --- a/docs/core/api/remote-procedure-calls-wallet.md +++ b/docs/core/api/remote-procedure-calls-wallet.md @@ -2833,7 +2833,7 @@ _Parameter #5---Options_ | options | json object | Optional
(0 or 1) | Additional configuration settings for the transaction. | | →
`add_inputs` | bool | Optional
(0 or 1) | If set to `true`, automatically includes more inputs if the initially specified inputs are not sufficient. Defaults to `false`.| | →
`add_to_wallet` | bool | Optional
(0 or 1) | If `false`, returns the transaction as a serialized hex string and does not add it to the wallet or broadcast it. Defaults to `true`. | -| →
`change_address` | string (hex) | Optional
(0 or 1) | The Dash address to receive the change. | +| →
`change_address` | string (hex) | Optional
(0 or 1) | **Updated in Dash Core 23.0.0**
The Dash address to receive the change. If not set, the address is chosen automatically. | | →
`change_position` | numeric (int) | Optional
(0 or 1) | The index of the change output. | | →
`conf_target` | numeric (int) | Optional
(0 or 1) | Confirmation target (in blocks) for the transaction, or fee rate for DASH/kB or duff/B estimate modes. Defaults to wallet's default configuration. | | →
`estimate_mode` | string | Optional
(0 or 1) | The fee estimate mode. Must be one of: `unset`, `economical`, `conservative`, `DASH/kB`, `duff/B`. Default is `unset`. | @@ -2848,6 +2848,13 @@ _Parameter #5---Options_ | →
`psbt` | bool | Optional
(0 or 1) | If `true`, always returns the transaction as a PSBT. Implies `add_to_wallet` is `false`. Default is automatic.| | → `subtract_fee_from_outputs` | array | Optional
(0 or 1) | A JSON array of integers. The fee will be equally deducted from the amount of each specified output. Those recipients will receive less funds than you enter in their corresponding amount field. If no outputs are specified here, the sender pays the fee. | | → → Output index | numeric (int) | Required
(1 or more) | The zero-based output index, before a change output is added. | +| →
`solving_data` | object | Optional
(0 or 1) | **Added in Dash Core 23.0.0**

Keys and scripts needed for producing a final transaction with a dummy signature. Used for fee estimation during coin selection. | +| → →
`pubkeys` | array | Optional
(0 or 1) | Public keys involved in this transaction | +| → → →
pubkey | string | Optional
(0 or more) | A public key | +| → →
`scripts` | array | Optional
(0 or 1) | Scripts involved in this transaction | +| → → →
script | string | Optional
(0 or more) | A script | +| → →
`descriptors` | array | Optional
(0 or 1) | Descriptors that provide solving data for this transaction | +| → → →
descriptor | string | Optional
(0 or more) | A descriptor | _Result---transaction details_ @@ -2855,7 +2862,7 @@ _Result---transaction details_ | ----------- | ------------------ | ----------------------- | ---------------------------------- | | Result | object | Required
(exactly 1) | JSON object containing transaction details | | → `complete` | bool | Required
(exactly 1) | If the transaction has a complete set of signatures. | -| → `txid` | string (hex) | Required
(exactly 1) | The transaction id for the send. Only 1 transaction is created regardless of the number of addresses. | +| → `txid` | string (hex) | Optional
(0 or 1) | The transaction id for the send. Only 1 transaction is created regardless of the number of addresses. | | → `hex` | string (hex) | Optional
(0 or 1) | If `add_to_wallet` is false, the hex-encoded raw transaction with signatures. | | → `psbt` | string | Optional
(0 or 1) | If more signatures are needed, or if `add_to_wallet` is false, the base64-encoded (partially) signed transaction. | @@ -3644,6 +3651,8 @@ The [`walletcreatefundedpsbt` RPC](../api/remote-procedure-calls-wallet.md#walle Implements the Creator and Updater roles. +As of Dash Core 23.0.0, all existing inputs must either have their previous output transaction be in the wallet or be in the UTXO set. Solving data must be provided for non-wallet inputs. + _Parameter #1---Inputs_ | Name | Type | Presence | Description | @@ -3675,7 +3684,7 @@ _Parameter #4---Additional options_ | ------------------------------ | ----------------- | ----------------------- | ----------- | | Options | Object | Optional
(0 or 1) | Additional options | | →
`add_inputs` | bool | Optional
(0 or 1) | If inputs are specified, automatically include more if they are not enough. Defaults to `false`. | -| →
`changeAddress` | string | Optional
(0 or 1) | The dash address to receive the change (default=pool address) | +| →
`changeAddress` | string | Optional
(0 or 1) | **Updated in Dash Core 23.0.0**

The dash address to receive the change. If not set, the address is chosen automatically. | | →
`changePosition` | numeric (int) | Optional
(0 or 1) | The index of the change output (default=random) | | →
`includeWatching` | bool | Optional
(0 or 1) | Also select inputs which are watch only (default=`false` for non-watching only wallets and `true` for watching only-wallets) | | →
`lockUnspents` | bool | Optional
(0 or 1) | Lock selected unspent outputs (default=`false`). This applies to manually selected coins also since Dash Core 20.1.0. | @@ -3684,6 +3693,13 @@ _Parameter #4---Additional options_ | → →
Output index | numeric (int) | Optional
(0 or more) | An output index number (vout) from which the fee should be subtracted. If multiple vouts are provided, the total fee will be divided by the number of vouts listed and each vout will have that amount subtracted from it. | | →
`conf_target` | numeric (int) | Optional
(0 or 1) | Confirmation target (in blocks) | | →
`estimate_mode` | numeric (int) | Optional
(0 or 1) | The fee estimate mode, must be one of:
`unset`
`economical`
`conservative`
`DASH/kB`
`duff/B` | +| →
`solving_data` | object | Optional
(0 or 1) | **Added in Dash Core 23.0.0**

Keys and scripts needed for producing a final transaction with a dummy signature. Used for fee estimation during coin selection. | +| → →
`pubkeys` | array | Optional
(0 or 1) | Public keys involved in this transaction | +| → → →
pubkey | string | Optional
(0 or more) | A public key | +| → →
`scripts` | array | Optional
(0 or 1) | Scripts involved in this transaction | +| → → →
script | string | Optional
(0 or more) | A script | +| → →
`descriptors` | array | Optional
(0 or 1) | Descriptors that provide solving data for this transaction | +| → → →
descriptor | string | Optional
(0 or more) | A descriptor | _Parameter #5---bip32derivs_ From e1b58eb28dc4e1606c638d6fb23b79a20502413f Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 6 Nov 2025 16:03:00 -0500 Subject: [PATCH 17/25] chore: exclude scripts dir in conf file --- conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/conf.py b/conf.py index 4e42731ce..b58dec2bf 100644 --- a/conf.py +++ b/conf.py @@ -87,6 +87,7 @@ 'docs/core/api/ai-prompt.md', 'docs/img/dev/gifs/README.md', 'docs/user/wallets/electrum/dip3_p2sh_howto.md', + 'scripts/*', 'venv' ] From 028f5d1ccb2889d2954755cbde32460427fb4b4f Mon Sep 17 00:00:00 2001 From: thephez Date: Thu, 6 Nov 2025 16:38:07 -0500 Subject: [PATCH 18/25] docs(rpc): add coinjoin newkeypool simulaterawtx gettxspendingprevout --- .../remote-procedure-call-quick-reference.md | 5 +- docs/core/api/remote-procedure-calls-dash.md | 29 +++++- ...remote-procedure-calls-raw-transactions.md | 49 ++++++++++ .../core/api/remote-procedure-calls-wallet.md | 89 +++++++++++++++++++ 4 files changed, 170 insertions(+), 2 deletions(-) diff --git a/docs/core/api/remote-procedure-call-quick-reference.md b/docs/core/api/remote-procedure-call-quick-reference.md index 8207cec29..f1e78e526 100644 --- a/docs/core/api/remote-procedure-call-quick-reference.md +++ b/docs/core/api/remote-procedure-call-quick-reference.md @@ -64,7 +64,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core ## [Dash RPCs](../api/remote-procedure-calls-dash.md) -* [CoinJoin](../api/remote-procedure-calls-dash.md#coinjoin): controls the CoinJoin process. _Updated in Dash Core 0.12.3_ +* [CoinJoin](../api/remote-procedure-calls-dash.md#coinjoin): controls the CoinJoin process. **Updated in Dash Core 23.0.0** * [CoinJoinSalt](../api/remote-procedure-calls-dash.md#coinjoinsalt): controls the CoinJoin salt used in the process. It allows you to generate, retrieve, or set the salt. **Added in Dash Core 22.0.0** * [GetCoinJoinInfo](../api/remote-procedure-calls-dash.md#getcoinjoininfo): returns an object containing an information about CoinJoin settings and state. **Updated in Dash Core 23.0.0** * [GetGovernanceInfo](../api/remote-procedure-calls-dash.md#getgovernanceinfo): returns an object containing governance parameters. _Updated in Dash Core 20.0.0_ @@ -137,6 +137,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [GetRawTransaction](../api/remote-procedure-calls-raw-transactions.md#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. **Updated in Dash Core 23.0.0** * [GetRawTransactionMulti](../api/remote-procedure-calls-raw-transactions.md#getrawtransactionmulti): gets hex-encoded serialized transactions or a JSON object describing the multiple transactions. _New in Dash Core 20.1.0_ * [GetTxChainlocks](../api/remote-procedure-calls-raw-transactions.md#gettxchainlocks): returns the block height each transaction was mined at and whether it is ChainLocked or not. _Updated in Dash Core 20.1.0_ +* [GetTxSpendingPrevout](../api/remote-procedure-calls-raw-transactions.md#gettxspendingprevout): scans the mempool to find transactions spending any of the provided outputs. **New in Dash Core 23.0.0** * [JoinPSBTs](../api/remote-procedure-calls-raw-transactions.md#joinpsbts): joins multiple distinct PSBTs with different inputs and outputs into one PSBT with inputs and outputs from all of the PSBTs. * [SendRawTransaction](../api/remote-procedure-calls-raw-transactions.md#sendrawtransaction): validates a transaction and broadcasts it to the peer-to-peer network. _Updated in Dash Core 0.15.0_ * [SignRawTransactionWithKey](../api/remote-procedure-calls-raw-transactions.md#signrawtransactionwithkey): signs a transaction in the serialized transaction format using private keys provided in the call. _New in Dash Core 0.17.0_ @@ -201,6 +202,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [ListWallets](../api/remote-procedure-calls-wallet.md#listwallets): returns a list of currently loaded wallets. _New in Dash Core 0.15.0_ * [LoadWallet](../api/remote-procedure-calls-wallet.md#loadwallet): loads a wallet from a wallet file or directory. _Updated in Dash Core 18.1.0_ * [LockUnspent](../api/remote-procedure-calls-wallet.md#lockunspent): temporarily locks or unlocks specified transaction outputs. A locked transaction output will not be chosen by automatic coin selection when spending dash. Locks are stored in memory only, so nodes start with zero locked outputs and the locked output list is always cleared when a node stops or fails. **Updated in Dash Core 22.1.0** +* [NewKeyPool](../api/remote-procedure-calls-wallet.md#newkeypool): entirely clears and refills the keypool. **New in Dash Core 23.0.0** * [RemovePrunedFunds](../api/remote-procedure-calls-wallet.md#removeprunedfunds): deletes the specified transaction from the wallet. Meant for use with pruned wallets and as a companion to importprunedfunds. _New in Dash Core 0.12.3_ * [RescanBlockChain](../api/remote-procedure-calls-wallet.md#rescanblockchain): rescans the local blockchain for wallet related transactions. _New in Dash Core 0.16.0_ * [ScanTxOutset](../api/remote-procedure-calls-wallet.md#scantxoutset): scans the unspent transaction output set for entries that match certain output descriptors. **Updated in Dash Core 23.0.0** @@ -215,6 +217,7 @@ These RPCs are all Dash-specific and not found in Bitcoin Core * [SetWalletFlag](../api/remote-procedure-calls-wallet.md#setwalletflag): changes the state of the given wallet flag for a wallet. * [SignMessage](../api/remote-procedure-calls-wallet.md#signmessage): signs a message with the private key of an address. * [SignRawTransactionWithWallet](../api/remote-procedure-calls-wallet.md#signrawtransactionwithwallet): signs a transaction in the serialized transaction format using private keys found in the wallet. _New in Dash Core 0.17.0_ +* [SimulateRawTransaction](../api/remote-procedure-calls-wallet.md#simulaterawtransaction): calculates the balance change resulting in the signing and broadcasting of the given transactions. **New in Dash Core 23.0.0** * [UnloadWallet](../api/remote-procedure-calls-wallet.md#unloadwallet): unloads the wallet referenced by the request endpoint otherwise unloads the wallet specified in the argument. _Updated in Dash Core 20.0.0_ * [UpgradeToHD](../api/remote-procedure-calls-wallet.md#upgradetohd): upgrades non-HD wallets to HD. _New in Dash Core 0.17.0_ * [UpgradeWallet](../api/remote-procedure-calls-wallet.md#upgradewallet): upgrades wallet version. **_Updated in Dash Core 21.0.0_** diff --git a/docs/core/api/remote-procedure-calls-dash.md b/docs/core/api/remote-procedure-calls-dash.md index 99db11578..7fec6f75b 100644 --- a/docs/core/api/remote-procedure-calls-dash.md +++ b/docs/core/api/remote-procedure-calls-dash.md @@ -16,7 +16,7 @@ The [`coinjoin` RPC](#coinjoin) controls the CoinJoin process (previously named | Name | Type | Presence | Description | | ------ | ------ | ----------------------- | ---------------------------------------------------------------------------------------------------------- | -| `mode` | string | Required
(exactly 1) | The command mode to use:
`start` - Start CoinJoin
`stop` - Stop CoinJoin
`reset` - Reset CoinJoin | +| `mode` | string | Required
(exactly 1) | The command mode to use:
`start` - Start CoinJoin
`status` - Get status
`stop` - Stop CoinJoin
`reset` - Reset CoinJoin | **Command Mode - `start`** @@ -38,6 +38,33 @@ Result: Mixing started successfully ``` +**Command Mode - `status`** + +:::{versionadded} 23.0.0 +::: + +*Result---status of mixing sessions* + +| Name | Type | Presence | Description | +| -------- | ------ | ----------------------- | --------------------------------- | +| `result` | array | Required
(exactly 1) | An array of status strings | +| →
Status | string | Required
(0 or more) | Status of a mixing session | + +*Example from Dash Core 23.0.0* + +```bash +dash-cli coinjoin status +``` + +Result: + +```json +[ + "Session 1: Idle", + "Session 2: Mixing" +] +``` + **Command Mode - `stop`** *Result---stop command return status* diff --git a/docs/core/api/remote-procedure-calls-raw-transactions.md b/docs/core/api/remote-procedure-calls-raw-transactions.md index c55945baa..22de05b2e 100644 --- a/docs/core/api/remote-procedure-calls-raw-transactions.md +++ b/docs/core/api/remote-procedure-calls-raw-transactions.md @@ -1313,6 +1313,55 @@ _See also:_ * [GetSpecialTxes](../api/remote-procedure-calls-blockchain.md#getspecialtxes): returns an array of special transactions found in the specified block * [GetTransaction](../api/remote-procedure-calls-wallet.md#gettransaction): gets detailed information about an in-wallet transaction. +## GetTxSpendingPrevout + +:::{versionadded} 23.0.0 +::: + +The [`gettxspendingprevout` RPC](../api/remote-procedure-calls-raw-transactions.md#gettxspendingprevout) scans the mempool to find transactions spending any of the given outputs. + +_Parameter #1---Outputs to check_ + +| Name | Type | Presence | Description | +| ------------ | ------ | ----------------------- | --------------------------------------------------- | +| `outputs` | array | Required
(exactly 1) | The transaction outputs to check | +| → Output | object | Required
(1 or more) | An object describing an output | +| → →
`txid` | string (hex) | Required
(exactly 1) | The transaction ID | +| → →
`vout` | number (int) | Required
(exactly 1) | The output number | + +_Result---spending transactions_ + +| Name | Type | Presence | Description | +| ----------------------- | ------------ | ----------------------- | --------------------------------------------------------------- | +| `result` | array | Required
(exactly 1) | An array of objects describing the spending status of each output | +| → Output Status | object | Required
(1 or more) | An object describing one output | +| → →
`txid` | string (hex) | Required
(exactly 1) | The transaction ID of the checked output | +| → →
`vout` | number (int) | Required
(exactly 1) | The vout value of the checked output | +| → →
`spendingtxid` | string (hex) | Optional
(0 or 1) | The transaction ID of the mempool transaction spending this output (omitted if unspent) | + +_Example from Dash Core 23.0.0_ + +```bash +dash-cli gettxspendingprevout '[{"txid":"a08e6907dbbd3d809776dbfc5d82e371b764ed838b5655e72f463568df1aadf0","vout":3}]' +``` + +Result: + +```json +[ + { + "txid": "a08e6907dbbd3d809776dbfc5d82e371b764ed838b5655e72f463568df1aadf0", + "vout": 3, + "spendingtxid": "c25b5b9a8e2d5c3d7e6f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d" + } +] +``` + +_See also:_ + +* [GetRawTransaction](../api/remote-procedure-calls-raw-transactions.md#getrawtransaction): gets a hex-encoded serialized transaction or a JSON object describing the transaction. +* [GetTxOut](../api/remote-procedure-calls-blockchain.md#gettxout): returns details about an unspent transaction output (UTXO). + ## GetTxChainlocks The [`gettxchainlocks` RPC](../api/remote-procedure-calls-raw-transactions.md#gettxchainlocks) returns the block height each transaction was mined at and indicates whether it is in the mempool, ChainLocked, or neither. diff --git a/docs/core/api/remote-procedure-calls-wallet.md b/docs/core/api/remote-procedure-calls-wallet.md index 88e0e515d..080b25a08 100644 --- a/docs/core/api/remote-procedure-calls-wallet.md +++ b/docs/core/api/remote-procedure-calls-wallet.md @@ -1588,6 +1588,7 @@ _See also_ * [GetNewAddress](../api/remote-procedure-calls-wallet.md#getnewaddress): returns a new Dash address for receiving payments. If an account is specified, payments received with the address will be credited to that account. * [GetWalletInfo](../api/remote-procedure-calls-wallet.md#getwalletinfo): provides information about the wallet. +* [NewKeyPool](../api/remote-procedure-calls-wallet.md#newkeypool): entirely clears and refills the keypool. ## ListAddressBalances @@ -2625,6 +2626,42 @@ _See also_ * [ListLockUnspent](../api/remote-procedure-calls-wallet.md#listlockunspent): returns a list of temporarily unspendable (locked) outputs. * [ListUnspent](../api/remote-procedure-calls-wallet.md#listunspent): returns an array of unspent transaction outputs belonging to this wallet. +## NewKeyPool + +:::{versionadded} 23.0.0 +::: + +:::{warning} +On non-HD wallets, this will require a new backup immediately to include the new keys. When restoring a backup of an HD wallet created before the `newkeypool` command is run, funds received to new addresses may not appear automatically. They have not been lost, but the wallet may not find them. This can be fixed by running the `newkeypool` command on the backup and then rescanning, so the wallet re-generates the required keys. +::: + +:::{note} +Requires [wallet](../resources/glossary.md#wallet) support (**unavailable on masternodes**) and an unlocked or unencrypted wallet. +::: + +The [`newkeypool` RPC](../api/remote-procedure-calls-wallet.md#newkeypool) entirely clears and refills the keypool. This command is only compatible with legacy wallets. + +_Parameters: none_ + +_Result---`null` on success_ + +| Name | Type | Presence | Description | +| -------- | ---- | ----------------------- | ------------------------------------------------- | +| `result` | null | Required
(exactly 1) | JSON `null` when the keypool is successfully cleared and refilled | + +_Example from Dash Core 23.0.0_ + +```bash +dash-cli newkeypool +``` + +(No result shown: success.) + +_See also_ + +* [KeyPoolRefill](../api/remote-procedure-calls-wallet.md#keypoolrefill): fills the cache of unused pre-generated keys (the keypool). +* [GetWalletInfo](../api/remote-procedure-calls-wallet.md#getwalletinfo): provides information about the wallet. + ## RemovePrunedFunds :::{note} @@ -3532,6 +3569,58 @@ _See also_ * [SendRawTransaction](../api/remote-procedure-calls-raw-transactions.md#sendrawtransaction): validates a transaction and broadcasts it to the peer-to-peer network. * [SignRawTransactionWithKey](../api/remote-procedure-calls-raw-transactions.md#signrawtransactionwithkey): signs inputs for a transaction in the serialized transaction format using private keys provided in the call. +## SimulateRawTransaction + +:::{versionadded} 23.0.0 +::: + +:::{note} +Requires [wallet](../resources/glossary.md#wallet) support (**unavailable on masternodes**). +::: + +The [`simulaterawtransaction` RPC](../api/remote-procedure-calls-wallet.md#simulaterawtransaction) calculates the balance change resulting from signing and broadcasting the given transaction(s). + +_Parameter #1---raw transactions_ + +| Name | Type | Presence | Description | +| ------------- | ------ | -------------------- | -------------------------------------- | +| `rawtxs` | array | Optional
(0 or 1) | An array of hex strings of raw transactions | +| →
Raw Transaction | string | Optional
(0 or more) | A hex-encoded raw transaction | + +_Parameter #2---options_ + +| Name | Type | Presence | Description | +| ------------------------- | ------- | -------------------- | ------------------------------------------------------------------ | +| `options` | object | Optional
(0 or 1) | Options | +| →
`include_watchonly` | bool | Optional
(0 or 1) | Whether to include watch-only addresses (default=true for watch-only wallets, otherwise false) | + +_Result---balance change_ + +| Name | Type | Presence | Description | +| ----------------- | ------- | ----------------------- | ------------------------------------------------------------- | +| `result` | object | Required
(exactly 1) | The simulation result | +| →
`balance_change` | number | Required
(exactly 1) | The wallet balance change (negative means decrease) | + +_Example from Dash Core 23.0.0_ + +```bash +dash-cli simulaterawtransaction '["02000000000100205fa0120000001976a914485485425fa99504ec1638ac4213f3cfc9f32ef388ac00000000"]' +``` + +Result: + +```json +{ + "balance_change": 0.00000000 +} +``` + +_See also_ + +* [CreateRawTransaction](../api/remote-procedure-calls-raw-transactions.md#createrawtransaction): creates an unsigned serialized transaction that spends a previous output to a new output with a P2PKH or P2SH address. +* [SignRawTransactionWithWallet](../api/remote-procedure-calls-wallet.md#signrawtransactionwithwallet): signs a transaction in the serialized transaction format using private keys stored in the wallet. +* [SendRawTransaction](../api/remote-procedure-calls-raw-transactions.md#sendrawtransaction): validates a transaction and broadcasts it to the peer-to-peer network. + ## UnloadWallet :::{note} From 9d249fb6c07587f1d98c83a68796d7eb8da2b46b Mon Sep 17 00:00:00 2001 From: thephez Date: Mon, 10 Nov 2025 10:41:25 -0500 Subject: [PATCH 19/25] chore: add core 23.0.0 cli help output --- .../core-rpc-tools/dash-cli-help-23.0.0.jsonl | 244 ++++++++++++++++++ 1 file changed, 244 insertions(+) create mode 100644 scripts/core-rpc-tools/dash-cli-help-23.0.0.jsonl diff --git a/scripts/core-rpc-tools/dash-cli-help-23.0.0.jsonl b/scripts/core-rpc-tools/dash-cli-help-23.0.0.jsonl new file mode 100644 index 000000000..9a60161e7 --- /dev/null +++ b/scripts/core-rpc-tools/dash-cli-help-23.0.0.jsonl @@ -0,0 +1,244 @@ +{"metadata":{"version":"23.0.0","network_args":"-testnet","cli_path":"/home/phez/code/dash/src/dash-cli","generated_utc":"2025-11-10T14:58:37Z","command_count":180,"format":"dash-cli-help-dump-v1"}} +{"command":"abandontransaction","subcommand":null,"qualified":"abandontransaction","signature_tail":"\"txid\"","is_family":false,"help_raw":"abandontransaction \"txid\"\n\nMark in-wallet transaction as abandoned\nThis will mark this transaction and all its in-wallet descendants as abandoned which will allow\nfor their inputs to be respent. It can be used to replace \"stuck\" or evicted transactions.\nIt only works on transactions which are not included in a block and are not currently in the mempool.\nIt has no effect on transactions which are already abandoned.\n\nArguments:\n1. txid (string, required) The transaction id\n\nResult:\nnull (json null)\n\nExamples:\n> dash-cli abandontransaction \"1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"abandontransaction\", \"params\": [\"1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"53d30b53e1c2e7cbc094c484656c0c977ecc64175c718a13f0a941e955afdf1e"} +{"command":"abortrescan","subcommand":null,"qualified":"abortrescan","signature_tail":"","is_family":false,"help_raw":"abortrescan\n\nStops current wallet rescan triggered by an RPC call, e.g. by an importprivkey call.\n\nResult:\ntrue|false (boolean) Whether the abort was successful\n\nExamples:\n\nImport a private key\n> dash-cli importprivkey \"mykey\"\n\nAbort the running wallet rescan\n> dash-cli abortrescan \n\nAs a JSON-RPC call\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"abortrescan\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"fb7510162398538589ada914ef54e7b8bbf3d28c10361bec58553bfb6a5e8a2f"} +{"command":"addmultisigaddress","subcommand":null,"qualified":"addmultisigaddress","signature_tail":"nrequired [\"key\",...] ( \"label\" )","is_family":false,"help_raw":"addmultisigaddress nrequired [\"key\",...] ( \"label\" )\n\nAdd an nrequired-to-sign multisignature address to the wallet. Requires a new wallet backup.\nEach key is a Dash address or hex-encoded public key.\nThis functionality is only intended for use with non-watchonly addresses.\nSee `importaddress` for watchonly p2sh address support.\nIf 'label' is specified, assign address to that label.\nNote: This command is only compatible with legacy wallets.\n\nArguments:\n1. nrequired (numeric, required) The number of required signatures out of the n keys or addresses.\n2. keys (json array, required) The Dash addresses or hex-encoded public keys\n [\n \"key\", (string) Dash address or hex-encoded public key\n ...\n ]\n3. label (string, optional) A label to assign the addresses to.\n\nResult:\n{ (json object)\n \"address\" : \"str\", (string) The value of the new multisig address\n \"redeemScript\" : \"hex\", (string) The string value of the hex-encoded redemption script\n \"descriptor\" : \"str\" (string) The descriptor for this multisig.\n}\n\nExamples:\n\nAdd a multisig address from 2 addresses\n> dash-cli addmultisigaddress 2 \"[\\\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\\\",\\\"XwQQkwA4FYkq2XERzMY2CiAZhJTEDAbtc0\\\"]\"\n\nAs a JSON-RPC call\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"addmultisigaddress\", \"params\": [2, \"[\\\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\\\",\\\"XwQQkwA4FYkq2XERzMY2CiAZhJTEDAbtc0\\\"]\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"8be6b611f02002e82e12d2f419934a60a313330537a1f6ce5ca71ce3575f5ba6"} +{"command":"addnode","subcommand":null,"qualified":"addnode","signature_tail":"\"node\" \"command\" ( v2transport )","is_family":false,"help_raw":"addnode \"node\" \"command\" ( v2transport )\n\nAttempts to add or remove a node from the addnode list.\nOr try a connection to a node once.\nNodes added using addnode (or -connect) are protected from DoS disconnection and are not required to be\nfull nodes as other outbound peers are (though such peers will not be synced from).\nAddnode connections are limited to 8 at a time and are counted separately from the -maxconnections limit.\n\nArguments:\n1. node (string, required) The address of the peer to connect to\n2. command (string, required) 'add' to add a node to the list, 'remove' to remove a node from the list, 'onetry' to try a connection to the node once\n3. v2transport (boolean, optional, default=set by -v2transport) Attempt to connect using BIP324 v2 transport protocol (ignored for 'remove' command)\n\nResult:\nnull (json null)\n\nExamples:\n> dash-cli addnode \"192.168.0.6:9999\" \"onetry\" true\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"addnode\", \"params\": [\"192.168.0.6:9999\", \"onetry\" true]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"1f02b5f111d7dfdc2cf8a95d804feb4a4f869be55bad06ccf9ee81b69ff47142"} +{"command":"analyzepsbt","subcommand":null,"qualified":"analyzepsbt","signature_tail":"\"psbt\"","is_family":false,"help_raw":"analyzepsbt \"psbt\"\n\nAnalyzes and provides information about the current status of a PSBT and its inputs\n\nArguments:\n1. psbt (string, required) A base64 string of a PSBT\n\nResult:\n{ (json object)\n \"inputs\" : [ (json array, optional)\n { (json object)\n \"has_utxo\" : true|false, (boolean) Whether a UTXO is provided\n \"is_final\" : true|false, (boolean) Whether the input is finalized\n \"missing\" : { (json object, optional) Things that are missing that are required to complete this input\n \"pubkeys\" : [ (json array, optional)\n \"hex\", (string) Public key ID, hash160 of the public key, of a public key whose BIP 32 derivation path is missing\n ...\n ],\n \"signatures\" : [ (json array, optional)\n \"hex\", (string) Public key ID, hash160 of the public key, of a public key whose signature is missing\n ...\n ],\n \"redeemscript\" : \"hex\" (string, optional) Hash160 of the redeemScript that is missing\n },\n \"next\" : \"str\" (string, optional) Role of the next person that this input needs to go to\n },\n ...\n ],\n \"estimated_vsize\" : n, (numeric, optional) Estimated vsize of the final signed transaction\n \"estimated_feerate\" : n, (numeric, optional) Estimated feerate of the final signed transaction in DASH/kB. Shown only if all UTXO slots in the PSBT have been filled\n \"fee\" : n, (numeric, optional) The transaction fee paid. Shown only if all UTXO slots in the PSBT have been filled\n \"next\" : \"str\", (string) Role of the next person that this psbt needs to go to\n \"error\" : \"str\" (string, optional) Error message if there is one\n}\n\nExamples:\n> dash-cli analyzepsbt \"psbt\"","help_sha256":"6aa2f9dfea1df05f6ceb48a04762bfe63c61c513c73832d07c8ad57bb2abf7d7"} +{"command":"backupwallet","subcommand":null,"qualified":"backupwallet","signature_tail":"\"destination\"","is_family":false,"help_raw":"backupwallet \"destination\"\n\nSafely copies current wallet file to destination, which can be a directory or a path with filename.\n\nArguments:\n1. destination (string, required) The destination directory or file\n\nResult:\nnull (json null)\n\nExamples:\n> dash-cli backupwallet \"backup.dat\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"backupwallet\", \"params\": [\"backup.dat\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"2d2b8952142144a72be34de58813314e9b4b619be7a8f26394b13aa3b3fb422b"} +{"command":"bls","subcommand":null,"qualified":"bls","signature_tail":"\"command\"","is_family":false,"help_raw":"bls \"command\"\n\nSet of commands to execute BLS related actions.\nTo get help on individual commands, use \"help bls command\".\n\nAvailable commands:\n generate - Create a BLS secret/public key pair\n fromsecret - Parse a BLS secret key and return the secret/public key pair\n\nArguments:\n1. command (string, required) The command to execute","help_sha256":"7a2ae78fe452c14fd772576bc0a899531d62a02091227f79e6d89d3e3e0283f4"} +{"command":"bls","subcommand":"fromsecret","qualified":"bls fromsecret","signature_tail":"\"command\"","is_family":true,"help_raw":"bls fromsecret \"secret\" ( legacy )\n\nParses a BLS secret key and returns the secret/public key pair.\n\nArguments:\n1. secret (string, required) The BLS secret key\n2. legacy (boolean, optional, default=false) Pass true if you need in legacy scheme\n\nResult:\n{ (json object)\n \"secret\" : \"hex\", (string) BLS secret key\n \"public\" : \"hex\", (string) BLS public key\n \"scheme\" : \"hex\" (string) BLS scheme (valid schemes: legacy, basic)\n}\n\nExamples:\n> dash-cli bls fromsecret 000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f","help_sha256":"c3f5e65cc75858743a374e5e668b1216cced8fb589da7476333fdaed2578f9fa"} +{"command":"bls","subcommand":"generate","qualified":"bls generate","signature_tail":"\"command\"","is_family":true,"help_raw":"bls generate ( legacy )\n\nReturns a BLS secret/public key pair.\n\nArguments:\n1. legacy (boolean, optional, default=false) (DEPRECATED, can be set if -deprecatedrpc=legacy_mn is passed) Set true to use legacy BLS scheme\n\nResult:\n{ (json object)\n \"secret\" : \"hex\", (string) BLS secret key\n \"public\" : \"hex\", (string) BLS public key\n \"scheme\" : \"hex\" (string) BLS scheme (valid schemes: legacy, basic)\n}\n\nExamples:\n> dash-cli bls generate ","help_sha256":"dcd42661eede62ddfa0a6895171befe4df605f037bba20c1c3aaea295cc6ca01"} +{"command":"clearbanned","subcommand":null,"qualified":"clearbanned","signature_tail":"","is_family":false,"help_raw":"clearbanned\n\nClear all banned IPs.\n\nResult:\nnull (json null)\n\nExamples:\n> dash-cli clearbanned \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"clearbanned\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"29986265f75a9d04178641f78458898a05dda9031f73c8ba9578e8e9cc1374b0"} +{"command":"coinjoin","subcommand":null,"qualified":"coinjoin","signature_tail":"\"command\"","is_family":false,"help_raw":"coinjoin \"command\"\n\nAvailable commands:\n start - Start mixing\n status - Get mixing status\n stop - Stop mixing\n reset - Reset mixing\n\nArguments:\n1. command (string, required) The command to execute","help_sha256":"dc1afb4e10b689ba6c96e0fac8df20de9189f7bff626194c431db38226c00bb7"} +{"command":"coinjoin","subcommand":"reset","qualified":"coinjoin reset","signature_tail":"\"command\"","is_family":true,"help_raw":"coinjoin reset\n\nReset CoinJoin mixing\n\nResult:\n\"str\" (string) Status of request\n\nExamples:\n> dash-cli coinjoin reset \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"coinjoin reset\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"d3df617bd4be53c893f67e9be46e9632315c21f68ba6ebad259653726a5e210d"} +{"command":"coinjoin","subcommand":"start","qualified":"coinjoin start","signature_tail":"\"command\"","is_family":true,"help_raw":"coinjoin start\n\nStart CoinJoin mixing\nWallet must be unlocked for mixing\n\nResult:\n\"str\" (string) Status of request\n\nExamples:\n> dash-cli coinjoin start \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"coinjoin start\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"71111243036bb9c3e108a4cbec0e18e7475429f88c682a869b39bd6158659bab"} +{"command":"coinjoin","subcommand":"status","qualified":"coinjoin status","signature_tail":"\"command\"","is_family":true,"help_raw":"coinjoin status\n\nGet status on CoinJoin mixing sessions\n\nResult:\n[ (json array)\n \"str\", (string) Status of mixing session\n ...\n]\n\nExamples:\n> dash-cli coinjoin status \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"coinjoin status\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"ee70886d5ac6ec3182d556c9ab903a7bb0d4fa849da1000e6925b7ce5f71cf9e"} +{"command":"coinjoin","subcommand":"stop","qualified":"coinjoin stop","signature_tail":"\"command\"","is_family":true,"help_raw":"coinjoin stop\n\nStop CoinJoin mixing\n\nResult:\n\"str\" (string) Status of request\n\nExamples:\n> dash-cli coinjoin stop \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"coinjoin stop\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"1e92aed4ba7e9f8d814460a58b9be7d223841e532927f8eee3f43ad3765c1793"} +{"command":"coinjoinsalt","subcommand":null,"qualified":"coinjoinsalt","signature_tail":"\"command\"","is_family":false,"help_raw":"coinjoinsalt \"command\"\n\nAvailable commands:\n generate - Generate new CoinJoin salt\n get - Fetch existing CoinJoin salt\n set - Set new CoinJoin salt\n\nArguments:\n1. command (string, required) The command to execute","help_sha256":"cf554b7ce8bbfd0a3787fa1d6cb512982efe51937b7e5744ef507924dc4e52e3"} +{"command":"coinjoinsalt","subcommand":"generate","qualified":"coinjoinsalt generate","signature_tail":"\"command\"","is_family":true,"help_raw":"coinjoinsalt generate ( overwrite )\n\nGenerate new CoinJoin salt and store it in the wallet database\nCannot generate new salt if CoinJoin mixing is in process or wallet has private keys disabled.\n\nArguments:\n1. overwrite (boolean, optional, default=false) Generate new salt even if there is an existing salt and/or there is CoinJoin balance\n\nResult:\ntrue|false (boolean) Status of CoinJoin salt generation and commitment\n\nExamples:\n> dash-cli coinjoinsalt generate \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"coinjoinsalt generate\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"462b4a90983e917bd5f8a8285083b1d5285141ac86ac91ad4357707974d28680"} +{"command":"coinjoinsalt","subcommand":"get","qualified":"coinjoinsalt get","signature_tail":"\"command\"","is_family":true,"help_raw":"coinjoinsalt get\n\nFetch existing CoinJoin salt\nCannot fetch salt if wallet has private keys disabled.\n\nResult:\n\"hex\" (string) CoinJoin salt\n\nExamples:\n> dash-cli coinjoinsalt get \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"coinjoinsalt get\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"aba473af85b79573865da9bf98bcb4aba9513e02d6a3af28131e0f4c00889687"} +{"command":"coinjoinsalt","subcommand":"set","qualified":"coinjoinsalt set","signature_tail":"\"command\"","is_family":true,"help_raw":"coinjoinsalt set \"salt\" ( overwrite )\n\nSet new CoinJoin salt\nCannot set salt if CoinJoin mixing is in process or wallet has private keys disabled.\nWill overwrite existing salt. The presence of a CoinJoin balance will cause the wallet to rescan.\n\nArguments:\n1. salt (string, required) Desired CoinJoin salt value for the wallet\n2. overwrite (boolean, optional, default=false) Overwrite salt even if CoinJoin balance present\n\nResult:\ntrue|false (boolean) Status of CoinJoin salt change request\n\nExamples:\n> dash-cli coinjoinsalt set f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"coinjoinsalt set\", \"params\": [f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"e7bf3606bfaa8203a8aa6c9ab899608b80cff37e7567737632c2b1db242b8a04"} +{"command":"combinepsbt","subcommand":null,"qualified":"combinepsbt","signature_tail":"[\"psbt\",...]","is_family":false,"help_raw":"combinepsbt [\"psbt\",...]\n\nCombine multiple partially signed blockchain transactions into one transaction.\nImplements the Combiner role.\n\nArguments:\n1. txs (json array, required) The base64 strings of partially signed transactions\n [\n \"psbt\", (string) A base64 string of a PSBT\n ...\n ]\n\nResult:\n\"str\" (string) The base64-encoded partially signed transaction\n\nExamples:\n> dash-cli combinepsbt '[\"mybase64_1\", \"mybase64_2\", \"mybase64_3\"]'","help_sha256":"34be5e755733b5238a8d859baf28d23abc5424fbf4f6d4b050885ea7c0db7c6f"} +{"command":"combinerawtransaction","subcommand":null,"qualified":"combinerawtransaction","signature_tail":"[\"hexstring\",...]","is_family":false,"help_raw":"combinerawtransaction [\"hexstring\",...]\n\nCombine multiple partially signed transactions into one transaction.\nThe combined transaction may be another partially signed transaction or a \nfully signed transaction.\n\nArguments:\n1. txs (json array, required) The of hex strings of partially signed transactions\n [\n \"hexstring\", (string) A hex-encoded raw transaction\n ...\n ]\n\nResult:\n\"str\" (string) The hex-encoded raw transaction with signature(s)\n\nExamples:\n> dash-cli combinerawtransaction '[\"myhex1\", \"myhex2\", \"myhex3\"]'","help_sha256":"ff83a90022e47ba62a7e8b2275456aa2fcf12f0408b5275ea8aaa3b113819efa"} +{"command":"converttopsbt","subcommand":null,"qualified":"converttopsbt","signature_tail":"\"hexstring\" ( permitsigdata )","is_family":false,"help_raw":"converttopsbt \"hexstring\" ( permitsigdata )\n\nConverts a network serialized transaction to a PSBT. This should be used only with createrawtransaction and fundrawtransaction\ncreatepsbt and walletcreatefundedpsbt should be used for new applications.\n\nArguments:\n1. hexstring (string, required) The hex string of a raw transaction\n2. permitsigdata (boolean, optional, default=false) If true, any signatures in the input will be discarded and conversion\n will continue. If false, RPC will fail if any signatures are present.\n\nResult:\n\"str\" (string) The resulting raw transaction (base64-encoded string)\n\nExamples:\n\nCreate a transaction\n> dash-cli createrawtransaction \"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\" \"[{\\\"data\\\":\\\"00010203\\\"}]\"\n\nConvert the transaction to a PSBT\n> dash-cli converttopsbt \"rawtransaction\"","help_sha256":"8503644a5353ce0e1a83c109e266f42671bf8d5ac689f38c195903f6ed977889"} +{"command":"createmultisig","subcommand":null,"qualified":"createmultisig","signature_tail":"nrequired [\"key\",...]","is_family":false,"help_raw":"createmultisig nrequired [\"key\",...]\n\nCreates a multi-signature address with n signature of m keys required.\nIt returns a json object with the address and redeemScript.\n\nArguments:\n1. nrequired (numeric, required) The number of required signatures out of the n keys.\n2. keys (json array, required) The hex-encoded public keys.\n [\n \"key\", (string) The hex-encoded public key\n ...\n ]\n\nResult:\n{ (json object)\n \"address\" : \"str\", (string) The value of the new multisig address.\n \"redeemScript\" : \"hex\", (string) The string value of the hex-encoded redemption script.\n \"descriptor\" : \"str\" (string) The descriptor for this multisig.\n}\n\nExamples:\n\nCreate a multisig address from 2 public keys\n> dash-cli createmultisig 2 \"[\\\"03789ed0bb717d88f7d321a368d905e7430207ebbd82bd342cf11ae157a7ace5fd\\\",\\\"03dbc6764b8884a92e871274b87583e6d5c2a58819473e17e107ef3f6aa5a61626\\\"]\"\n\nAs a JSON-RPC call\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"createmultisig\", \"params\": [2, [\"03789ed0bb717d88f7d321a368d905e7430207ebbd82bd342cf11ae157a7ace5fd\",\"03dbc6764b8884a92e871274b87583e6d5c2a58819473e17e107ef3f6aa5a61626\"]]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"0f9d3eb297ca438edc563e2169679d75e79ff2c8b44ad246c23b575b2966d7a8"} +{"command":"createpsbt","subcommand":null,"qualified":"createpsbt","signature_tail":"[{\"txid\":\"hex\",\"vout\":n,\"sequence\":n},...] [{\"address\":amount,...},{\"data\":\"hex\"},...] ( locktime )","is_family":false,"help_raw":"createpsbt [{\"txid\":\"hex\",\"vout\":n,\"sequence\":n},...] [{\"address\":amount,...},{\"data\":\"hex\"},...] ( locktime )\n\nCreates a transaction in the Partially Signed Transaction format.\nImplements the Creator role.\n\nArguments:\n1. inputs (json array, required) The inputs\n [\n { (json object)\n \"txid\": \"hex\", (string, required) The transaction id\n \"vout\": n, (numeric, required) The output number\n \"sequence\": n, (numeric, optional, default=depends on the value of the 'locktime' argument) The sequence number\n },\n ...\n ]\n2. outputs (json array, required) The outputs (key-value pairs), where none of the keys are duplicated.\n That is, each address can only appear once and there can only be one 'data' object.\n For compatibility reasons, a dictionary, which holds the key-value pairs directly, is also\n accepted as second parameter.\n [\n { (json object)\n \"address\": amount, (numeric or string, required) A key-value pair. The key (string) is the Dash address, the value (float or string) is the amount in DASH\n ...\n },\n { (json object)\n \"data\": \"hex\", (string, required) A key-value pair. The key must be \"data\", the value is hex-encoded data\n },\n ...\n ]\n3. locktime (numeric, optional, default=0) Raw locktime. Non-0 value also locktime-activates inputs\n\nResult:\n\"str\" (string) The resulting raw transaction (base64-encoded string)\n\nExamples:\n> dash-cli createpsbt \"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\" \"[{\\\"data\\\":\\\"00010203\\\"}]\"","help_sha256":"30c02c4d8982514905b56602b468e84d6b44655dfe4a4ba9b4c4372b133257c0"} +{"command":"createrawtransaction","subcommand":null,"qualified":"createrawtransaction","signature_tail":"[{\"txid\":\"hex\",\"vout\":n,\"sequence\":n},...] [{\"address\":amount,...},{\"data\":\"hex\"},...] ( locktime )","is_family":false,"help_raw":"createrawtransaction [{\"txid\":\"hex\",\"vout\":n,\"sequence\":n},...] [{\"address\":amount,...},{\"data\":\"hex\"},...] ( locktime )\n\nCreate a transaction spending the given inputs and creating new outputs.\nOutputs can be addresses or data.\nReturns hex-encoded raw transaction.\nNote that the transaction's inputs are not signed, and\nit is not stored in the wallet or transmitted to the network.\n\nArguments:\n1. inputs (json array, required) The inputs\n [\n { (json object)\n \"txid\": \"hex\", (string, required) The transaction id\n \"vout\": n, (numeric, required) The output number\n \"sequence\": n, (numeric, optional, default=depends on the value of the 'locktime' argument) The sequence number\n },\n ...\n ]\n2. outputs (json array, required) The outputs (key-value pairs), where none of the keys are duplicated.\n That is, each address can only appear once and there can only be one 'data' object.\n For compatibility reasons, a dictionary, which holds the key-value pairs directly, is also\n accepted as second parameter.\n [\n { (json object)\n \"address\": amount, (numeric or string, required) A key-value pair. The key (string) is the Dash address, the value (float or string) is the amount in DASH\n ...\n },\n { (json object)\n \"data\": \"hex\", (string, required) A key-value pair. The key must be \"data\", the value is hex-encoded data\n },\n ...\n ]\n3. locktime (numeric, optional, default=0) Raw locktime. Non-0 value also locktime-activates inputs\n\nResult:\n\"hex\" (string) hex string of the transaction\n\nExamples:\n> dash-cli createrawtransaction \"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\" \"[{\\\"address\\\":0.01}]\"\n> dash-cli createrawtransaction \"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\" \"[{\\\"data\\\":\\\"00010203\\\"}]\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"createrawtransaction\", \"params\": [\"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\", \"[{\\\"address\\\":0.01}]\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"createrawtransaction\", \"params\": [\"[{\\\"txid\\\":\\\"myid\\\",\\\"vout\\\":0}]\", \"[{\\\"data\\\":\\\"00010203\\\"}]\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"5774d8b78f1ffc81f5e4422a08c14b8f4cc28a46f37a8f24db99a5d1a47632aa"} +{"command":"createwallet","subcommand":null,"qualified":"createwallet","signature_tail":"\"wallet_name\" ( disable_private_keys blank \"passphrase\" avoid_reuse descriptors load_on_startup )","is_family":false,"help_raw":"createwallet \"wallet_name\" ( disable_private_keys blank \"passphrase\" avoid_reuse descriptors load_on_startup )\n\nCreates and loads a new wallet.\n\nArguments:\n1. wallet_name (string, required) The name for the new wallet. If this is a path, the wallet will be created at the path location.\n2. disable_private_keys (boolean, optional, default=false) Disable the possibility of private keys (only watchonlys are possible in this mode).\n3. blank (boolean, optional, default=false) Create a blank wallet. A blank wallet has no keys or HD seed. One can be set using upgradetohd (by mnemonic) or sethdseed (WIF private key).\n4. passphrase (string, optional) Encrypt the wallet with this passphrase.\n5. avoid_reuse (boolean, optional, default=false) Keep track of coin reuse, and treat dirty and clean coins differently with privacy considerations in mind.\n6. descriptors (boolean, optional, default=false) Create a native descriptor wallet. The wallet will use descriptors internally to handle address creation. This feature is well-tested but still considered experimental.\n7. load_on_startup (boolean, optional) Save wallet name to persistent settings and load on startup. True to add wallet to startup list, false to remove, null to leave unchanged.\n\nResult:\n{ (json object)\n \"name\" : \"str\", (string) The wallet name if created successfully. If the wallet was created using a full path, the wallet_name will be the full path.\n \"warning\" : \"str\" (string) Warning message if wallet was not loaded cleanly.\n}\n\nExamples:\n> dash-cli createwallet \"testwallet\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"createwallet\", \"params\": [\"testwallet\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/\n> dash-cli -named createwallet wallet_name=descriptors avoid_reuse=true descriptors=true load_on_startup=true\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"createwallet\", \"params\": {\"wallet_name\":\"descriptors\",\"avoid_reuse\":true,\"descriptors\":true,\"load_on_startup\":true}}' -H 'content-type: text/plain;' http://127.0.0.1:8332/","help_sha256":"4b812f7b5707e2985ea9b96dfabc35ffcc85f3941bb29ac5b5e4519100c375de"} +{"command":"debug","subcommand":null,"qualified":"debug","signature_tail":"\"category\"","is_family":false,"help_raw":"debug \"category\"\n\nChange debug category on the fly. Specify single category or use '+' to specify many.\nThe valid logging categories are: addrman, bench, blockstorage, chainlocks, cmpctblock, coindb, coinjoin, creditpool, ehf, estimatefee, gobject, http, i2p, instantsend, ipc, leveldb, libevent, llmq, llmq-dkg, llmq-sigs, mempool, mempoolrej, mnpayments, mnsync, net, netconn, proxy, prune, qt, rand, reindex, rpc, selectcoins, spork, tor, txreconciliation, validation, walletdb, zmq.\nlibevent logging is configured on startup and cannot be modified by this RPC during runtime.\nThere are also a few meta-categories:\n - \"all\", \"1\" and \"\" activate all categories at once;\n - \"dash\" activates all Dash-specific categories at once;\n - \"none\" (or \"0\") deactivates all categories at once.\nNote: If specified category doesn't match any of the above, no error is thrown.\nNote: Consider using 'logging' RPC which has more features.\n - For 'debug all': logging [\\\"all\\\"]\n - For 'debug none': logging []\n - For 'debug X+Y': logging '[\"X\", \"Y\"]'\n\nArguments:\n1. category (string, required) The name of the debug category to turn on.\n\nResult:\n\"str\" (string) \"Debug mode: \" followed by the specified category\n\nExamples:\n> dash-cli debug dash\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"debug\", \"params\": [dash+net]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"6b61041b8fded816bf4b12feb2cf99d5b5c59faed7c7308ab09784f4119db875"} +{"command":"decodepsbt","subcommand":null,"qualified":"decodepsbt","signature_tail":"\"psbt\"","is_family":false,"help_raw":"decodepsbt \"psbt\"\n\nReturn a JSON object representing the serialized, base64-encoded partially signed blockchain transaction.\n\nArguments:\n1. psbt (string, required) The PSBT base64 string\n\nResult:\n{ (json object)\n \"tx\" : { (json object) The decoded network-serialized unsigned transaction.\n ... The layout is the same as the output of decoderawtransaction.\n },\n \"global_xpubs\" : [ (json array)\n { (json object)\n \"xpub\" : \"str\", (string) The extended public key this path corresponds to\n \"master_fingerprint\" : \"hex\", (string) The fingerprint of the master key\n \"path\" : \"str\" (string) The path\n },\n ...\n ],\n \"psbt_version\" : n, (numeric) The PSBT version number. Not to be confused with the unsigned transaction version\n \"proprietary\" : [ (json array) The global proprietary map\n { (json object)\n \"identifier\" : \"hex\", (string) The hex string for the proprietary identifier\n \"subtype\" : n, (numeric) The number for the subtype\n \"key\" : \"hex\", (string) The hex for the key\n \"value\" : \"hex\" (string) The hex for the value\n },\n ...\n ],\n \"unknown\" : { (json object) The unknown global fields\n \"key\" : \"hex\", (string) (key-value pair) An unknown key-value pair\n ...\n },\n \"inputs\" : [ (json array)\n { (json object)\n \"non_witness_utxo\" : { (json object, optional) Decoded network transaction for non-witness UTXOs\n ...\n },\n \"partial_signatures\" : { (json object, optional)\n \"pubkey\" : \"str\", (string) The public key and signature that corresponds to it.\n ...\n },\n \"sighash\" : \"str\", (string, optional) The sighash type to be used\n \"redeem_script\" : { (json object, optional)\n \"asm\" : \"str\", (string) The asm\n \"hex\" : \"hex\", (string) The hex\n \"type\" : \"str\" (string) The type, eg 'pubkeyhash'\n },\n \"bip32_derivs\" : [ (json array, optional)\n { (json object)\n \"pubkey\" : \"str\", (string) The public key with the derivation path as the value.\n \"master_fingerprint\" : \"str\", (string) The fingerprint of the master key\n \"path\" : \"str\" (string) The path\n },\n ...\n ],\n \"final_scriptSig\" : { (json object, optional)\n \"asm\" : \"str\", (string) The asm\n \"hex\" : \"hex\" (string) The hex\n },\n \"ripemd160_preimages\" : { (json object, optional)\n \"hash\" : \"str\", (string) The hash and preimage that corresponds to it.\n ...\n },\n \"sha256_preimages\" : { (json object, optional)\n \"hash\" : \"str\", (string) The hash and preimage that corresponds to it.\n ...\n },\n \"hash160_preimages\" : { (json object, optional)\n \"hash\" : \"str\", (string) The hash and preimage that corresponds to it.\n ...\n },\n \"hash256_preimages\" : { (json object, optional)\n \"hash\" : \"str\", (string) The hash and preimage that corresponds to it.\n ...\n },\n \"unknown\" : { (json object, optional) The unknown input fields\n \"key\" : \"hex\", (string) (key-value pair) An unknown key-value pair\n ...\n },\n \"proprietary\" : [ (json array, optional) The input proprietary map\n { (json object)\n \"identifier\" : \"hex\", (string) The hex string for the proprietary identifier\n \"subtype\" : n, (numeric) The number for the subtype\n \"key\" : \"hex\", (string) The hex for the key\n \"value\" : \"hex\" (string) The hex for the value\n },\n ...\n ]\n },\n ...\n ],\n \"outputs\" : [ (json array)\n { (json object)\n \"redeem_script\" : { (json object, optional)\n \"asm\" : \"str\", (string) The asm\n \"hex\" : \"hex\", (string) The hex\n \"type\" : \"str\" (string) The type, eg 'pubkeyhash'\n },\n \"bip32_derivs\" : [ (json array, optional)\n { (json object)\n \"pubkey\" : \"str\", (string) The public key this path corresponds to\n \"master_fingerprint\" : \"str\", (string) The fingerprint of the master key\n \"path\" : \"str\" (string) The path\n },\n ...\n ],\n \"unknown\" : { (json object, optional) The unknown global fields\n \"key\" : \"hex\", (string) (key-value pair) An unknown key-value pair\n ...\n },\n \"proprietary\" : [ (json array, optional) The output proprietary map\n { (json object)\n \"identifier\" : \"hex\", (string) The hex string for the proprietary identifier\n \"subtype\" : n, (numeric) The number for the subtype\n \"key\" : \"hex\", (string) The hex for the key\n \"value\" : \"hex\" (string) The hex for the value\n },\n ...\n ]\n },\n ...\n ],\n \"fee\" : n (numeric, optional) The transaction fee paid if all UTXOs slots in the PSBT have been filled.\n}\n\nExamples:\n> dash-cli decodepsbt \"psbt\"","help_sha256":"c3eaa4650f1205481757f550ce04f6ba2a9bad0927f2e18753e45a5c9ade2aa4"} +{"command":"decoderawtransaction","subcommand":null,"qualified":"decoderawtransaction","signature_tail":"\"hexstring\"","is_family":false,"help_raw":"decoderawtransaction \"hexstring\"\n\nReturn a JSON object representing the serialized, hex-encoded transaction.\n\nArguments:\n1. hexstring (string, required) The transaction hex string\n\nResult:\n{ (json object)\n \"txid\" : \"hex\", (string) The transaction id\n \"size\" : n, (numeric) The serialized transaction size\n \"version\" : n, (numeric) The version\n \"type\" : n, (numeric) The type\n \"locktime\" : xxx, (numeric) The lock time\n \"vin\" : [ (json array)\n { (json object)\n \"coinbase\" : \"hex\", (string, optional) The coinbase value (only if coinbase transaction)\n \"txid\" : \"hex\", (string, optional) The transaction id (if not coinbase transaction)\n \"vout\" : n, (numeric, optional) The output number (if not coinbase transaction)\n \"scriptSig\" : { (json object, optional) The script (if not coinbase transaction)\n \"asm\" : \"str\", (string) asm\n \"hex\" : \"hex\" (string) hex\n },\n \"sequence\" : n (numeric) The script sequence number\n },\n ...\n ],\n \"vout\" : [ (json array)\n { (json object)\n \"value\" : n, (numeric) The value in DASH\n \"n\" : n, (numeric) index\n \"scriptPubKey\" : { (json object)\n \"asm\" : \"str\", (string) the asm\n \"desc\" : \"str\", (string) Inferred descriptor for the output\n \"hex\" : \"hex\", (string) the hex\n \"type\" : \"str\", (string) The type, eg 'pubkeyhash'\n \"address\" : \"str\" (string, optional) The Dash address (only if a well-defined address exists)\n }\n },\n ...\n ],\n \"extraPayloadSize\" : n, (numeric, optional) Size of DIP2 extra payload. Only present if it's a special TX\n \"extraPayload\" : \"hex\", (string, optional) Hex-encoded DIP2 extra payload data. Only present if it's a special TX\n \"proRegTx\" : { (json object, optional) The masternode registration special transaction\n \"version\" : n, (numeric) Special transaction version\n \"type\" : n, (numeric) Masternode type\n \"collateralHash\" : \"hex\", (string) Collateral transaction hash\n \"collateralIndex\" : n, (numeric) Collateral transaction output index\n \"service\" : \"str\", (string) (DEPRECATED) IP address and port of the masternode\n \"addresses\" : { (json object) Network addresses of the masternode\n \"core_p2p\" : [ (json array, optional) Addresses used for protocol P2P\n \"str\", (string)\n ...\n ],\n \"platform_p2p\" : [ (json array, optional) Addresses used for Platform P2P\n \"str\", (string)\n ...\n ],\n \"platform_https\" : [ (json array, optional) Addresses used for Platform HTTPS API\n \"str\", (string)\n ...\n ]\n },\n \"ownerAddress\" : \"str\", (string) Dash address used for payee updates and proposal voting\n \"votingAddress\" : \"str\", (string) Dash address used for voting\n \"payoutAddress\" : \"str\", (string, optional) Dash address used for masternode reward payments\n \"pubKeyOperator\" : \"str\", (string) BLS public key used for operator signing\n \"operatorReward\" : n, (numeric) Fraction in %% of reward shared with the operator between 0 and 10000\n \"platformNodeID\" : \"hex\", (string, optional) Node ID derived from P2P public key for Platform P2P\n \"platformP2PPort\" : n, (numeric, optional) (DEPRECATED) TCP port of Platform P2P\n \"platformHTTPPort\" : n, (numeric, optional) (DEPRECATED) TCP port of Platform HTTP API\n \"inputsHash\" : \"hex\" (string) Hash of all the outpoints of the transaction inputs\n },\n \"proUpServTx\" : { (json object, optional) The masternode update service special transaction\n \"version\" : n, (numeric) Special transaction version\n \"type\" : n, (numeric) Masternode type\n \"proTxHash\" : \"hex\", (string) Hash of the masternode's initial ProRegTx\n \"service\" : \"str\", (string) (DEPRECATED) IP address and port of the masternode\n \"addresses\" : { (json object) Network addresses of the masternode\n \"core_p2p\" : [ (json array, optional) Addresses used for protocol P2P\n \"str\", (string)\n ...\n ],\n \"platform_p2p\" : [ (json array, optional) Addresses used for Platform P2P\n \"str\", (string)\n ...\n ],\n \"platform_https\" : [ (json array, optional) Addresses used for Platform HTTPS API\n \"str\", (string)\n ...\n ]\n },\n \"operatorPayoutAddress\" : \"str\", (string, optional) Dash address used for operator reward payments\n \"platformNodeID\" : \"hex\", (string, optional) Node ID derived from P2P public key for Platform P2P\n \"platformP2PPort\" : n, (numeric, optional) (DEPRECATED) TCP port of Platform P2P\n \"platformHTTPPort\" : n, (numeric, optional) (DEPRECATED) TCP port of Platform HTTP API\n \"inputsHash\" : \"hex\" (string) Hash of all the outpoints of the transaction inputs\n },\n \"proUpRegTx\" : { (json object, optional) The masternode update registrar special transaction\n \"version\" : n, (numeric) Special transaction version\n \"proTxHash\" : \"hex\", (string) Hash of the masternode's initial ProRegTx\n \"votingAddress\" : \"str\", (string) Dash address used for voting\n \"payoutAddress\" : \"str\", (string, optional) Dash address used for masternode reward payments\n \"pubKeyOperator\" : \"str\", (string) BLS public key used for operator signing\n \"inputsHash\" : \"hex\" (string) Hash of all the outpoints of the transaction inputs\n },\n \"proUpRevTx\" : { (json object, optional) The masternode operator revocation special transaction\n \"version\" : n, (numeric) Special transaction version\n \"proTxHash\" : \"hex\", (string) Hash of the masternode's initial ProRegTx\n \"reason\" : n, (numeric) Reason for masternode service revocation\n \"inputsHash\" : \"hex\" (string, optional) Hash of all the outpoints of the transaction inputs\n },\n \"cbTx\" : { (json object, optional) The coinbase special transaction\n \"version\" : n, (numeric) Special transaction version\n \"height\" : n, (numeric) Block height\n \"merkleRootMNList\" : \"hex\", (string) Merkle root of the masternode list\n \"merkleRootQuorums\" : \"hex\", (string, optional) Merkle root of the quorum list\n \"bestCLHeightDiff\" : n, (numeric, optional) Blocks between the current block and the last known block with a ChainLock\n \"bestCLSignature\" : \"hex\", (string, optional) Best ChainLock signature known by the miner\n \"creditPoolBalance\" : n (numeric, optional) Balance in the Platform credit pool\n },\n \"qcTx\" : { (json object, optional) The quorum commitment special transaction\n \"version\" : n, (numeric) Special transaction version\n \"height\" : n, (numeric) Block height\n \"commitment\" : { (json object) The quorum commitment payload\n \"version\" : n, (numeric) Quorum commitment payload version\n \"llmqType\" : n, (numeric) Quorum type\n \"quorumHash\" : \"hex\", (string) Hash of the quorum\n \"quorumIndex\" : n, (numeric) Index of the quorum\n \"signersCount\" : n, (numeric) Number of signers for the quorum\n \"signers\" : \"hex\", (string) Bitset representing the aggregated signers\n \"validMembersCount\" : n, (numeric) Number of valid members in the quorum\n \"validMembers\" : \"hex\", (string) Bitset of valid members\n \"quorumPublicKey\" : \"hex\", (string) BLS public key of the quorum\n \"quorumVvecHash\" : \"hex\", (string) Hash of the quorum verification vector\n \"quorumSig\" : \"hex\", (string) BLS recovered threshold signature of quorum\n \"membersSig\" : \"hex\" (string) BLS signature from all included commitments\n }\n },\n \"mnhfTx\" : { (json object, optional) The masternode hard fork signal special transaction\n \"version\" : n, (numeric) Special transaction version\n \"signal\" : { (json object) The masternode hard fork payload\n \"versionBit\" : n, (numeric) Version bit associated with the hard fork\n \"quorumHash\" : \"hex\", (string) Hash of the quorum\n \"sig\" : \"hex\" (string) BLS signature by a quorum public key\n }\n },\n \"assetLockTx\" : { (json object, optional) The asset lock special transaction\n \"version\" : n, (numeric) Special transaction version\n \"creditOutputs\" : [ (json array)\n { (json object)\n \"value\" : n, (numeric) The value in Dash\n \"valueSat\" : n, (numeric) The value in duffs\n \"scriptPubKey\" : { (json object)\n \"asm\" : \"str\", (string) The asm\n \"hex\" : \"hex\", (string) The hex\n \"type\" : \"str\" (string) The type, eg 'pubkeyhash'\n }\n },\n ...\n ]\n },\n \"assetUnlockTx\" : { (json object, optional) The asset unlock special transaction\n \"version\" : n, (numeric) Special transaction version\n \"index\" : n, (numeric) Index of the transaction\n \"fee\" : n, (numeric) Transaction fee in duffs awarded to the miner\n \"requestedHeight\" : n, (numeric) Payment chain block height known by Platform when signing the withdrawal\n \"quorumHash\" : \"hex\", (string) Hash of the quorum\n \"quorumSig\" : \"hex\" (string) BLS recovered threshold signature of quorum\n }\n}\n\nExamples:\n> dash-cli decoderawtransaction \"hexstring\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"decoderawtransaction\", \"params\": [\"hexstring\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"0c7a87b46e05ebcae7d730b758b5dd162a19f2a33989312ca298fbb096fd3605"} +{"command":"decodescript","subcommand":null,"qualified":"decodescript","signature_tail":"\"hexstring\"","is_family":false,"help_raw":"decodescript \"hexstring\"\n\nDecode a hex-encoded script.\n\nArguments:\n1. hexstring (string, required) the hex-encoded script\n\nResult:\n{ (json object)\n \"asm\" : \"str\", (string) Script public key\n \"desc\" : \"str\", (string) Inferred descriptor for the script\n \"type\" : \"str\", (string) The output type (e.g. nonstandard, pubkey, pubkeyhash, scripthash, multisig, nulldata)\n \"address\" : \"str\" (string, optional) The Dash address (only if a well-defined address exists)\n}\n\nExamples:\n> dash-cli decodescript \"hexstring\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"decodescript\", \"params\": [\"hexstring\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"cadd8d42c79129aefc0453e6bf5612a45d7a5a189b9a239fa4c06747eef54d05"} +{"command":"deriveaddresses","subcommand":null,"qualified":"deriveaddresses","signature_tail":"\"descriptor\" ( range )","is_family":false,"help_raw":"deriveaddresses \"descriptor\" ( range )\n\nDerives one or more addresses corresponding to an output descriptor.\nExamples of output descriptors are:\n pkh() P2PKH outputs for the given pubkey\n sh(multi(,,,...)) P2SH-multisig outputs for the given threshold and pubkeys\n raw() Outputs whose scriptPubKey equals the specified hex scripts\n\nIn the above, either refers to a fixed public key in hexadecimal notation, or to an xpub/xprv optionally followed by one\nor more path elements separated by \"/\", where \"h\" represents a hardened child key.\nFor more information on output descriptors, see the documentation in the doc/descriptors.md file.\n\nArguments:\n1. descriptor (string, required) The descriptor\n2. range (numeric or array, optional) If a ranged descriptor is used, this specifies the end or the range (in [begin,end] notation) to derive.\n\nResult:\n[ (json array)\n \"str\", (string) the derived addresses\n ...\n]\n\nExamples:\n\nFirst three receive addresses\n> dash-cli deriveaddresses \"wpkh([d34db33f/84h/0h/0h]xpub6DJ2dNUysrn5Vt36jH2KLBT2i1auw1tTSSomg8PhqNiUtx8QX2SvC9nrHu81fT41fvDUnhMjEzQgXnQjKEu3oaqMSzhSrHMxyyoEAmUHQbY/0/*)#cjjspncu\" \"[0,2]\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"deriveaddresses\", \"params\": [\"wpkh([d34db33f/84h/0h/0h]xpub6DJ2dNUysrn5Vt36jH2KLBT2i1auw1tTSSomg8PhqNiUtx8QX2SvC9nrHu81fT41fvDUnhMjEzQgXnQjKEu3oaqMSzhSrHMxyyoEAmUHQbY/0/*)#cjjspncu\", \"[0,2]\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"6774614eeab8369c477902d86f8468447e76ade17aaf97734dff4e21561611db"} +{"command":"disconnectnode","subcommand":null,"qualified":"disconnectnode","signature_tail":"( \"address\" nodeid )","is_family":false,"help_raw":"disconnectnode ( \"address\" nodeid )\n\nImmediately disconnects from the specified peer node.\n\nStrictly one out of 'address' and 'nodeid' can be provided to identify the node.\n\nTo disconnect by nodeid, either set 'address' to the empty string, or call using the named 'nodeid' argument only.\n\nArguments:\n1. address (string, optional, default=fallback to nodeid) The IP address/port of the node\n2. nodeid (numeric, optional, default=fallback to address) The node ID (see getpeerinfo for node IDs)\n\nResult:\nnull (json null)\n\nExamples:\n> dash-cli disconnectnode \"192.168.0.6:9999\"\n> dash-cli disconnectnode \"\" 1\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"disconnectnode\", \"params\": [\"192.168.0.6:9999\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"disconnectnode\", \"params\": [\"\", 1]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"88c027459677697b0e475e5993e8fe34cd28a18f2345f4476fb5430021962ddf"} +{"command":"dumphdinfo","subcommand":null,"qualified":"dumphdinfo","signature_tail":"","is_family":false,"help_raw":"dumphdinfo\n\nReturns an object containing sensitive private info about this HD wallet.\nNote: This command is only compatible with legacy wallets.\n\nResult:\n{ (json object)\n \"hdseed\" : \"hex\", (string) The HD seed (BIP32, in hex)\n \"mnemonic\" : \"str\", (string) The mnemonic for this HD wallet (BIP39, english words)\n \"mnemonicpassphrase\" : \"str\" (string) The mnemonic passphrase for this HD wallet (BIP39)\n}\n\nExamples:\n> dash-cli dumphdinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"dumphdinfo\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"697d78c2e8bcb8ea82664170a193b9fbcbe32520e2b2e7537ec62c50f9132516"} +{"command":"dumpprivkey","subcommand":null,"qualified":"dumpprivkey","signature_tail":"\"address\"","is_family":false,"help_raw":"dumpprivkey \"address\"\n\nReveals the private key corresponding to 'address'.\nThen the importprivkey can be used with this output\nNote: This command is only compatible with legacy wallets.\n\nArguments:\n1. address (string, required) The Dash address for the private key\n\nResult:\n\"str\" (string) The private key\n\nExamples:\n> dash-cli dumpprivkey \"myaddress\"\n> dash-cli importprivkey \"mykey\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"dumpprivkey\", \"params\": [\"myaddress\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"d427fb8dcbe3a207b5d1100812376b101d19c2f6610591f0a0a2dfad30bb1736"} +{"command":"dumpwallet","subcommand":null,"qualified":"dumpwallet","signature_tail":"\"filename\"","is_family":false,"help_raw":"dumpwallet \"filename\"\n\nDumps all wallet keys in a human-readable format to a server-side file. This does not allow overwriting existing files.\nImported scripts are included in the dumpfile too, their corresponding addresses will be added automatically by importwallet.\nNote that if your wallet contains keys which are not derived from your HD seed (e.g. imported keys), these are not covered by\nonly backing up the seed itself, and must be backed up too (e.g. ensure you back up the whole dumpfile).\nNote: This command is only compatible with legacy wallets.\n\nArguments:\n1. filename (string, required) The filename with path (absolute path recommended)\n\nResult:\n{ (json object)\n \"keys\" : n, (numeric) The number of keys contained in the wallet dump\n \"filename\" : \"str\", (string) The filename with full absolute path\n \"warning\" : \"str\" (string) A warning about not sharing the wallet dump with anyone\n}\n\nExamples:\n> dash-cli dumpwallet \"test\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"dumpwallet\", \"params\": [\"test\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"a5ac1c242d578e0374cd2a042c79d55a2deb4b1ff32b7e16332c40baeab7b519"} +{"command":"encryptwallet","subcommand":null,"qualified":"encryptwallet","signature_tail":"\"passphrase\"","is_family":false,"help_raw":"encryptwallet \"passphrase\"\n\nEncrypts the wallet with 'passphrase'. This is for first time encryption.\nAfter this, any calls that interact with private keys such as sending or signing \nwill require the passphrase to be set prior the making these calls.\nUse the walletpassphrase call for this, and then walletlock call.\nIf the wallet is already encrypted, use the walletpassphrasechange call.\n\nArguments:\n1. passphrase (string, required) The pass phrase to encrypt the wallet with. It must be at least 1 character, but should be long.\n\nResult:\n\"str\" (string) A string with further instructions\n\nExamples:\n\nEncrypt your wallet\n> dash-cli encryptwallet \"my pass phrase\"\n\nNow set the passphrase to use the wallet, such as for signing or sending Dash\n> dash-cli walletpassphrase \"my pass phrase\"\n\nNow we can do something like sign\n> dash-cli signmessage \"address\" \"test message\"\n\nNow lock the wallet again by removing the passphrase\n> dash-cli walletlock \n\nAs a JSON-RPC call\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"encryptwallet\", \"params\": [\"my pass phrase\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"1e516a43b0cd4a298fdfdc6df5aa61652205f1ea38defc03e832a512f6489799"} +{"command":"estimatesmartfee","subcommand":null,"qualified":"estimatesmartfee","signature_tail":"conf_target ( \"estimate_mode\" )","is_family":false,"help_raw":"estimatesmartfee conf_target ( \"estimate_mode\" )\n\nEstimates the approximate fee per kilobyte needed for a transaction to begin\nconfirmation within conf_target blocks if possible and return the number of blocks\nfor which the estimate is valid.\n\nArguments:\n1. conf_target (numeric, required) Confirmation target in blocks (1 - 1008)\n2. estimate_mode (string, optional, default=\"conservative\") The fee estimate mode.\n Whether to return a more conservative estimate which also satisfies\n a longer history. A conservative estimate potentially returns a\n higher feerate and is more likely to be sufficient for the desired\n target, but is not as responsive to short term drops in the\n prevailing fee market. Must be one of (case insensitive):\n \"unset\"\n \"economical\"\n \"conservative\"\n\nResult:\n{ (json object)\n \"feerate\" : n, (numeric, optional) estimate fee rate in DASH/kB (only present if no errors were encountered)\n \"errors\" : [ (json array, optional) Errors encountered during processing (if there are any)\n \"str\", (string) error\n ...\n ],\n \"blocks\" : n (numeric) block number where estimate was found\n The request target will be clamped between 2 and the highest target\n fee estimation is able to return based on how long it has been running.\n An error is returned if not enough transactions and blocks\n have been observed to make an estimate for any number of blocks.\n}\n\nExamples:\n> dash-cli estimatesmartfee 6\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"estimatesmartfee\", \"params\": [6]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"dcbaa18438f37a59ab79ae170dee3c41ebe01a2fc47983c9c0210d67b8e7cb60"} +{"command":"finalizepsbt","subcommand":null,"qualified":"finalizepsbt","signature_tail":"\"psbt\" ( extract )","is_family":false,"help_raw":"finalizepsbt \"psbt\" ( extract )\n\nFinalize the inputs of a PSBT. If the transaction is fully signed, it will produce a\nnetwork serialized transaction which can be broadcast with sendrawtransaction. Otherwise a PSBT will be\ncreated which has the final_scriptSig field filled for inputs that are complete.\nImplements the Finalizer and Extractor roles.\n\nArguments:\n1. psbt (string, required) A base64 string of a PSBT\n2. extract (boolean, optional, default=true) If true and the transaction is complete,\n extract and return the complete transaction in normal network serialization instead of the PSBT.\n\nResult:\n{ (json object)\n \"psbt\" : \"str\", (string, optional) The base64-encoded partially signed transaction if not extracted\n \"hex\" : \"hex\", (string, optional) The hex-encoded network transaction if extracted\n \"complete\" : true|false (boolean) If the transaction has a complete set of signatures\n}\n\nExamples:\n> dash-cli finalizepsbt \"psbt\"","help_sha256":"0c4ca5171830de0673bff1a8588834e04d65f5f94c75c835d112079531e42395"} +{"command":"fundrawtransaction","subcommand":null,"qualified":"fundrawtransaction","signature_tail":"\"hexstring\" ( options )","is_family":false,"help_raw":"fundrawtransaction \"hexstring\" ( options )\n\nIf the transaction has no inputs, they will be automatically selected to meet its out value.\nIt will add at most one change output to the outputs.\nNo existing outputs will be modified unless \"subtractFeeFromOutputs\" is specified.\nNote that inputs which were signed may need to be resigned after completion since in/outputs have been added.\nThe inputs added will not be signed, use signrawtransactionwithkey\nor signrawtransactionwithwallet for that.\nAll existing inputs must either have their previous output transaction be in the wallet\nor be in the UTXO set. Solving data must be provided for non-wallet inputs.\nNote that all inputs selected must be of standard form and P2SH scripts must be\nin the wallet using importaddress or addmultisigaddress (to calculate fees).\nYou can see whether this is the case by checking the \"solvable\" field in the listunspent output.\nOnly pay-to-pubkey, multisig, and P2SH versions thereof are currently supported for watch-only\n\nArguments:\n1. hexstring (string, required) The hex string of the raw transaction\n2. options (json object, optional) for backward compatibility: passing in a true instead of an object will result in {\"includeWatching\":true}\n {\n \"add_inputs\": bool, (boolean, optional, default=true) For a transaction with existing inputs, automatically include more if they are not enough.\n \"include_unsafe\": bool, (boolean, optional, default=false) Include inputs that are not safe to spend (unconfirmed transactions from outside keys and unconfirmed replacement transactions).\n Warning: the resulting transaction may become invalid if one of the unsafe inputs disappears.\n If that happens, you will need to fund the transaction with different inputs and republish it.\n \"changeAddress\": \"str\", (string, optional, default=automatic) The Dash address to receive the change\n \"changePosition\": n, (numeric, optional, default=random) The index of the change output\n \"includeWatching\": bool, (boolean, optional, default=true for watch-only wallets, otherwise false) Also select inputs which are watch only.\n Only solvable inputs can be used. Watch-only destinations are solvable if the public key and/or output script was imported,\n e.g. with 'importpubkey' or 'importmulti' with the 'pubkeys' or 'desc' field.\n \"lockUnspents\": bool, (boolean, optional, default=false) Lock selected unspent outputs\n \"fee_rate\": amount, (numeric or string, optional, default=not set, fall back to wallet fee estimation) Specify a fee rate in duff/B.\n \"feeRate\": amount, (numeric or string, optional, default=not set, fall back to wallet fee estimation) Specify a fee rate in DASH/kB.\n \"subtractFeeFromOutputs\": [ (json array, optional, default=[]) The integers.\n The fee will be equally deducted from the amount of each specified output.\n Those recipients will receive less Dash than you enter in their corresponding amount field.\n If no outputs are specified here, the sender pays the fee.\n vout_index, (numeric) The zero-based output index, before a change output is added.\n ...\n ],\n \"conf_target\": n, (numeric, optional, default=wallet -txconfirmtarget) Confirmation target in blocks\n \"estimate_mode\": \"str\", (string, optional, default=\"unset\") The fee estimate mode, must be one of (case insensitive):\n \"unset\"\n \"economical\"\n \"conservative\"\n \"solving_data\": { (json object, optional) Keys and scripts needed for producing a final transaction with a dummy signature.\n Used for fee estimation during coin selection.\n \"pubkeys\": [ (json array, optional, default=[]) Public keys involved in this transaction.\n \"pubkey\", (string) A public key\n ...\n ],\n \"scripts\": [ (json array, optional, default=[]) Scripts involved in this transaction.\n \"script\", (string) A script\n ...\n ],\n \"descriptors\": [ (json array, optional, default=[]) Descriptors that provide solving data for this transaction.\n \"descriptor\", (string) A descriptor\n ...\n ],\n },\n }\n\nResult:\n{ (json object)\n \"hex\" : \"hex\", (string) The resulting raw transaction (hex-encoded string)\n \"fee\" : n, (numeric) Fee in DASH the resulting transaction pays\n \"changepos\" : n (numeric) The position of the added change output, or -1\n}\n\nExamples:\n\nCreate a transaction with no inputs\n> dash-cli createrawtransaction \"[]\" \"{\\\"myaddress\\\":0.01}\"\n\nAdd sufficient unsigned inputs to meet the output value\n> dash-cli fundrawtransaction \"rawtransactionhex\"\n\nSign the transaction\n> dash-cli signrawtransaction \"fundedtransactionhex\"\n\nSend the transaction\n> dash-cli sendrawtransaction \"signedtransactionhex\"","help_sha256":"57ab502afe1920fec21e20c4be564b64993588b270b935c14c0ba60ca9f57a33"} +{"command":"getaddednodeinfo","subcommand":null,"qualified":"getaddednodeinfo","signature_tail":"( \"node\" )","is_family":false,"help_raw":"getaddednodeinfo ( \"node\" )\n\nReturns information about the given added node, or all added nodes\n(note that onetry addnodes are not listed here)\n\nArguments:\n1. node (string, optional, default=all nodes) If provided, return information about this specific node, otherwise all nodes are returned.\n\nResult:\n[ (json array)\n { (json object)\n \"addednode\" : \"str\", (string) The node IP address or name (as provided to addnode)\n \"connected\" : true|false, (boolean) If connected\n \"addresses\" : [ (json array) Only when connected = true\n { (json object)\n \"address\" : \"str\", (string) The Dash server IP and port we're connected to\n \"connected\" : \"str\" (string) connection, inbound or outbound\n },\n ...\n ]\n },\n ...\n]\n\nExamples:\n> dash-cli getaddednodeinfo \"192.168.0.201\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getaddednodeinfo\", \"params\": [\"192.168.0.201\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"f7ae41ea4b8e16ca01a32190d4b826e9f26389242abe4d2c85021ef256f69db3"} +{"command":"getaddressbalance","subcommand":null,"qualified":"getaddressbalance","signature_tail":"( [\"address\",...] )","is_family":false,"help_raw":"getaddressbalance ( [\"address\",...] )\n\nReturns the balance for an address(es) (requires addressindex to be enabled).\n\nArguments:\n1. addresses (json array, optional, default=[])\n [\n \"address\", (string, optional, default=\"\") The base58check encoded address\n ...\n ]\n\nResult:\n{ (json object)\n \"balance\" : n, (numeric) The current total balance in duffs\n \"balance_immature\" : n, (numeric) The current immature balance in duffs\n \"balance_spendable\" : n, (numeric) The current spendable balance in duffs\n \"received\" : n (numeric) The total number of duffs received (including change)\n}\n\nExamples:\n> dash-cli getaddressbalance '{\"addresses\": [\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\"]}'\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getaddressbalance\", \"params\": [{\"addresses\": [\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\"]}]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"30d1678757d2c06c01c2f89ca766d1fce066b65cdfc0740311e90256a66b5dae"} +{"command":"getaddressdeltas","subcommand":null,"qualified":"getaddressdeltas","signature_tail":"( [\"address\",...] )","is_family":false,"help_raw":"getaddressdeltas ( [\"address\",...] )\n\nReturns all changes for an address (requires addressindex to be enabled).\n\nArguments:\n1. addresses (json array, optional, default=[])\n [\n \"address\", (string, optional, default=\"\") The base58check encoded address\n ...\n ]\n\nResult:\n[ (json array)\n { (json object)\n \"satoshis\" : n, (numeric) The difference of duffs\n \"txid\" : \"hex\", (string) The related txid\n \"index\" : n, (numeric) The related input or output index\n \"blockindex\" : n, (numeric) The related block index\n \"height\" : n, (numeric) The block height\n \"address\" : \"str\" (string) The base58check encoded address\n },\n ...\n]\n\nExamples:\n> dash-cli getaddressdeltas '{\"addresses\": [\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\"]}'\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getaddressdeltas\", \"params\": [{\"addresses\": [\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\"]}]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"06321324be5c6dada24e800e5a69e7496e48173b0f6d89816623a9e94feb5e2a"} +{"command":"getaddressesbylabel","subcommand":null,"qualified":"getaddressesbylabel","signature_tail":"\"label\"","is_family":false,"help_raw":"getaddressesbylabel \"label\"\n\nReturns the list of addresses assigned the specified label.\n\nArguments:\n1. label (string, required) The label.\n\nResult:\n{ (json object) json object with addresses as keys\n \"address\" : { (json object) json object with information about address\n \"purpose\" : \"str\" (string) Purpose of address (\"send\" for sending address, \"receive\" for receiving address)\n },\n ...\n}\n\nExamples:\n> dash-cli getaddressesbylabel \"tabby\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getaddressesbylabel\", \"params\": [\"tabby\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"2c6bf3140e3b1b5ca3e4f21677603e85ee4e48848ad91c1c16b1f99ba8934034"} +{"command":"getaddressinfo","subcommand":null,"qualified":"getaddressinfo","signature_tail":"\"address\"","is_family":false,"help_raw":"getaddressinfo \"address\"\n\nReturn information about the given Dash address.\nSome of the information will only be present if the address is in the active wallet.\n\nArguments:\n1. address (string, required) The Dash address for which to get information.\n\nResult:\n{ (json object)\n \"address\" : \"str\", (string) The Dash address validated.\n \"scriptPubKey\" : \"hex\", (string) The hex-encoded scriptPubKey generated by the address.\n \"ismine\" : true|false, (boolean) If the address is yours.\n \"iswatchonly\" : true|false, (boolean) If the address is watchonly.\n \"solvable\" : true|false, (boolean) If we know how to spend coins sent to this address, ignoring the possible lack of private keys.\n \"desc\" : \"str\", (string, optional) A descriptor for spending coins sent to this address (only when solvable).\n \"parent_desc\" : \"str\", (string, optional) The descriptor used to derive this address if this is a descriptor wallet\n \"isscript\" : true|false, (boolean) If the key is a script.\n \"ischange\" : true|false, (boolean) If the address was used for change output.\n \"script\" : \"str\", (string, optional) The output script type. Only if isscript is true and the redeemscript is known. Possible types: nonstandard, pubkey, pubkeyhash, scripthash, multisig, nulldata\n \"hex\" : \"hex\", (string, optional) The redeemscript for the p2sh address.\n \"pubkeys\" : [ (json array, optional) Array of pubkeys associated with the known redeemscript (only if script is multisig).\n \"str\", (string)\n ...\n ],\n \"addresses\" : [ (json array, optional) Array of addresses associated with the known redeemscript (only if script is multisig).\n \"str\", (string)\n ...\n ],\n \"sigsrequired\" : n, (numeric, optional) The number of signatures required to spend multisig output (only if script is multisig).\n \"pubkey\" : \"hex\", (string, optional) The hex value of the raw public key, for single-key addresses.\n \"embedded\" : { (json object, optional) Information about the address embedded in P2SH, if relevant and known.\n ... Includes all getaddressinfo output fields for the embedded address, excluding metadata (timestamp, hdkeypath, hdseedid)\n and relation to the wallet (ismine, iswatchonly).\n },\n \"iscompressed\" : true|false, (boolean, optional) If the pubkey is compressed.\n \"timestamp\" : xxx, (numeric, optional) The creation time of the key, if available, expressed in UNIX epoch time.\n \"hdchainid\" : \"hex\", (string, optional) The ID of the HD chain.\n \"hdkeypath\" : \"str\", (string, optional) The HD keypath, if the key is HD and available.\n \"hdseedid\" : \"hex\", (string, optional) The Hash160 of the HD seed.\n \"hdmasterfingerprint\" : \"hex\", (string, optional) The fingerprint of the master key.\n \"labels\" : [ (json array) An array of labels associated with the address. Currently limited to one label but returned as an array to keep the API stable if multiple labels are enabled in the future.\n \"str\", (string) Label name (defaults to \"\").\n ...\n ]\n}\n\nExamples:\n> dash-cli getaddressinfo XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getaddressinfo\", \"params\": [XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"9c581fee1a42895e8180ef03dc2f2ad1493db363701608e6d4f584e69bd71578"} +{"command":"getaddressmempool","subcommand":null,"qualified":"getaddressmempool","signature_tail":"( [\"address\",...] )","is_family":false,"help_raw":"getaddressmempool ( [\"address\",...] )\n\nReturns all mempool deltas for an address (requires addressindex to be enabled).\n\nArguments:\n1. addresses (json array, optional, default=[])\n [\n \"address\", (string, optional, default=\"\") The base58check encoded address\n ...\n ]\n\nResult:\n[ (json array)\n { (json object)\n \"address\" : \"str\", (string) The base58check encoded address\n \"txid\" : \"hex\", (string) The related txid\n \"index\" : n, (numeric) The related input or output index\n \"satoshis\" : n, (numeric) The difference of duffs\n \"timestamp\" : xxx, (numeric) The time the transaction entered the mempool (seconds)\n \"prevtxid\" : \"hex\", (string) The previous txid (if spending)\n \"prevout\" : n (numeric) The previous transaction output index (if spending)\n },\n ...\n]\n\nExamples:\n> dash-cli getaddressmempool '{\"addresses\": [\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\"]}'\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getaddressmempool\", \"params\": [{\"addresses\": [\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\"]}]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"8d6862d5c35ba326d99ec703513aa21fc1f8c7b5e33edc2f8bb3e6fb319d17a3"} +{"command":"getaddresstxids","subcommand":null,"qualified":"getaddresstxids","signature_tail":"( [\"address\",...] )","is_family":false,"help_raw":"getaddresstxids ( [\"address\",...] )\n\nReturns the txids for an address(es) (requires addressindex to be enabled).\n\nArguments:\n1. addresses (json array, optional, default=[])\n [\n \"address\", (string, optional, default=\"\") The base58check encoded address\n ...\n ]\n\nResult:\n[ (json array)\n \"hex\", (string) The transaction id\n ...\n]\n\nExamples:\n> dash-cli getaddresstxids '{\"addresses\": [\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\"]}'\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getaddresstxids\", \"params\": [{\"addresses\": [\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\"]}]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"5eb2ca386617ab8e3b4f683a1c24030e31594833d1a1cb180b4d15ff6352e58b"} +{"command":"getaddressutxos","subcommand":null,"qualified":"getaddressutxos","signature_tail":"( [\"address\",...] )","is_family":false,"help_raw":"getaddressutxos ( [\"address\",...] )\n\nReturns all unspent outputs for an address (requires addressindex to be enabled).\n\nArguments:\n1. addresses (json array, optional, default=[])\n [\n \"address\", (string, optional, default=\"\") The base58check encoded address\n ...\n ]\n\nResult:\n[ (json array)\n { (json object)\n \"address\" : \"str\", (string) The address base58check encoded\n \"txid\" : \"hex\", (string) The output txid\n \"index\" : n, (numeric) The output index\n \"script\" : \"hex\", (string) The script hex-encoded\n \"satoshis\" : n, (numeric) The number of duffs of the output\n \"height\" : n (numeric) The block height\n },\n ...\n]\n\nExamples:\n> dash-cli getaddressutxos '{\"addresses\": [\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\"]}'\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getaddressutxos\", \"params\": [{\"addresses\": [\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\"]}]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"c77e1adb8269a4b7ba5f532e5884246472aa9e879fd1c976f3c88e1edcb44f71"} +{"command":"getassetunlockstatuses","subcommand":null,"qualified":"getassetunlockstatuses","signature_tail":"[index,...] ( height )","is_family":false,"help_raw":"getassetunlockstatuses [index,...] ( height )\n\nReturns the status of given Asset Unlock indexes at the tip of the chain or at a specific block height if specified.\n\nArguments:\n1. indexes (json array, required) The Asset Unlock indexes (no more than 100)\n [\n index, (numeric) An Asset Unlock index\n ...\n ]\n2. height (numeric) The maximum block height to check\n\nResult:\n[ (json array) Response is an array with the same size as the input txids\n { (json object)\n \"index\" : n, (numeric) The Asset Unlock index\n \"status\" : \"str\" (string) Status of the Asset Unlock index: {chainlocked|mined|mempooled|unknown}\n },\n ...\n]\n\nExamples:\n> dash-cli getassetunlockstatuses '[\"myindex\",...]'\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getassetunlockstatuses\", \"params\": [[\"myindex\",...]]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"c05485e2cc9d395eb5f9acf736194b3ffc6626d84fa5895f9df07673f00daf76"} +{"command":"getbalance","subcommand":null,"qualified":"getbalance","signature_tail":"( \"dummy\" minconf addlocked include_watchonly avoid_reuse )","is_family":false,"help_raw":"getbalance ( \"dummy\" minconf addlocked include_watchonly avoid_reuse )\n\nReturns the total available balance.\nThe available balance is what the wallet considers currently spendable, and is\nthus affected by options which limit spendability such as -spendzeroconfchange.\n\nArguments:\n1. dummy (string, optional) Remains for backward compatibility. Must be excluded or set to \"*\".\n2. minconf (numeric, optional, default=0) Only include transactions confirmed at least this many times.\n3. addlocked (boolean, optional, default=false) Whether to include transactions locked via InstantSend in the wallet's balance.\n4. include_watchonly (boolean, optional, default=true for watch-only wallets, otherwise false) Also include balance in watch-only addresses (see 'importaddress')\n5. avoid_reuse (boolean, optional, default=true) (only available if avoid_reuse wallet flag is set) Do not include balance in dirty outputs; addresses are considered dirty if they have previously been used in a transaction. If true, this also activates avoidpartialspends, grouping outputs by their addresses.\n\nResult:\nn (numeric) The total amount in DASH received for this wallet.\n\nExamples:\n\nThe total amount in the wallet with 0 or more confirmations\n> dash-cli getbalance \n\nThe total amount in the wallet with at least 6 confirmations\n> dash-cli getbalance \"*\" 6\n\nAs a JSON-RPC call\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getbalance\", \"params\": [\"*\", 6]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"1b93e917b47f1dc2e969b8b7f9957b668f16ff530bd281026bd5668c0268f053"} +{"command":"getbalances","subcommand":null,"qualified":"getbalances","signature_tail":"","is_family":false,"help_raw":"getbalances\n\nReturns an object with all balances in DASH.\n\nResult:\n{ (json object)\n \"mine\" : { (json object) balances from outputs that the wallet can sign\n \"trusted\" : n, (numeric) trusted balance (outputs created by the wallet or confirmed outputs)\n \"untrusted_pending\" : n, (numeric) untrusted pending balance (outputs created by others that are in the mempool)\n \"immature\" : n, (numeric) balance from immature coinbase outputs\n \"used\" : n, (numeric, optional) (only present if avoid_reuse is set) balance from coins sent to addresses that were previously spent from (potentially privacy violating)\n \"coinjoin\" : n (numeric) CoinJoin balance (outputs with enough rounds created by the wallet via mixing)\n },\n \"watchonly\" : { (json object, optional) watchonly balances (not present if wallet does not watch anything)\n \"trusted\" : n, (numeric) trusted balance (outputs created by the wallet or confirmed outputs)\n \"untrusted_pending\" : n, (numeric) untrusted pending balance (outputs created by others that are in the mempool)\n \"immature\" : n (numeric) balance from immature coinbase outputs\n }\n}\n\nExamples:\n> dash-cli getbalances \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getbalances\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"6f1f5592aa32ab09163fa5c7026aa796a9bb9f7c4c4e152351730c821ff7ec69"} +{"command":"getbestblockhash","subcommand":null,"qualified":"getbestblockhash","signature_tail":"","is_family":false,"help_raw":"getbestblockhash\n\nReturns the hash of the best (tip) block in the most-work fully-validated chain.\n\nResult:\n\"hex\" (string) the block hash, hex-encoded\n\nExamples:\n> dash-cli getbestblockhash \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getbestblockhash\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"bc62f632e01bb238abda0b40662ad16e5d9934e1ccb2209fc0ad980a3a030570"} +{"command":"getbestchainlock","subcommand":null,"qualified":"getbestchainlock","signature_tail":"","is_family":false,"help_raw":"getbestchainlock\n\nReturns information about the best ChainLock. Throws an error if there is no known ChainLock yet.\n\nResult:\n{ (json object)\n \"hash\" : \"hex\", (string) The block hash hex-encoded\n \"height\" : n, (numeric) The block height or index\n \"signature\" : \"hex\", (string) The ChainLock's BLS signature\n \"known_block\" : true|false, (boolean) True if the block is known by our node\n \"hex\" : \"hex\" (string) The serialized, hex-encoded data for best ChainLock\n}\n\nExamples:\n> dash-cli getbestchainlock \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getbestchainlock\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"344b19c80643d13a5cf297146280579204ce6006f8ea7933a2a44a02dc4efbb0"} +{"command":"getblock","subcommand":null,"qualified":"getblock","signature_tail":"\"blockhash\" ( verbosity )","is_family":false,"help_raw":"getblock \"blockhash\" ( verbosity )\n\nIf verbosity is 0, returns a string that is serialized, hex-encoded data for block 'hash'.\nIf verbosity is 1, returns an Object with information about block .\nIf verbosity is 2, returns an Object with information about block and information about each transaction.\nIf verbosity is 3, returns an Object with information about block and information about each transaction, including prevout information for inputs (only for unpruned blocks in the current best chain).\n\nArguments:\n1. blockhash (string, required) The block hash\n2. verbosity (numeric, optional, default=1) 0 for hex-encoded data, 1 for a JSON object, 2 for JSON object with transaction data, and 3 for JSON object with transaction data including prevout information for inputs\n\nResult (for verbosity = 0):\n\"hex\" (string) A string that is serialized, hex-encoded data for block 'hash'\n\nResult (for verbosity = 1):\n{ (json object)\n \"hash\" : \"hex\", (string) the block hash (same as provided)\n \"confirmations\" : n, (numeric) The number of confirmations, or -1 if the block is not on the main chain\n \"height\" : n, (numeric) The block height or index\n \"version\" : n, (numeric) The block version\n \"versionHex\" : \"hex\", (string) The block version formatted in hexadecimal\n \"merkleroot\" : \"hex\", (string) The merkle root\n \"time\" : xxx, (numeric) The block time expressed in UNIX epoch time\n \"mediantime\" : xxx, (numeric) The median block time expressed in UNIX epoch time\n \"nonce\" : n, (numeric) The nonce\n \"bits\" : \"hex\", (string) The bits\n \"difficulty\" : n, (numeric) The difficulty\n \"chainwork\" : \"hex\", (string) Expected number of hashes required to produce the current chain\n \"nTx\" : n, (numeric) The number of transactions in the block\n \"previousblockhash\" : \"hex\", (string, optional) The hash of the previous block (if available)\n \"nextblockhash\" : \"hex\", (string, optional) The hash of the next block (if available)\n \"chainlock\" : true|false, (boolean) The state of the block ChainLock\n \"size\" : n, (numeric) The block size\n \"tx\" : [ (json array) The transaction ids\n \"hex\", (string) The transaction id\n ...\n ],\n \"cbTx\" : { (json object, optional) The coinbase special transaction\n \"version\" : n, (numeric) Special transaction version\n \"height\" : n, (numeric) Block height\n \"merkleRootMNList\" : \"hex\", (string) Merkle root of the masternode list\n \"merkleRootQuorums\" : \"hex\", (string, optional) Merkle root of the quorum list\n \"bestCLHeightDiff\" : n, (numeric, optional) Blocks between the current block and the last known block with a ChainLock\n \"bestCLSignature\" : \"hex\", (string, optional) Best ChainLock signature known by the miner\n \"creditPoolBalance\" : n (numeric, optional) Balance in the Platform credit pool\n }\n}\n\nResult (for verbosity = 2):\n{ (json object)\n ..., Same output as verbosity = 1\n \"tx\" : [ (json array)\n { (json object)\n ..., The transactions in the format of the getrawtransaction RPC. Different from verbosity = 1 \"tx\" result\n \"fee\" : n (numeric) The transaction fee in DASH, omitted if block undo data is not available\n },\n ...\n ]\n}\n\nResult (for verbosity = 3):\n{ (json object)\n ..., Same output as verbosity = 2\n \"tx\" : [ (json array)\n { (json object)\n \"vin\" : [ (json array)\n { (json object)\n ..., The same output as verbosity = 2\n \"prevout\" : { (json object) (Only if undo information is available)\n \"generated\" : true|false, (boolean) Coinbase or not\n \"height\" : n, (numeric) The height of the prevout\n \"value\" : n, (numeric) The value in DASH\n \"scriptPubKey\" : { (json object)\n \"asm\" : \"str\", (string) The asm\n \"hex\" : \"hex\", (string) The hex\n \"address\" : \"str\", (string, optional) The Dash address (only if a well-defined address exists)\n \"type\" : \"str\" (string) The type, eg 'pubkeyhash'\n }\n }\n },\n ...\n ]\n },\n ...\n ]\n}\n\nExamples:\n> dash-cli getblock \"00000000000fd08c2fb661d2fcb0d49abb3a91e5f27082ce64feed3b4dede2e2\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getblock\", \"params\": [\"00000000000fd08c2fb661d2fcb0d49abb3a91e5f27082ce64feed3b4dede2e2\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"fc892707ce67f14516f7da5a3cc1eade24b7dedcb6e30705dca7340483ade394"} +{"command":"getblockchaininfo","subcommand":null,"qualified":"getblockchaininfo","signature_tail":"","is_family":false,"help_raw":"getblockchaininfo\n\nReturns an object containing various state info regarding blockchain processing.\n\nResult:\n{ (json object)\n \"chain\" : \"str\", (string) current network name (main, test, regtest) and devnet or devnet- for \"-devnet\" and \"-devnet=\" respectively\n \n \"blocks\" : n, (numeric) the height of the most-work fully-validated chain. The genesis block has height 0\n \"headers\" : n, (numeric) the current number of headers we have validated\n \"bestblockhash\" : \"str\", (string) the hash of the currently best block\n \"difficulty\" : n, (numeric) the current difficulty\n \"time\" : xxx, (numeric) The block time expressed in UNIX epoch time\n \"mediantime\" : xxx, (numeric) The median block time expressed in UNIX epoch time\n \"verificationprogress\" : n, (numeric) estimate of verification progress [0..1]\n \"initialblockdownload\" : true|false, (boolean) (debug information) estimate of whether this node is in Initial Block Download mode\n \"chainwork\" : \"hex\", (string) total amount of work in active chain, in hexadecimal\n \"size_on_disk\" : n, (numeric) the estimated size of the block and undo files on disk\n \"pruned\" : true|false, (boolean) if the blocks are subject to pruning\n \"pruneheight\" : n, (numeric, optional) height of the last block pruned, plus one (only present if pruning is enabled)\n \"automatic_pruning\" : true|false, (boolean, optional) whether automatic pruning is enabled (only present if pruning is enabled)\n \"prune_target_size\" : n, (numeric, optional) the target size used by pruning (only present if automatic pruning is enabled)\n \"softforks\" : { (json object) status of softforks in progress\n \"xxxx\" : { (json object) name of the softfork\n \"type\" : \"str\", (string) one of \"buried\", \"bip9\"\n \"bip9\" : { (json object, optional) status of bip9 softforks (only for \"bip9\" type)\n \"status\" : \"str\", (string) one of \"defined\", \"started\", \"locked_in\", \"active\", \"failed\"\n \"bit\" : n, (numeric, optional) the bit (0-28) in the block version field used to signal this softfork (only for \"started\" and \"locked_in\" status)\n \"start_time\" : xxx, (numeric) the minimum median time past of a block at which the bit gains its meaning\n \"timeout\" : xxx, (numeric) the median time past of a block at which the deployment is considered failed if not yet locked in\n \"ehf\" : true|false, (boolean) returns true for EHF activated forks\n \"ehf_height\" : n, (numeric, optional) the minimum height when miner's signals for the deployment matter. Below this height miner signaling cannot trigger hard fork lock-in. Not specified for non-EHF forks\n \"since\" : n, (numeric) height of the first block to which the status applies\n \"activation_height\" : n, (numeric) expected activation height for this softfork (only for \"locked_in\" status)\n \"min_activation_height\" : n, (numeric) minimum height of blocks for which the rules may be enforced\n \"statistics\" : { (json object, optional) numeric statistics about signalling for a softfork (only for \"started\" and \"locked_in\" status)\n \"period\" : n, (numeric) the length in blocks of the signalling period\n \"threshold\" : n, (numeric, optional) the number of blocks with the version bit set required to activate the feature (only for \"started\" status)\n \"elapsed\" : n, (numeric) the number of blocks elapsed since the beginning of the current period\n \"count\" : n, (numeric) the number of blocks with the version bit set in the current period\n \"possible\" : true|false (boolean, optional) returns false if there are not enough blocks left in this period to pass activation threshold (only for \"started\" status)\n }\n },\n \"height\" : n, (numeric, optional) height of the first block which the rules are or will be enforced (only for \"buried\" type, or \"bip9\" type with \"active\" status)\n \"active\" : true|false (boolean) true if the rules are enforced for the mempool and the next block\n },\n ...\n },\n \"warnings\" : \"str\" (string) any network and blockchain warnings\n}\n\nExamples:\n> dash-cli getblockchaininfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getblockchaininfo\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"3ae609fff5d44d296bcc9767fb017377a4ef286db390389f1d3d98b5ba9ce3a7"} +{"command":"getblockcount","subcommand":null,"qualified":"getblockcount","signature_tail":"","is_family":false,"help_raw":"getblockcount\n\nReturns the height of the most-work fully-validated chain.\nThe genesis block has height 0.\n\nResult:\nn (numeric) The current block count\n\nExamples:\n> dash-cli getblockcount \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getblockcount\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"b7a69f6b4d3a64f04fd1e36f000adaf868e9d24ef7223a18977910d2fa0be9ef"} +{"command":"getblockfilter","subcommand":null,"qualified":"getblockfilter","signature_tail":"\"blockhash\" ( \"filtertype\" )","is_family":false,"help_raw":"getblockfilter \"blockhash\" ( \"filtertype\" )\n\nRetrieve a BIP 157 content filter for a particular block.\n\nArguments:\n1. blockhash (string, required) The hash of the block\n2. filtertype (string, optional, default=\"basic\") The type name of the filter\n\nResult:\n{ (json object)\n \"filter\" : \"hex\", (string) the hex-encoded filter data\n \"header\" : \"hex\" (string) the hex-encoded filter header\n}\n\nExamples:\n> dash-cli getblockfilter \"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\" \"basic\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getblockfilter\", \"params\": [\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\", \"basic\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"73d3294bfd94996281d3953081a055c34d04ffbd84458976fef760792ae6437c"} +{"command":"getblockfrompeer","subcommand":null,"qualified":"getblockfrompeer","signature_tail":"\"blockhash\" peer_id","is_family":false,"help_raw":"getblockfrompeer \"blockhash\" peer_id\n\nAttempt to fetch block from a given peer.\n\nWe must have the header for this block, e.g. using submitheader.\nSubsequent calls for the same block and a new peer will cause the response from the previous peer to be ignored.\n\nReturns an empty JSON object if the request was successfully scheduled.\n\nArguments:\n1. blockhash (string, required) The block hash to try to fetch\n2. peer_id (numeric, required) The peer to fetch it from (see getpeerinfo for peer IDs)\n\nResult:\n{} (empty JSON object)\n\nExamples:\n> dash-cli getblockfrompeer \"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\" 0\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getblockfrompeer\", \"params\": [\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\" 0]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"a19456521dc0655032e4559663c0f87817499a928dbfc342e975252861b19a3c"} +{"command":"getblockhash","subcommand":null,"qualified":"getblockhash","signature_tail":"height","is_family":false,"help_raw":"getblockhash height\n\nReturns hash of block in best-block-chain at height provided.\n\nArguments:\n1. height (numeric, required) The height index\n\nResult:\n\"hex\" (string) The block hash\n\nExamples:\n> dash-cli getblockhash 1000\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getblockhash\", \"params\": [1000]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"585dc2341498d67e7cdf6198f3b1c4d050e8ecd58d5df21a5165c1e1296f390e"} +{"command":"getblockhashes","subcommand":null,"qualified":"getblockhashes","signature_tail":"high low","is_family":false,"help_raw":"getblockhashes high low\n\nReturns array of hashes of blocks within the timestamp range provided.\n\nArguments:\n1. high (numeric, required) The newer block timestamp\n2. low (numeric, required) The older block timestamp\n\nResult:\n[ (json array)\n \"hex\", (string) The block hash\n ...\n]\n\nExamples:\n> dash-cli getblockhashes 1231614698 1231024505\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getblockhashes\", \"params\": [1231614698, 1231024505]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"84d1d9c7d61df2ec6404b15a1d8d702ae2e2928585b94ea791f40dace2af966e"} +{"command":"getblockheader","subcommand":null,"qualified":"getblockheader","signature_tail":"\"blockhash\" ( verbose )","is_family":false,"help_raw":"getblockheader \"blockhash\" ( verbose )\n\nIf verbose is false, returns a string that is serialized, hex-encoded data for blockheader 'hash'.\nIf verbose is true, returns an Object with information about blockheader .\n\nArguments:\n1. blockhash (string, required) The block hash\n2. verbose (boolean, optional, default=true) true for a json object, false for the hex-encoded data\n\nResult (for verbose = true):\n{ (json object)\n \"hash\" : \"hex\", (string) the block hash (same as provided)\n \"confirmations\" : n, (numeric) The number of confirmations, or -1 if the block is not on the main chain\n \"height\" : n, (numeric) The block height or index\n \"version\" : n, (numeric) The block version\n \"versionHex\" : \"hex\", (string) The block version formatted in hexadecimal\n \"merkleroot\" : \"hex\", (string) The merkle root\n \"time\" : xxx, (numeric) The block time expressed in UNIX epoch time\n \"mediantime\" : xxx, (numeric) The median block time expressed in UNIX epoch time\n \"nonce\" : n, (numeric) The nonce\n \"bits\" : \"hex\", (string) The bits\n \"difficulty\" : n, (numeric) The difficulty\n \"chainwork\" : \"hex\", (string) Expected number of hashes required to produce the current chain\n \"nTx\" : n, (numeric) The number of transactions in the block\n \"previousblockhash\" : \"hex\", (string, optional) The hash of the previous block (if available)\n \"nextblockhash\" : \"hex\", (string, optional) The hash of the next block (if available)\n \"chainlock\" : true|false (boolean) The state of the block ChainLock\n}\n\nResult (for verbose=false):\n\"hex\" (string) A string that is serialized, hex-encoded data for block 'hash'\n\nExamples:\n> dash-cli getblockheader \"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getblockheader\", \"params\": [\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"2b175359d3d6f5037e78dc8641d370af74ed9499ee70993c54e96c31b851d30d"} +{"command":"getblockheaders","subcommand":null,"qualified":"getblockheaders","signature_tail":"\"blockhash\" ( count verbose )","is_family":false,"help_raw":"getblockheaders \"blockhash\" ( count verbose )\n\nReturns an array of items with information about blockheaders starting from .\n\nIf verbose is false, each item is a string that is serialized, hex-encoded data for a single blockheader.\nIf verbose is true, each item is an Object with information about a single blockheader.\n\nArguments:\n1. blockhash (string, required) The block hash\n2. count (numeric, optional, default=2000)\n3. verbose (boolean, optional, default=true) true for a json object, false for the hex-encoded data\n\nResult (for verbose = true):\n[ (json array)\n { (json object)\n \"hash\" : \"hex\", (string) The block hash (same as provided)\n \"confirmations\" : n, (numeric) The number of confirmations, or -1 if the block is not on the main chain\n \"height\" : n, (numeric) The block height or index\n \"version\" : n, (numeric) The block version\n \"versionHex\" : \"hex\", (string) The block version formatted in hexadecimal\n \"merkleroot\" : \"hex\", (string) The merkle root\n \"time\" : xxx, (numeric) The block time expressed in UNIX epoch time\n \"mediantime\" : xxx, (numeric) The median block time expressed in UNIX epoch time\n \"nonce\" : n, (numeric) The nonce\n \"bits\" : \"hex\", (string) The bits\n \"difficulty\" : n, (numeric) The difficulty\n \"chainwork\" : \"hex\", (string) Expected number of hashes required to produce the current chain\n \"nTx\" : n, (numeric) The number of transactions in the block\n \"previousblockhash\" : \"hex\", (string, optional) The hash of the previous block (if available)\n \"nextblockhash\" : \"hex\", (string, optional) The hash of the next block (if available)\n \"chainlock\" : true|false (boolean) The state of the block ChainLock\n },\n ...\n]\n\nResult (for verbose=false):\n[ (json array)\n \"hex\", (string) A string that is serialized, hex-encoded data for block 'hash'\n ...\n]\n\nExamples:\n> dash-cli getblockheaders \"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\" 2000\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getblockheaders\", \"params\": [\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\" 2000]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"f13b1e48a4e0b7ddc94b01e2ec8452db93880b2f13676abe1ebd957a6fb0d9d7"} +{"command":"getblockstats","subcommand":null,"qualified":"getblockstats","signature_tail":"hash_or_height ( stats )","is_family":false,"help_raw":"getblockstats hash_or_height ( stats )\n\nCompute per block statistics for a given window. All amounts are in duffs.\nIt won't work for some heights with pruning.\n\nArguments:\n1. hash_or_height (string or numeric, required) The block hash or height of the target block\n2. stats (json array, optional, default=all values) Values to plot (see result below)\n [\n \"height\", (string) Selected statistic\n \"time\", (string) Selected statistic\n ...\n ]\n\nResult:\n{ (json object)\n \"avgfee\" : n, (numeric, optional) Average fee in the block\n \"avgfeerate\" : n, (numeric, optional) Average feerate (in duffs per byte)\n \"avgtxsize\" : n, (numeric, optional) Average transaction size\n \"blockhash\" : \"hex\", (string, optional) The block hash (to check for potential reorgs)\n \"feerate_percentiles\" : [ (json array, optional) Feerates at the 10th, 25th, 50th, 75th, and 90th percentile size unit (in duffs per byte)\n n, (numeric) The 10th percentile feerate\n n, (numeric) The 25th percentile feerate\n n, (numeric) The 50th percentile feerate\n n, (numeric) The 75th percentile feerate\n n (numeric) The 90th percentile feerate\n ],\n \"height\" : n, (numeric, optional) The height of the block\n \"ins\" : n, (numeric, optional) The number of inputs (excluding coinbase)\n \"maxfee\" : n, (numeric, optional) Maximum fee in the block\n \"maxfeerate\" : n, (numeric, optional) Maximum feerate (in duffs per virtual byte)\n \"maxtxsize\" : n, (numeric, optional) Maximum transaction size\n \"medianfee\" : n, (numeric, optional) Truncated median fee in the block\n \"mediantime\" : n, (numeric, optional) The block median time past\n \"mediantxsize\" : n, (numeric, optional) Truncated median transaction size\n \"minfee\" : n, (numeric, optional) Minimum fee in the block\n \"minfeerate\" : n, (numeric, optional) Minimum feerate (in duffs per virtual byte)\n \"mintxsize\" : n, (numeric, optional) Minimum transaction size\n \"outs\" : n, (numeric, optional) The number of outputs\n \"subsidy\" : n, (numeric, optional) The block subsidy\n \"time\" : n, (numeric, optional) The block time\n \"total_out\" : n, (numeric, optional) Total amount in all outputs (excluding coinbase and thus reward [ie subsidy + totalfee])\n \"total_size\" : n, (numeric, optional) Total size of all non-coinbase transactions\n \"totalfee\" : n, (numeric, optional) The fee total\n \"txs\" : n, (numeric, optional) The number of transactions (including coinbase)\n \"utxo_increase\" : n, (numeric, optional) The increase/decrease in the number of unspent outputs (not discounting op_return and similar)\n \"utxo_size_inc\" : n, (numeric, optional) The increase/decrease in size for the utxo index (not discounting op_return and similar)\n \"utxo_increase_actual\" : n, (numeric, optional) The increase/decrease in the number of unspent outputs, not counting unspendables\n \"utxo_size_inc_actual\" : n (numeric, optional) The increase/decrease in size for the utxo index, not counting unspendables\n}\n\nExamples:\n> dash-cli getblockstats '\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\"' '[\"minfeerate\",\"avgfeerate\"]'\n> dash-cli getblockstats 1000 '[\"minfeerate\",\"avgfeerate\"]'\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getblockstats\", \"params\": [\"00000000c937983704a73af28acdec37b049d214adbda81d7e2a3dd146f6ed09\", [\"minfeerate\",\"avgfeerate\"]]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getblockstats\", \"params\": [1000, [\"minfeerate\",\"avgfeerate\"]]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"a4eb0c6802fc8034ce49eed66d656aa0db947c5c524c1b3bdc4fc17c9e144bac"} +{"command":"getblocktemplate","subcommand":null,"qualified":"getblocktemplate","signature_tail":"( \"template_request\" )","is_family":false,"help_raw":"getblocktemplate ( \"template_request\" )\n\nIf the request parameters include a 'mode' key, that is used to explicitly select between the default 'template' request or a 'proposal'.\nIt returns data needed to construct a block to work on.\nFor full specification, see BIPs 22, 23, and 9:\n https://github.com/bitcoin/bips/blob/master/bip-0022.mediawiki\n https://github.com/bitcoin/bips/blob/master/bip-0023.mediawiki\n https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki#getblocktemplate_changes\n\nArguments:\n1. template_request (json object, optional, default={}) Format of the template\n {\n \"mode\": \"str\", (string, optional) This must be set to \"template\", \"proposal\" (see BIP 23), or omitted\n \"capabilities\": [ (json array, optional) A list of strings\n \"str\", (string) client side supported feature, 'longpoll', 'coinbasevalue', 'proposal', 'serverlist', 'workid'\n ...\n ],\n \"rules\": [ (json array, required) A list of strings\n \"str\", (string) client side supported softfork deployment\n ...\n ],\n }\n\nResult (If the proposal was accepted with mode=='proposal'):\nnull (json null)\n\nResult (If the proposal was not accepted with mode=='proposal'):\n\"str\" (string) According to BIP22\n\nResult (Otherwise):\n{ (json object)\n \"capabilities\" : [ (json array) specific client side supported features\n \"str\", (string) capability\n ...\n ],\n \"version\" : n, (numeric) The preferred block version\n \"rules\" : [ (json array) specific block rules that are to be enforced\n \"str\", (string) name of a rule the client must understand to some extent; see BIP 9 for format\n ...\n ],\n \"vbavailable\" : { (json object) set of pending, supported versionbit (BIP 9) softfork deployments\n \"rulename\" : n, (numeric) identifies the bit number as indicating acceptance and readiness for the named softfork rule\n ...\n },\n \"capabilities\" : [ (json array)\n \"str\", (string) A supported feature, for example 'proposal'\n ...\n ],\n \"vbrequired\" : n, (numeric) bit mask of versionbits the server requires set in submissions\n \"previousblockhash\" : \"str\", (string) The hash of current highest block\n \"transactions\" : [ (json array) contents of non-coinbase transactions that should be included in the next block\n { (json object)\n \"data\" : \"hex\", (string) transaction data encoded in hexadecimal (byte-for-byte)\n \"txid\" : \"hex\", (string) transaction id encoded in little-endian hexadecimal\n \"hash\" : \"hex\", (string) hash encoded in little-endian hexadecimal\n \"depends\" : [ (json array) array of numbers\n n, (numeric) transactions before this one (by 1-based index in 'transactions' list) that must be present in the final block if this one is\n ...\n ],\n \"fee\" : n, (numeric) difference in value between transaction inputs and outputs (in duffs); for coinbase transactions, this is a negative Number of the total collected block fees (ie, not including the block subsidy); if key is not present, fee is unknown and clients MUST NOT assume there isn't one\n \"sigops\" : n (numeric) total number of SigOps, as counted for purposes of block limits; if key is not present, sigop count is unknown and clients MUST NOT assume there aren't any\n },\n ...\n ],\n \"coinbaseaux\" : { (json object) data that should be included in the coinbase's scriptSig content\n \"key\" : \"hex\", (string) values must be in the coinbase (keys may be ignored)\n ...\n },\n \"coinbasevalue\" : n, (numeric) maximum allowable input to coinbase transaction, including the generation award and transaction fees (in duffs)\n \"longpollid\" : \"str\", (string) an id to include with a request to longpoll on an update to this template\n \"target\" : \"str\", (string) The hash target\n \"mintime\" : xxx, (numeric) The minimum timestamp appropriate for the next block time, expressed in UNIX epoch time\n \"mutable\" : [ (json array) list of ways the block template may be changed\n \"str\", (string) A way the block template may be changed, e.g. 'time', 'transactions', 'prevblock'\n ...\n ],\n \"noncerange\" : \"hex\", (string) A range of valid nonces\n \"sigoplimit\" : n, (numeric) limit of sigops in blocks\n \"sizelimit\" : n, (numeric) limit of block size\n \"curtime\" : xxx, (numeric) current timestamp in UNIX epoch time\n \"bits\" : \"str\", (string) compressed target of next block\n \"previousbits\" : \"str\", (string) compressed target of current highest block\n \"height\" : n, (numeric) The height of the next block\n \"masternode\" : [ (json array) required masternode payments that must be included in the next block\n { (json object)\n \"payee\" : \"hex\", (string) payee address\n \"script\" : \"hex\", (string) payee scriptPubKey\n \"amount\" : n (numeric) required amount to pay\n },\n ...\n ],\n \"masternode_payments_started\" : true|false, (boolean) true, if masternode payments started\n \"masternode_payments_enforced\" : true|false, (boolean) true, if masternode payments are enforced\n \"superblock\" : [ (json array) required superblock payees that must be included in the next block\n { (json object)\n \"payee\" : \"hex\", (string) payee address\n \"script\" : \"hex\", (string) payee scriptPubKey\n \"amount\" : n (numeric) required amount to pay\n },\n ...\n ],\n \"superblocks_started\" : true|false, (boolean) true, if superblock payments started\n \"superblocks_enabled\" : true|false, (boolean) true, if superblock payments are enabled\n \"coinbase_payload\" : \"hex\" (string) coinbase transaction payload data encoded in hexadecimal\n}\n\nExamples:\n> dash-cli getblocktemplate \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getblocktemplate\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"8e5b48b5f9876e8a3a49022b435f098f55dd7cd9b9b645543258c29c940fda90"} +{"command":"getchaintips","subcommand":null,"qualified":"getchaintips","signature_tail":"( count branchlen )","is_family":false,"help_raw":"getchaintips ( count branchlen )\n\nReturn information about all known tips in the block tree, including the main chain as well as orphaned branches.\n\nArguments:\n1. count (numeric, optional, default=2147483647) only show this much of latest tips\n2. branchlen (numeric, optional, default=-1) only show tips that have equal or greater length of branch\n\nResult:\n[ (json array)\n { (json object)\n \"height\" : n, (numeric) height of the chain tip\n \"hash\" : \"hex\", (string) block hash of the tip\n \"difficulty\" : n, (numeric) The difficulty\n \"chainwork\" : \"hex\", (string) Expected number of hashes required to produce the current chain (in hex)\n \"branchlen\" : n, (numeric) zero for main chain, otherwise length of branch connecting the tip to the main chain\n \"forkpoint\" : \"hex\", (string) same as \"hash\" for the main chain\n \"status\" : \"str\" (string) status of the chain, \"active\" for the main chain\n Possible values for status:\n 1. \"invalid\" This branch contains at least one invalid block\n 2. \"headers-only\" Not all blocks for this branch are available, but the headers are valid\n 3. \"valid-headers\" All blocks are available for this branch, but they were never fully validated\n 4. \"valid-fork\" This branch is not part of the active chain, but is fully validated\n 5. \"active\" This is the tip of the active main chain, which is certainly valid\n 6. \"conflicting\" This block or one of its ancestors is conflicting with ChainLocks.\n },\n ...\n]\n\nExamples:\n> dash-cli getchaintips \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getchaintips\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"dab849a87b8259d433af281661c3fb838b74295b8e4c1819e2c7113eaf9fbd73"} +{"command":"getchaintxstats","subcommand":null,"qualified":"getchaintxstats","signature_tail":"( nblocks \"blockhash\" )","is_family":false,"help_raw":"getchaintxstats ( nblocks \"blockhash\" )\n\nCompute statistics about the total number and rate of transactions in the chain.\n\nArguments:\n1. nblocks (numeric, optional, default=one month) Size of the window in number of blocks\n2. blockhash (string, optional, default=chain tip) The hash of the block that ends the window.\n\nResult:\n{ (json object)\n \"time\" : xxx, (numeric) The timestamp for the final block in the window, expressed in UNIX epoch time\n \"txcount\" : n, (numeric) The total number of transactions in the chain up to that point\n \"window_final_block_hash\" : \"hex\", (string) The hash of the final block in the window\n \"window_final_block_height\" : n, (numeric) The height of the final block in the window.\n \"window_block_count\" : n, (numeric) Size of the window in number of blocks\n \"window_tx_count\" : n, (numeric, optional) The number of transactions in the window. Only returned if \"window_block_count\" is > 0\n \"window_interval\" : n, (numeric, optional) The elapsed time in the window in seconds. Only returned if \"window_block_count\" is > 0\n \"txrate\" : n (numeric, optional) The average rate of transactions per second in the window. Only returned if \"window_interval\" is > 0\n}\n\nExamples:\n> dash-cli getchaintxstats \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getchaintxstats\", \"params\": [2016]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"a1d1b3779975de6321e5f30a1c76a3bea2ce6861ce4f4bd353ab16ad0a8bc486"} +{"command":"getcoinjoininfo","subcommand":null,"qualified":"getcoinjoininfo","signature_tail":"","is_family":false,"help_raw":"getcoinjoininfo\n\nReturns an object containing an information about CoinJoin settings and state.\n\nResult (for regular nodes):\n{ (json object)\n \"enabled\" : true|false, (boolean) Whether mixing functionality is enabled\n \"multisession\" : true|false, (boolean) Whether CoinJoin Multisession option is enabled\n \"max_sessions\" : n, (numeric) How many parallel mixing sessions can there be at once\n \"max_rounds\" : n, (numeric) How many rounds to mix\n \"max_amount\" : n, (numeric) Target CoinJoin balance in DASH\n \"denoms_goal\" : n, (numeric) How many inputs of each denominated amount to target\n \"denoms_hardcap\" : n, (numeric) Maximum limit of how many inputs of each denominated amount to create\n \"queue_size\" : n, (numeric) How many queues there are currently on the network\n \"running\" : true|false, (boolean) Whether mixing is currently running\n \"sessions\" : [ (json array)\n { (json object)\n \"protxhash\" : \"hex\", (string) The ProTxHash of the masternode\n \"outpoint\" : \"hex\", (string) The outpoint of the masternode\n \"service\" : \"str\", (string) (DEPRECATED) The IP address and port of the masternode\n \"addrs_core_p2p\" : [ (json array) Network addresses of the masternode used for protocol P2P\n \"str\", (string)\n ...\n ],\n \"denomination\" : n, (numeric) The denomination of the mixing session in DASH\n \"state\" : \"hex\", (string) Current state of the mixing session\n \"entries_count\" : n (numeric) The number of entries in the mixing session\n },\n ...\n ],\n \"keys_left\" : n, (numeric, optional) How many new keys are left since last automatic backup (if applicable)\n \"warnings\" : \"str\" (string) Warnings if any\n}\n\nResult (for masternodes):\n{ (json object)\n \"queue_size\" : n, (numeric) How many queues there are currently on the network\n \"denomination\" : n, (numeric) The denomination of the mixing session in DASH\n \"state\" : \"hex\", (string) Current state of the mixing session\n \"entries_count\" : n (numeric) The number of entries in the mixing session\n}\n\nExamples:\n> dash-cli getcoinjoininfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getcoinjoininfo\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"c73206a3c1af2bdc055f29f59322d29daea7907103f9a2148b3e751c4b2a3cf3"} +{"command":"getconnectioncount","subcommand":null,"qualified":"getconnectioncount","signature_tail":"","is_family":false,"help_raw":"getconnectioncount\n\nReturns the number of connections to other nodes.\n\nResult:\nn (numeric) The connection count\n\nExamples:\n> dash-cli getconnectioncount \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getconnectioncount\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"f2862f791fbe1b0d58fd2be0bd42c775c6acec6aa3d67cab26e86da87e322f94"} +{"command":"getdescriptorinfo","subcommand":null,"qualified":"getdescriptorinfo","signature_tail":"\"descriptor\"","is_family":false,"help_raw":"getdescriptorinfo \"descriptor\"\n\nAnalyses a descriptor.\n\nArguments:\n1. descriptor (string, required) The descriptor\n\nResult:\n{ (json object)\n \"descriptor\" : \"str\", (string) The descriptor in canonical form, without private keys\n \"checksum\" : \"str\", (string) The checksum for the input descriptor\n \"isrange\" : true|false, (boolean) Whether the descriptor is ranged\n \"issolvable\" : true|false, (boolean) Whether the descriptor is solvable\n \"hasprivatekeys\" : true|false (boolean) Whether the input descriptor contained at least one private key\n}\n\nExamples:\n\nAnalyse a descriptor\n> dash-cli getdescriptorinfo \"wpkh([d34db33f/84h/0h/0h]0279be667ef9dcbbac55a06295Ce870b07029Bfcdb2dce28d959f2815b16f81798)\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getdescriptorinfo\", \"params\": [\"wpkh([d34db33f/84h/0h/0h]0279be667ef9dcbbac55a06295Ce870b07029Bfcdb2dce28d959f2815b16f81798)\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"4ea252cc0415d23f3d73fa7528eef581f4d3efa857e3d3b08acf2d9505c6f5b2"} +{"command":"getdifficulty","subcommand":null,"qualified":"getdifficulty","signature_tail":"","is_family":false,"help_raw":"getdifficulty\n\nReturns the proof-of-work difficulty as a multiple of the minimum difficulty.\n\nResult:\nn (numeric) the proof-of-work difficulty as a multiple of the minimum difficulty.\n\nExamples:\n> dash-cli getdifficulty \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getdifficulty\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"eee3845c2e56c6b7500cea092dd89cf90b6161d1f207bf970f4357eefae9dd05"} +{"command":"getgovernanceinfo","subcommand":null,"qualified":"getgovernanceinfo","signature_tail":"","is_family":false,"help_raw":"getgovernanceinfo\n\nReturns an object containing governance parameters.\n\nResult:\n{ (json object)\n \"governanceminquorum\" : n, (numeric) the absolute minimum number of votes needed to trigger a governance action\n \"proposalfee\" : n, (numeric) the collateral transaction fee which must be paid to create a proposal in DASH\n \"superblockcycle\" : n, (numeric) the number of blocks between superblocks\n \"superblockmaturitywindow\" : n, (numeric) the superblock trigger creation window\n \"lastsuperblock\" : n, (numeric) the block number of the last superblock\n \"nextsuperblock\" : n, (numeric) the block number of the next superblock\n \"fundingthreshold\" : n, (numeric) the number of absolute yes votes required for a proposal to be passing\n \"governancebudget\" : n (numeric) the governance budget for the next superblock in DASH\n}\n\nExamples:\n> dash-cli getgovernanceinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getgovernanceinfo\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"d8f41695ed79a5a5c30826e05cc0ab4b73fe6c5cede3cb4d6a517ee3c5947037"} +{"command":"getindexinfo","subcommand":null,"qualified":"getindexinfo","signature_tail":"( \"index_name\" )","is_family":false,"help_raw":"getindexinfo ( \"index_name\" )\n\nReturns the status of one or all available indices currently running in the node.\n\nArguments:\n1. index_name (string, optional) Filter results for an index with a specific name.\n\nResult:\n{ (json object)\n \"name\" : { (json object) The name of the index\n \"synced\" : true|false, (boolean) Whether the index is synced or not\n \"best_block_height\" : n (numeric) The block height to which the index is synced\n },\n ...\n}\n\nExamples:\n> dash-cli getindexinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getindexinfo\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/\n> dash-cli getindexinfo txindex\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getindexinfo\", \"params\": [txindex]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"952d98530bf9ea241fc62a0d67cb3204a9a1aee819d9e0ac7e9c85c25c8121e3"} +{"command":"getislocks","subcommand":null,"qualified":"getislocks","signature_tail":"[\"txid\",...]","is_family":false,"help_raw":"getislocks [\"txid\",...]\n\nReturns the raw InstantSend lock data for each txids. Returns Null if there is no known IS yet.\n\nArguments:\n1. txids (json array, required) The transaction ids (no more than 100)\n [\n \"txid\", (string) A transaction hash\n ...\n ]\n\nResult:\n[ (json array) Response is an array with the same size as the input txids\n { (json object)\n \"txid\" : \"hex\", (string) The transaction id\n \"inputs\" : [ (json array) The inputs\n { (json object)\n \"txid\" : \"hex\", (string) The transaction id\n \"vout\" : n (numeric) The output number\n },\n ...\n ],\n \"id\" : \"hex\", (string) Request ID\n \"cycleHash\" : \"hex\", (string) The Cycle Hash\n \"signature\" : \"hex\", (string) The InstantSend's BLS signature\n \"hex\" : \"hex\" (string) The serialized, hex-encoded data for 'txid'\n },\n \"str\", (string) Just 'None' string\n ...\n]\n\nExamples:\n> dash-cli getislocks '[\"txid\",...]'\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getislocks\", \"params\": ['[\"txid\",...]']}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"4e17578d8e5fe6d6ded8a1c4f50089964a65d47302ec8653b70029dc28265888"} +{"command":"getmemoryinfo","subcommand":null,"qualified":"getmemoryinfo","signature_tail":"( \"mode\" )","is_family":false,"help_raw":"getmemoryinfo ( \"mode\" )\n\nReturns an object containing information about memory usage.\n\nArguments:\n1. mode (string, optional, default=\"stats\") determines what kind of information is returned.\n - \"stats\" returns general statistics about memory usage in the daemon.\n - \"mallocinfo\" returns an XML string describing low-level heap state (only available if compiled with glibc).\n\nResult (mode \"stats\"):\n{ (json object)\n \"locked\" : { (json object) Information about locked memory manager\n \"used\" : n, (numeric) Number of bytes used\n \"free\" : n, (numeric) Number of bytes available in current arenas\n \"total\" : n, (numeric) Total number of bytes managed\n \"locked\" : n, (numeric) Amount of bytes that succeeded locking. If this number is smaller than total, locking pages failed at some point and key data could be swapped to disk.\n \"chunks_used\" : n, (numeric) Number allocated chunks\n \"chunks_free\" : n (numeric) Number unused chunks\n }\n}\n\nResult (mode \"mallocinfo\"):\n\"str\" (string) \"...\"\n\nExamples:\n> dash-cli getmemoryinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getmemoryinfo\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"78002db507a2dce911d802d74a1f9ec23634c3abf632407266b5b5090fe65f6c"} +{"command":"getmempoolancestors","subcommand":null,"qualified":"getmempoolancestors","signature_tail":"\"txid\" ( verbose )","is_family":false,"help_raw":"getmempoolancestors \"txid\" ( verbose )\n\nIf txid is in the mempool, returns all in-mempool ancestors.\n\nArguments:\n1. txid (string, required) The transaction id (must be in mempool)\n2. verbose (boolean, optional, default=false) True for a json object, false for array of transaction ids\n\nResult (for verbose = false):\n[ (json array)\n \"hex\", (string) The transaction id of an in-mempool ancestor transaction\n ...\n]\n\nResult (for verbose = true):\n{ (json object)\n \"transactionid\" : { (json object)\n \"vsize\" : n, (numeric) virtual transaction size. This can be different from actual serialized size for high-sigop transactions.\n \"fee\" : n, (numeric, optional) transaction fee, denominated in DASH (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"modifiedfee\" : n, (numeric, optional) transaction fee with fee deltas used for mining priority, denominated in DASH (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"time\" : xxx, (numeric) local time transaction entered pool in UNIX epoch time\n \"height\" : n, (numeric) block height when transaction entered pool\n \"descendantcount\" : n, (numeric) number of in-mempool descendant transactions (including this one)\n \"descendantsize\" : n, (numeric) size of in-mempool descendants (including this one)\n \"descendantfees\" : n, (numeric, optional) transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in duffs (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"ancestorcount\" : n, (numeric) number of in-mempool ancestor transactions (including this one)\n \"ancestorsize\" : n, (numeric) size of in-mempool ancestors (including this one)\n \"ancestorfees\" : n, (numeric, optional) transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in duffs (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"fees\" : { (json object)\n \"base\" : n, (numeric) transaction fee, denominated in DASH\n \"modified\" : n, (numeric) transaction fee with fee deltas used for mining priority, denominated in DASH\n \"ancestor\" : n, (numeric) transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in DASH\n \"descendant\" : n (numeric) transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in DASH\n },\n \"depends\" : [ (json array) unconfirmed transactions used as inputs for this transaction\n \"hex\", (string) parent transaction id\n ...\n ],\n \"spentby\" : [ (json array) unconfirmed transactions spending outputs from this transaction\n \"hex\", (string) child transaction id\n ...\n ],\n \"instantsend\" : true|false, (boolean) True if this transaction was locked via InstantSend\n \"unbroadcast\" : true|false (boolean) Whether this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)\n },\n ...\n}\n\nExamples:\n> dash-cli getmempoolancestors \"mytxid\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getmempoolancestors\", \"params\": [\"mytxid\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"66fcc2218c61fd175d07c686d812acc67aed92c9f8d97eefe7e27ce455a30b3e"} +{"command":"getmempooldescendants","subcommand":null,"qualified":"getmempooldescendants","signature_tail":"\"txid\" ( verbose )","is_family":false,"help_raw":"getmempooldescendants \"txid\" ( verbose )\n\nIf txid is in the mempool, returns all in-mempool descendants.\n\nArguments:\n1. txid (string, required) The transaction id (must be in mempool)\n2. verbose (boolean, optional, default=false) True for a json object, false for array of transaction ids\n\nResult (for verbose = false):\n[ (json array)\n \"hex\", (string) The transaction id of an in-mempool descendant transaction\n ...\n]\n\nResult (for verbose = true):\n{ (json object)\n \"transactionid\" : { (json object)\n \"vsize\" : n, (numeric) virtual transaction size. This can be different from actual serialized size for high-sigop transactions.\n \"fee\" : n, (numeric, optional) transaction fee, denominated in DASH (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"modifiedfee\" : n, (numeric, optional) transaction fee with fee deltas used for mining priority, denominated in DASH (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"time\" : xxx, (numeric) local time transaction entered pool in UNIX epoch time\n \"height\" : n, (numeric) block height when transaction entered pool\n \"descendantcount\" : n, (numeric) number of in-mempool descendant transactions (including this one)\n \"descendantsize\" : n, (numeric) size of in-mempool descendants (including this one)\n \"descendantfees\" : n, (numeric, optional) transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in duffs (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"ancestorcount\" : n, (numeric) number of in-mempool ancestor transactions (including this one)\n \"ancestorsize\" : n, (numeric) size of in-mempool ancestors (including this one)\n \"ancestorfees\" : n, (numeric, optional) transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in duffs (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"fees\" : { (json object)\n \"base\" : n, (numeric) transaction fee, denominated in DASH\n \"modified\" : n, (numeric) transaction fee with fee deltas used for mining priority, denominated in DASH\n \"ancestor\" : n, (numeric) transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in DASH\n \"descendant\" : n (numeric) transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in DASH\n },\n \"depends\" : [ (json array) unconfirmed transactions used as inputs for this transaction\n \"hex\", (string) parent transaction id\n ...\n ],\n \"spentby\" : [ (json array) unconfirmed transactions spending outputs from this transaction\n \"hex\", (string) child transaction id\n ...\n ],\n \"instantsend\" : true|false, (boolean) True if this transaction was locked via InstantSend\n \"unbroadcast\" : true|false (boolean) Whether this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)\n },\n ...\n}\n\nExamples:\n> dash-cli getmempooldescendants \"mytxid\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getmempooldescendants\", \"params\": [\"mytxid\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"bff3996a63cd8ac31e1f50e55779488b467f6bdaedaf7395a77dc1c6aea2c46a"} +{"command":"getmempoolentry","subcommand":null,"qualified":"getmempoolentry","signature_tail":"\"txid\"","is_family":false,"help_raw":"getmempoolentry \"txid\"\n\nReturns mempool data for given transaction\n\nArguments:\n1. txid (string, required) The transaction id (must be in mempool)\n\nResult:\n{ (json object)\n \"vsize\" : n, (numeric) virtual transaction size. This can be different from actual serialized size for high-sigop transactions.\n \"fee\" : n, (numeric, optional) transaction fee, denominated in DASH (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"modifiedfee\" : n, (numeric, optional) transaction fee with fee deltas used for mining priority, denominated in DASH (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"time\" : xxx, (numeric) local time transaction entered pool in UNIX epoch time\n \"height\" : n, (numeric) block height when transaction entered pool\n \"descendantcount\" : n, (numeric) number of in-mempool descendant transactions (including this one)\n \"descendantsize\" : n, (numeric) size of in-mempool descendants (including this one)\n \"descendantfees\" : n, (numeric, optional) transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in duffs (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"ancestorcount\" : n, (numeric) number of in-mempool ancestor transactions (including this one)\n \"ancestorsize\" : n, (numeric) size of in-mempool ancestors (including this one)\n \"ancestorfees\" : n, (numeric, optional) transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in duffs (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"fees\" : { (json object)\n \"base\" : n, (numeric) transaction fee, denominated in DASH\n \"modified\" : n, (numeric) transaction fee with fee deltas used for mining priority, denominated in DASH\n \"ancestor\" : n, (numeric) transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in DASH\n \"descendant\" : n (numeric) transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in DASH\n },\n \"depends\" : [ (json array) unconfirmed transactions used as inputs for this transaction\n \"hex\", (string) parent transaction id\n ...\n ],\n \"spentby\" : [ (json array) unconfirmed transactions spending outputs from this transaction\n \"hex\", (string) child transaction id\n ...\n ],\n \"instantsend\" : true|false, (boolean) True if this transaction was locked via InstantSend\n \"unbroadcast\" : true|false (boolean) Whether this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)\n}\n\nExamples:\n> dash-cli getmempoolentry \"mytxid\"\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getmempoolentry\", \"params\": [\"mytxid\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"1d59e9e8a3f62853f9793755b3815298ddd47be93519ccf92d3b34e1bf6be519"} +{"command":"getmempoolinfo","subcommand":null,"qualified":"getmempoolinfo","signature_tail":"","is_family":false,"help_raw":"getmempoolinfo\n\nReturns details on the active state of the TX memory pool.\n\nResult:\n{ (json object)\n \"loaded\" : true|false, (boolean) True if the mempool is fully loaded\n \"size\" : n, (numeric) Current tx count\n \"bytes\" : n, (numeric) Sum of all transaction sizes\n \"usage\" : n, (numeric) Total memory usage for the mempool\n \"total_fee\" : n, (numeric) Total fees for the mempool in DASH, ignoring modified fees through prioritisetransaction\n \"maxmempool\" : n, (numeric) Maximum memory usage for the mempool\n \"mempoolminfee\" : n, (numeric) Minimum fee rate in DASH/kB for tx to be accepted. Is the maximum of minrelaytxfee and minimum mempool fee\n \"minrelaytxfee\" : n, (numeric) Current minimum relay fee for transactions\n \"instantsendlocks\" : n, (numeric) Number of unconfirmed InstantSend locks\n \"unbroadcastcount\" : n (numeric) Current number of transactions that haven't passed initial broadcast yet\n}\n\nExamples:\n> dash-cli getmempoolinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getmempoolinfo\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"501d6e5cfb9579c9e27e464849a076af6e14f327a82e1c3b007baad8bb92e639"} +{"command":"getmerkleblocks","subcommand":null,"qualified":"getmerkleblocks","signature_tail":"\"filter\" \"blockhash\" ( count )","is_family":false,"help_raw":"getmerkleblocks \"filter\" \"blockhash\" ( count )\n\nReturns an array of hex-encoded merkleblocks for blocks starting from which match .\n\nArguments:\n1. filter (string, required) The hex-encoded bloom filter\n2. blockhash (string, required) The block hash\n3. count (numeric, optional, default=2000)\n\nResult:\n[ (json array)\n \"hex\", (string) A string that is serialized, hex-encoded data for a merkleblock\n ...\n]\n\nExamples:\n> dash-cli getmerkleblocks \"2303028005802040100040000008008400048141010000f8400420800080025004000004130000000000000001\" \"00000000007e1432d2af52e8463278bf556b55cf5049262f25634557e2e91202\" 2000\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getmerkleblocks\", \"params\": [\"2303028005802040100040000008008400048141010000f8400420800080025004000004130000000000000001\" \"00000000007e1432d2af52e8463278bf556b55cf5049262f25634557e2e91202\" 2000]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"fc62f27104b6118b2f050f9c4e9ed9667f3b91fcc4157177be358fe55cbc2a78"} +{"command":"getmininginfo","subcommand":null,"qualified":"getmininginfo","signature_tail":"","is_family":false,"help_raw":"getmininginfo\n\nReturns a json object containing mining-related information.\n\nResult:\n{ (json object)\n \"blocks\" : n, (numeric) The current block\n \"currentblocksize\" : n, (numeric, optional) The block size of the last assembled block (only present if a block was ever assembled)\n \"currentblocktx\" : n, (numeric, optional) The number of block transactions of the last assembled block (only present if a block was ever assembled)\n \"difficulty\" : n, (numeric) The current difficulty\n \"networkhashps\" : n, (numeric) The network hashes per second\n \"pooledtx\" : n, (numeric) The size of the mempool\n \"chain\" : \"str\", (string) current network name (main, test, regtest)\n \"warnings\" : \"str\" (string) any network and blockchain warnings\n}\n\nExamples:\n> dash-cli getmininginfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getmininginfo\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"090ee9b9203b39ae5e5890678b95aca41806e5a41e5930f6917781f3709a8233"} +{"command":"getnettotals","subcommand":null,"qualified":"getnettotals","signature_tail":"","is_family":false,"help_raw":"getnettotals\n\nReturns information about network traffic, including bytes in, bytes out,\nand current system time.\n\nResult:\n{ (json object)\n \"totalbytesrecv\" : n, (numeric) Total bytes received\n \"totalbytessent\" : n, (numeric) Total bytes sent\n \"timemillis\" : xxx, (numeric) Current system UNIX epoch time in milliseconds\n \"uploadtarget\" : { (json object)\n \"timeframe\" : n, (numeric) Length of the measuring timeframe in seconds\n \"target\" : n, (numeric) Target in bytes\n \"target_reached\" : true|false, (boolean) True if target is reached\n \"serve_historical_blocks\" : true|false, (boolean) True if serving historical blocks\n \"bytes_left_in_cycle\" : n, (numeric) Bytes left in current time cycle\n \"time_left_in_cycle\" : n (numeric) Seconds left in current time cycle\n }\n}\n\nExamples:\n> dash-cli getnettotals \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getnettotals\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"88250256b99f7d02d20892f917253e664ecc2104ccf12cc10239a7aa13938330"} +{"command":"getnetworkhashps","subcommand":null,"qualified":"getnetworkhashps","signature_tail":"( nblocks height )","is_family":false,"help_raw":"getnetworkhashps ( nblocks height )\n\nReturns the estimated network hashes per second based on the last n blocks.\nPass in [blocks] to override # of blocks, -1 specifies since last difficulty change.\nPass in [height] to estimate the network speed at the time when a certain block was found.\n\nArguments:\n1. nblocks (numeric, optional, default=120) The number of blocks, or -1 for blocks since last difficulty change.\n2. height (numeric, optional, default=-1) To estimate at the time of the given height.\n\nResult:\nn (numeric) Hashes per second estimated\n\nExamples:\n> dash-cli getnetworkhashps \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getnetworkhashps\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"a295a8f4d7f1fe71c7199d79c3fc1b0ba6dcc83176f0c3f62f23286f61398d00"} +{"command":"getnetworkinfo","subcommand":null,"qualified":"getnetworkinfo","signature_tail":"","is_family":false,"help_raw":"getnetworkinfo\n\nReturns an object containing various state info regarding P2P networking.\n\nResult:\n{ (json object)\n \"version\" : n, (numeric) the server version\n \"buildversion\" : \"str\", (string) the server build version including RC info or commit as relevant\n \"subversion\" : \"str\", (string) the server subversion string\n \"protocolversion\" : n, (numeric) the protocol version\n \"localservices\" : \"hex\", (string) the services we offer to the network\n \"localservicesnames\" : [ (json array) the services we offer to the network, in human-readable form\n \"str\", (string) the service name\n ...\n ],\n \"localrelay\" : true|false, (boolean) true if transaction relay is requested from peers\n \"timeoffset\" : n, (numeric) the time offset\n \"connections\" : n, (numeric) the total number of connections\n \"connections_in\" : n, (numeric) the number of inbound connections\n \"connections_out\" : n, (numeric) the number of outbound connections\n \"connections_mn\" : n, (numeric) the number of verified mn connections\n \"connections_mn_in\" : n, (numeric) the number of inbound verified mn connections\n \"connections_mn_out\" : n, (numeric) the number of outbound verified mn connections\n \"networkactive\" : true|false, (boolean) whether p2p networking is enabled\n \"socketevents\" : \"str\", (string) the socket events mode, either kqueue, epoll, poll or select\n \"networks\" : [ (json array) information per network\n { (json object)\n \"name\" : \"str\", (string) network (ipv4, ipv6, onion, i2p, cjdns)\n \"limited\" : true|false, (boolean) is the network limited using -onlynet?\n \"reachable\" : true|false, (boolean) is the network reachable?\n \"proxy\" : \"str\", (string) (\"host:port\") the proxy that is used for this network, or empty if none\n \"proxy_randomize_credentials\" : true|false (boolean) Whether randomized credentials are used\n },\n ...\n ],\n \"relayfee\" : n, (numeric) minimum relay fee for transactions in DASH/kB\n \"incrementalfee\" : n, (numeric) minimum fee increment for mempool limiting in DASH/kB\n \"localaddresses\" : [ (json array) list of local addresses\n { (json object)\n \"address\" : \"str\", (string) network address\n \"port\" : n, (numeric) network port\n \"score\" : n (numeric) relative score\n },\n ...\n ],\n \"warnings\" : \"str\" (string) any network and blockchain warnings\n}\n\nExamples:\n> dash-cli getnetworkinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getnetworkinfo\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"015b81accaa6bb54c629e1696e5b4a05e27f0487c1d364bc601365fcda817bd2"} +{"command":"getnewaddress","subcommand":null,"qualified":"getnewaddress","signature_tail":"( \"label\" )","is_family":false,"help_raw":"getnewaddress ( \"label\" )\n\nReturns a new Dash address for receiving payments.\nIf 'label' is specified, it is added to the address book \nso payments received with the address will be associated with 'label'.\n\nArguments:\n1. label (string, optional, default=\"\") The label name for the address to be linked to. It can also be set to the empty string \"\" to represent the default label. The label does not need to exist, it will be created if there is no label by the given name.\n\nResult:\n\"str\" (string) The new Dash address\n\nExamples:\n> dash-cli getnewaddress \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getnewaddress\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"15e93e7c43d10966e3f2f632f2ca8c48c0ffda00a87ab50dc9817e5cdab54630"} +{"command":"getnodeaddresses","subcommand":null,"qualified":"getnodeaddresses","signature_tail":"( count \"network\" )","is_family":false,"help_raw":"getnodeaddresses ( count \"network\" )\n\nReturn known addresses, after filtering for quality and recency.\nThese can potentially be used to find new peers in the network.\nThe total number of addresses known to the node may be higher.\n\nArguments:\n1. count (numeric, optional, default=1) The maximum number of addresses to return. Specify 0 to return all known addresses.\n2. network (string, optional, default=all networks) Return only addresses of the specified network. Can be one of: ipv4, ipv6, onion, i2p, cjdns.\n\nResult:\n[ (json array)\n { (json object)\n \"time\" : xxx, (numeric) The UNIX epoch time when the node was last seen\n \"services\" : n, (numeric) The services offered by the node\n \"address\" : \"str\", (string) The address of the node\n \"port\" : n, (numeric) The port number of the node\n \"network\" : \"str\" (string) The network (ipv4, ipv6, onion, i2p, cjdns) the node connected through\n },\n ...\n]\n\nExamples:\n> dash-cli getnodeaddresses 8\n> dash-cli getnodeaddresses 4 \"i2p\"\n> dash-cli -named getnodeaddresses network=onion count=12\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getnodeaddresses\", \"params\": [8]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getnodeaddresses\", \"params\": [4, \"i2p\"]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"83a1f8277f441e3b09da90230abb90b818712305d5c09bec0a5e68df53fc8b07"} +{"command":"getpeerinfo","subcommand":null,"qualified":"getpeerinfo","signature_tail":"","is_family":false,"help_raw":"getpeerinfo\n\nReturns data about each connected network peer as a json array of objects.\n\nResult:\n[ (json array)\n { (json object)\n \"id\" : n, (numeric) Peer index\n \"addr\" : \"str\", (string) (host:port) The IP address and port of the peer\n \"addrbind\" : \"str\", (string, optional) (ip:port) Bind address of the connection to the peer\n \"addrlocal\" : \"str\", (string, optional) (ip:port) Local address as reported by the peer\n \"network\" : \"str\", (string) Network (ipv4, ipv6, onion, i2p, cjdns, not_publicly_routable)\n \"mapped_as\" : \"str\", (string, optional) The AS in the BGP route to the peer used for diversifying peer selection\n \"services\" : \"hex\", (string) The services offered\n \"servicesnames\" : [ (json array) the services offered, in human-readable form\n \"str\", (string) the service name if it is recognised\n ...\n ],\n \"verified_proregtx_hash\" : \"hex\", (string) Only present when the peer is a masternode and successfully authenticated via MNAUTH. In this case, this field contains the protx hash of the masternode\n \"verified_pubkey_hash\" : \"hex\", (string) Only present when the peer is a masternode and successfully authenticated via MNAUTH. In this case, this field contains the hash of the masternode's operator public key\n \"relaytxes\" : true|false, (boolean, optional) Whether peer has asked us to relay transactions to it\n \"lastsend\" : xxx, (numeric) The UNIX epoch time of the last send\n \"lastrecv\" : xxx, (numeric) The UNIX epoch time of the last receive\n \"last_transaction\" : xxx, (numeric) The UNIX epoch time of the last valid transaction received from this peer\n \"last_block\" : xxx, (numeric) The UNIX epoch time of the last block received from this peer\n \"bytessent\" : n, (numeric) The total bytes sent\n \"bytesrecv\" : n, (numeric) The total bytes received\n \"conntime\" : xxx, (numeric) The UNIX epoch time of the connection\n \"timeoffset\" : n, (numeric) The time offset in seconds\n \"pingtime\" : n, (numeric, optional) ping time (if available)\n \"minping\" : n, (numeric, optional) minimum observed ping time (if any at all)\n \"pingwait\" : n, (numeric, optional) ping wait (if non-zero)\n \"version\" : n, (numeric) The peer version, such as 70001\n \"subver\" : \"str\", (string) The string version\n \"inbound\" : true|false, (boolean) Inbound (true) or Outbound (false)\n \"bip152_hb_to\" : true|false, (boolean) Whether we selected peer as (compact blocks) high-bandwidth peer\n \"bip152_hb_from\" : true|false, (boolean) Whether peer selected us as (compact blocks) high-bandwidth peer\n \"masternode\" : true|false, (boolean) Whether connection was due to masternode connection attempt\n \"banscore\" : n, (numeric) The ban score (DEPRECATED, returned only if config option -deprecatedrpc=banscore is passed)\n \"startingheight\" : n, (numeric) The starting height (block) of the peer\n \"synced_headers\" : n, (numeric) The last header we have in common with this peer\n \"synced_blocks\" : n, (numeric) The last block we have in common with this peer\n \"inflight\" : [ (json array)\n n, (numeric) The heights of blocks we're currently asking from this peer\n ...\n ],\n \"addr_relay_enabled\" : true|false, (boolean) Whether we participate in address relay with this peer\n \"addr_processed\" : n, (numeric) The total number of addresses processed, excluding those dropped due to rate limiting\n \"addr_rate_limited\" : n, (numeric) The total number of addresses dropped due to rate limiting\n \"permissions\" : [ (json array) Any special permissions that have been granted to this peer\n \"str\", (string) bloomfilter (allow requesting BIP37 filtered blocks and transactions),\n noban (do not ban for misbehavior; implies download),\n forcerelay (relay transactions that are already in the mempool; implies relay),\n relay (relay even in -blocksonly mode),\n mempool (allow requesting BIP35 mempool contents),\n download (allow getheaders during IBD, no disconnect after maxuploadtarget limit),\n addr (responses to GETADDR avoid hitting the cache and contain random records with the most up-to-date info).\n \n ...\n ],\n \"bytessent_per_msg\" : { (json object)\n \"msg\" : n, (numeric) The total bytes sent aggregated by message type\n When a message type is not listed in this json object, the bytes sent are 0.\n Only known message types can appear as keys in the object.\n ...\n },\n \"bytesrecv_per_msg\" : { (json object)\n \"msg\" : n, (numeric) The total bytes received aggregated by message type\n When a message type is not listed in this json object, the bytes received are 0.\n Only known message types can appear as keys in the object and all bytes received of unknown message types are listed under '*other*'.\n ...\n },\n \"connection_type\" : \"str\", (string) Type of connection: \n outbound-full-relay (default automatic connections),\n block-relay-only (does not relay transactions or addresses),\n inbound (initiated by the peer),\n manual (added via addnode RPC or -addnode/-connect configuration options),\n addr-fetch (short-lived automatic connection for soliciting addresses),\n feeler (short-lived automatic connection for testing addresses).\n Please note this output is unlikely to be stable in upcoming releases as we iterate to\n best capture connection behaviors.\n \"transport_protocol_type\" : \"str\", (string) Type of transport protocol: \n detecting (peer could be v1 or v2),\n v1 (plaintext transport protocol),\n v2 (BIP324 encrypted transport protocol).\n \n \"session_id\" : \"str\" (string) The session ID for this connection, or \"\" if there is none (\"v2\" transport protocol only).\n \n },\n ...\n]\n\nExamples:\n> dash-cli getpeerinfo \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getpeerinfo\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"8a21caad10be344ffbeee3f5d80652570e9ab7227b8637ef2a6f52eb004173ac"} +{"command":"getrawchangeaddress","subcommand":null,"qualified":"getrawchangeaddress","signature_tail":"","is_family":false,"help_raw":"getrawchangeaddress\n\nReturns a new Dash address, for receiving change.\nThis is for use with raw transactions, NOT normal use.\n\nResult:\n\"str\" (string) The address\n\nExamples:\n> dash-cli getrawchangeaddress \n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getrawchangeaddress\", \"params\": []}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"5a3c57159ab3627ced62bd0eca24425e8f1c810c6cedd102ba9c930865454376"} +{"command":"getrawmempool","subcommand":null,"qualified":"getrawmempool","signature_tail":"( verbose mempool_sequence )","is_family":false,"help_raw":"getrawmempool ( verbose mempool_sequence )\n\nReturns all transaction ids in memory pool as a json array of string transaction ids.\n\nHint: use getmempoolentry to fetch a specific transaction from the mempool.\n\nArguments:\n1. verbose (boolean, optional, default=false) True for a json object, false for array of transaction ids\n2. mempool_sequence (boolean, optional, default=false) If verbose=false, returns a json object with transaction list and mempool sequence number attached.\n\nResult (for verbose = false):\n[ (json array)\n \"hex\", (string) The transaction id\n ...\n]\n\nResult (for verbose = true):\n{ (json object)\n \"transactionid\" : { (json object)\n \"vsize\" : n, (numeric) virtual transaction size. This can be different from actual serialized size for high-sigop transactions.\n \"fee\" : n, (numeric, optional) transaction fee, denominated in DASH (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"modifiedfee\" : n, (numeric, optional) transaction fee with fee deltas used for mining priority, denominated in DASH (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"time\" : xxx, (numeric) local time transaction entered pool in UNIX epoch time\n \"height\" : n, (numeric) block height when transaction entered pool\n \"descendantcount\" : n, (numeric) number of in-mempool descendant transactions (including this one)\n \"descendantsize\" : n, (numeric) size of in-mempool descendants (including this one)\n \"descendantfees\" : n, (numeric, optional) transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in duffs (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"ancestorcount\" : n, (numeric) number of in-mempool ancestor transactions (including this one)\n \"ancestorsize\" : n, (numeric) size of in-mempool ancestors (including this one)\n \"ancestorfees\" : n, (numeric, optional) transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in duffs (DEPRECATED, returned only if config option -deprecatedrpc=fees is passed)\n \"fees\" : { (json object)\n \"base\" : n, (numeric) transaction fee, denominated in DASH\n \"modified\" : n, (numeric) transaction fee with fee deltas used for mining priority, denominated in DASH\n \"ancestor\" : n, (numeric) transaction fees of in-mempool ancestors (including this one) with fee deltas used for mining priority, denominated in DASH\n \"descendant\" : n (numeric) transaction fees of in-mempool descendants (including this one) with fee deltas used for mining priority, denominated in DASH\n },\n \"depends\" : [ (json array) unconfirmed transactions used as inputs for this transaction\n \"hex\", (string) parent transaction id\n ...\n ],\n \"spentby\" : [ (json array) unconfirmed transactions spending outputs from this transaction\n \"hex\", (string) child transaction id\n ...\n ],\n \"instantsend\" : true|false, (boolean) True if this transaction was locked via InstantSend\n \"unbroadcast\" : true|false (boolean) Whether this transaction is currently unbroadcast (initial broadcast not yet acknowledged by any peers)\n },\n ...\n}\n\nResult (for verbose = false and mempool_sequence = true):\n{ (json object)\n \"txids\" : [ (json array)\n \"hex\", (string) The transaction id\n ...\n ],\n \"mempool_sequence\" : n (numeric) The mempool sequence value.\n}\n\nExamples:\n> dash-cli getrawmempool true\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getrawmempool\", \"params\": [true]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"cbe99ab3e1314e704ae8ad95d34f62df9d0f02f042a87b03d63f45f1bc16f07f"} +{"command":"getrawtransaction","subcommand":null,"qualified":"getrawtransaction","signature_tail":"\"txid\" ( verbose \"blockhash\" )","is_family":false,"help_raw":"getrawtransaction \"txid\" ( verbose \"blockhash\" )\n\nReturn the raw transaction data.\n\nBy default, this call only returns a transaction if it is in the mempool. If -txindex is enabled\nand no blockhash argument is passed, it will return the transaction if it is in the mempool or any block.\nIf a blockhash argument is passed, it will return the transaction if\nthe specified block is available and the transaction is in that block.\n\nHint: Use gettransaction for wallet transactions.\n\nIf verbose is 'true', returns an Object with information about 'txid'.\nIf verbose is 'false' or omitted, returns a string that is serialized, hex-encoded data for 'txid'.\n\nArguments:\n1. txid (string, required) The transaction id\n2. verbose (boolean, optional, default=false) If false, return a string, otherwise return a json object\n3. blockhash (string, optional) The block in which to look for the transaction\n\nResult (if verbose is not set or set to false):\n\"str\" (string) The serialized, hex-encoded data for 'txid'\n\nResult (if verbose is set to true):\n{ (json object)\n \"in_active_chain\" : true|false, (boolean, optional) Whether specified block is in the active chain or not (only present with explicit \"blockhash\" argument)\n \"blockhash\" : \"hex\", (string, optional) the block hash\n \"height\" : n, (numeric) The block height\n \"confirmations\" : n, (numeric, optional) The confirmations\n \"blocktime\" : xxx, (numeric, optional) The block time expressed in UNIX epoch time\n \"time\" : n, (numeric, optional) Same as \"blocktime\"\n \"instantlock\" : true|false, (boolean) Current transaction lock state\n \"instantlock_internal\" : true|false, (boolean) Current internal transaction lock state\n \"chainlock\" : true|false, (boolean) The state of the corresponding block ChainLock\n \"hex\" : \"hex\", (string) The serialized, hex-encoded data for 'txid'\n \"txid\" : \"hex\", (string) The transaction id (same as provided)\n \"size\" : n, (numeric) The serialized transaction size\n \"version\" : n, (numeric) The version\n \"type\" : n, (numeric) The type\n \"locktime\" : xxx, (numeric) The lock time\n \"vin\" : [ (json array)\n { (json object)\n \"coinbase\" : \"hex\", (string, optional) The coinbase value (only if coinbase transaction)\n \"txid\" : \"hex\", (string, optional) The transaction id (if not coinbase transaction)\n \"vout\" : n, (numeric, optional) The output number (if not coinbase transaction)\n \"scriptSig\" : { (json object, optional) The script (if not coinbase transaction)\n \"asm\" : \"str\", (string) asm\n \"hex\" : \"hex\" (string) hex\n },\n \"sequence\" : n (numeric) The script sequence number\n },\n ...\n ],\n \"vout\" : [ (json array)\n { (json object)\n \"value\" : n, (numeric) The value in DASH\n \"n\" : n, (numeric) index\n \"scriptPubKey\" : { (json object)\n \"asm\" : \"str\", (string) the asm\n \"desc\" : \"str\", (string) Inferred descriptor for the output\n \"hex\" : \"hex\", (string) the hex\n \"type\" : \"str\", (string) The type, eg 'pubkeyhash'\n \"address\" : \"str\" (string, optional) The Dash address (only if a well-defined address exists)\n }\n },\n ...\n ],\n \"extraPayloadSize\" : n, (numeric, optional) Size of DIP2 extra payload. Only present if it's a special TX\n \"extraPayload\" : \"hex\", (string, optional) Hex-encoded DIP2 extra payload data. Only present if it's a special TX\n \"proRegTx\" : { (json object, optional) The masternode registration special transaction\n \"version\" : n, (numeric) Special transaction version\n \"type\" : n, (numeric) Masternode type\n \"collateralHash\" : \"hex\", (string) Collateral transaction hash\n \"collateralIndex\" : n, (numeric) Collateral transaction output index\n \"service\" : \"str\", (string) (DEPRECATED) IP address and port of the masternode\n \"addresses\" : { (json object) Network addresses of the masternode\n \"core_p2p\" : [ (json array, optional) Addresses used for protocol P2P\n \"str\", (string)\n ...\n ],\n \"platform_p2p\" : [ (json array, optional) Addresses used for Platform P2P\n \"str\", (string)\n ...\n ],\n \"platform_https\" : [ (json array, optional) Addresses used for Platform HTTPS API\n \"str\", (string)\n ...\n ]\n },\n \"ownerAddress\" : \"str\", (string) Dash address used for payee updates and proposal voting\n \"votingAddress\" : \"str\", (string) Dash address used for voting\n \"payoutAddress\" : \"str\", (string, optional) Dash address used for masternode reward payments\n \"pubKeyOperator\" : \"str\", (string) BLS public key used for operator signing\n \"operatorReward\" : n, (numeric) Fraction in %% of reward shared with the operator between 0 and 10000\n \"platformNodeID\" : \"hex\", (string, optional) Node ID derived from P2P public key for Platform P2P\n \"platformP2PPort\" : n, (numeric, optional) (DEPRECATED) TCP port of Platform P2P\n \"platformHTTPPort\" : n, (numeric, optional) (DEPRECATED) TCP port of Platform HTTP API\n \"inputsHash\" : \"hex\" (string) Hash of all the outpoints of the transaction inputs\n },\n \"proUpServTx\" : { (json object, optional) The masternode update service special transaction\n \"version\" : n, (numeric) Special transaction version\n \"type\" : n, (numeric) Masternode type\n \"proTxHash\" : \"hex\", (string) Hash of the masternode's initial ProRegTx\n \"service\" : \"str\", (string) (DEPRECATED) IP address and port of the masternode\n \"addresses\" : { (json object) Network addresses of the masternode\n \"core_p2p\" : [ (json array, optional) Addresses used for protocol P2P\n \"str\", (string)\n ...\n ],\n \"platform_p2p\" : [ (json array, optional) Addresses used for Platform P2P\n \"str\", (string)\n ...\n ],\n \"platform_https\" : [ (json array, optional) Addresses used for Platform HTTPS API\n \"str\", (string)\n ...\n ]\n },\n \"operatorPayoutAddress\" : \"str\", (string, optional) Dash address used for operator reward payments\n \"platformNodeID\" : \"hex\", (string, optional) Node ID derived from P2P public key for Platform P2P\n \"platformP2PPort\" : n, (numeric, optional) (DEPRECATED) TCP port of Platform P2P\n \"platformHTTPPort\" : n, (numeric, optional) (DEPRECATED) TCP port of Platform HTTP API\n \"inputsHash\" : \"hex\" (string) Hash of all the outpoints of the transaction inputs\n },\n \"proUpRegTx\" : { (json object, optional) The masternode update registrar special transaction\n \"version\" : n, (numeric) Special transaction version\n \"proTxHash\" : \"hex\", (string) Hash of the masternode's initial ProRegTx\n \"votingAddress\" : \"str\", (string) Dash address used for voting\n \"payoutAddress\" : \"str\", (string, optional) Dash address used for masternode reward payments\n \"pubKeyOperator\" : \"str\", (string) BLS public key used for operator signing\n \"inputsHash\" : \"hex\" (string) Hash of all the outpoints of the transaction inputs\n },\n \"proUpRevTx\" : { (json object, optional) The masternode operator revocation special transaction\n \"version\" : n, (numeric) Special transaction version\n \"proTxHash\" : \"hex\", (string) Hash of the masternode's initial ProRegTx\n \"reason\" : n, (numeric) Reason for masternode service revocation\n \"inputsHash\" : \"hex\" (string, optional) Hash of all the outpoints of the transaction inputs\n },\n \"cbTx\" : { (json object, optional) The coinbase special transaction\n \"version\" : n, (numeric) Special transaction version\n \"height\" : n, (numeric) Block height\n \"merkleRootMNList\" : \"hex\", (string) Merkle root of the masternode list\n \"merkleRootQuorums\" : \"hex\", (string, optional) Merkle root of the quorum list\n \"bestCLHeightDiff\" : n, (numeric, optional) Blocks between the current block and the last known block with a ChainLock\n \"bestCLSignature\" : \"hex\", (string, optional) Best ChainLock signature known by the miner\n \"creditPoolBalance\" : n (numeric, optional) Balance in the Platform credit pool\n },\n \"qcTx\" : { (json object, optional) The quorum commitment special transaction\n \"version\" : n, (numeric) Special transaction version\n \"height\" : n, (numeric) Block height\n \"commitment\" : { (json object) The quorum commitment payload\n \"version\" : n, (numeric) Quorum commitment payload version\n \"llmqType\" : n, (numeric) Quorum type\n \"quorumHash\" : \"hex\", (string) Hash of the quorum\n \"quorumIndex\" : n, (numeric) Index of the quorum\n \"signersCount\" : n, (numeric) Number of signers for the quorum\n \"signers\" : \"hex\", (string) Bitset representing the aggregated signers\n \"validMembersCount\" : n, (numeric) Number of valid members in the quorum\n \"validMembers\" : \"hex\", (string) Bitset of valid members\n \"quorumPublicKey\" : \"hex\", (string) BLS public key of the quorum\n \"quorumVvecHash\" : \"hex\", (string) Hash of the quorum verification vector\n \"quorumSig\" : \"hex\", (string) BLS recovered threshold signature of quorum\n \"membersSig\" : \"hex\" (string) BLS signature from all included commitments\n }\n },\n \"mnhfTx\" : { (json object, optional) The masternode hard fork signal special transaction\n \"version\" : n, (numeric) Special transaction version\n \"signal\" : { (json object) The masternode hard fork payload\n \"versionBit\" : n, (numeric) Version bit associated with the hard fork\n \"quorumHash\" : \"hex\", (string) Hash of the quorum\n \"sig\" : \"hex\" (string) BLS signature by a quorum public key\n }\n },\n \"assetLockTx\" : { (json object, optional) The asset lock special transaction\n \"version\" : n, (numeric) Special transaction version\n \"creditOutputs\" : [ (json array)\n { (json object)\n \"value\" : n, (numeric) The value in Dash\n \"valueSat\" : n, (numeric) The value in duffs\n \"scriptPubKey\" : { (json object)\n \"asm\" : \"str\", (string) The asm\n \"hex\" : \"hex\", (string) The hex\n \"type\" : \"str\" (string) The type, eg 'pubkeyhash'\n }\n },\n ...\n ]\n },\n \"assetUnlockTx\" : { (json object, optional) The asset unlock special transaction\n \"version\" : n, (numeric) Special transaction version\n \"index\" : n, (numeric) Index of the transaction\n \"fee\" : n, (numeric) Transaction fee in duffs awarded to the miner\n \"requestedHeight\" : n, (numeric) Payment chain block height known by Platform when signing the withdrawal\n \"quorumHash\" : \"hex\", (string) Hash of the quorum\n \"quorumSig\" : \"hex\" (string) BLS recovered threshold signature of quorum\n }\n}\n\nExamples:\n> dash-cli getrawtransaction \"mytxid\"\n> dash-cli getrawtransaction \"mytxid\" true\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getrawtransaction\", \"params\": [\"mytxid\", true]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/\n> dash-cli getrawtransaction \"mytxid\" false \"myblockhash\"\n> dash-cli getrawtransaction \"mytxid\" true \"myblockhash\"","help_sha256":"4858909b5b4ad5f0cbe66957b924e6125db30631c6be625ba7ff01c5e1fc0e3e"} +{"command":"getrawtransactionmulti","subcommand":null,"qualified":"getrawtransactionmulti","signature_tail":"{\"blockhash\":[\"txid\",...]} ( verbose )","is_family":false,"help_raw":"getrawtransactionmulti {\"blockhash\":[\"txid\",...]} ( verbose )\n\nReturns the raw transaction data for multiple transactions.\n\nThis call is an extension of getrawtransaction that supports multiple transactions.\nIt accepts a map of block hashes to a list of transaction hashes.\nA block hash of 0 indicates transactions not yet mined or in the mempool.\n\nArguments:\n1. transactions (json object, required) A JSON object with block hashes as keys and lists of transaction hashes as values (no more than 100 in total)\n {\n \"blockhash\": [ (json array) The block hash and the list of transaction ids to fetch\n \"txid\", (string) The transaction id\n ...\n ],\n }\n2. verbose (boolean, optional, default=false) If false, return a string, otherwise return a json object\n\nExamples:\n> dash-cli getrawtransactionmulti '{\"blockhash1\":[\"txid1\",\"txid2\"], \"0\":[\"txid3\"]}'\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getrawtransactionmulti\", \"params\": ['{\"blockhash1\":[\"txid1\",\"txid2\"], \"0\":[\"txid3\"]}]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"dc2324e9ff5591a48d05e2704b304adbc0fd6a51e596764c9203a2b0d74b97ac"} +{"command":"getreceivedbyaddress","subcommand":null,"qualified":"getreceivedbyaddress","signature_tail":"\"address\" ( minconf addlocked include_immature_coinbase )","is_family":false,"help_raw":"getreceivedbyaddress \"address\" ( minconf addlocked include_immature_coinbase )\n\nReturns the total amount received by the given address in transactions with at least minconf confirmations.\n\nArguments:\n1. address (string, required) The Dash address for transactions.\n2. minconf (numeric, optional, default=1) Only include transactions confirmed at least this many times.\n3. addlocked (boolean, optional, default=false) Whether to include transactions locked via InstantSend.\n4. include_immature_coinbase (boolean, optional, default=false) Include immature coinbase transactions.\n\nResult:\nn (numeric) The total amount in DASH received at this address.\n\nExamples:\n\nThe amount from transactions with at least 1 confirmation\n> dash-cli getreceivedbyaddress \"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\"\n\nThe amount including unconfirmed transactions, zero confirmations\n> dash-cli getreceivedbyaddress \"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\" 0\n\nThe amount with at least 6 confirmations\n> dash-cli getreceivedbyaddress \"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\" 6\n\nThe amount with at least 6 confirmations including immature coinbase outputs\n> dash-cli getreceivedbyaddress \"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\" 6 true true\n\nAs a JSON-RPC call\n> curl --user myusername --data-binary '{\"jsonrpc\": \"1.0\", \"id\": \"curltest\", \"method\": \"getreceivedbyaddress\", \"params\": [\"XunLY9Tf7Zsef8gMGL2fhWA9ZmMjt4KPw0\", 6]}' -H 'content-type: text/plain;' http://127.0.0.1:9998/","help_sha256":"28b481e0ae8233d55c4fed4d0c55c2e7ecedf8bad27369e3385cda1c2029be53"} +{"command":"getreceivedbylabel","subcommand":null,"qualified":"getreceivedbylabel","signature_tail":"\"label\" ( minconf addlocked include_immature_coinbase )","is_family":false,"help_raw":"getreceivedbylabel \"label\" ( minconf addlocked include_immature_coinbase )\n\nReturns the total amount received by addresses with