We put our best effort into covering all topics related to Dimecoin. Each section will cover a different category. Not all documentation may be 100% accurate, if you spot an error, please report it or submit a PR request on GitHub.

REMINDER: This documentation is always evolving. If you have not been here for a while, perhaps check again. Things may have been added or updated since your last visit!

Quick Reference#

Blockchain RPCs#

  • GetBestBlockHash: returns the header hash of the most recent block on the best blockchain.

  • GetBlock: gets a block with a particular header hash from the local block database either as a JSON object or as a serialized block.

  • GetBlockChainInfo: provides information about the current state of the blockchain.

  • GetBlockCount: returns the number of blocks in the local best blockchain.

  • GetBlockHash: returns the header hash of a block at the given height in the local best blockchain.

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

  • GetChainTips: returns information about the highest-height block (tip) of each local blockchain.

  • GetDifficulty: returns the proof-of-work difficulty as a multiple of the minimum difficulty.

  • GetMemPoolAncestors: returns all in-mempool ancestors for a transaction in the mempool.

  • GetMemPoolDescendants: returns all in-mempool descendants for a transaction in the mempool.

  • GetMemPoolEntry: returns mempool data for given transaction (must be in mempool).

  • GetMemPoolInfo: returns information about the node’s current transaction memory pool.

  • GetRawMemPool: returns all transaction identifiers (TXIDs) in the memory pool as a JSON array, or detailed information about each transaction in the memory pool as a JSON object.

  • GetTxOut: returns details about an unspent transaction output (UTXO).

  • GetTxOutProof: returns a hex-encoded proof that one or more specified transactions were included in a block.

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

  • PreciousBlock: treats a block as if it were received before others with the same work.

  • SaveMemPool: dumps the mempool to disk.

  • SendCheckPoint: sends a synchronized checkpoint. used for ACP implementation

  • VerifyChain: verifies each entry in the local blockchain database.

  • VerifyTxOutProof: verifies that a proof points to one or more transactions in a block, returning the transactions the proof commits to and throwing an RPC error if the block is not in our best blockchain.

Control RPCs#

  • GetMemoryInfo: returns information about memory usage.

  • Help: lists all available public RPC commands, or gets help for the specified RPC. Commands which are unavailable will not be listed, such as wallet RPCs if wallet support is disabled.

  • Logging: gets and sets the logging configuration

  • Stop: safely shuts down the Dimecoin Core server.

  • Uptime: returns the total uptime of the server.

Dimecoin RPCs#

  • GetGovernanceInfo: returns an object containing governance parameters.

  • GetSuperblockBudget: returns the absolute maximum sum of superblock payments allowed. (superblock not used)

  • GObject: provides a set of commands for managing governance objects and displaying information about them.

  • Masternode: provides a set of commands for managing masternodes and displaying information about them.

  • MasternodeList: returns a list of masternodes in different modes.

  • MnSync: returns the sync status, updates to the next step or resets it entirely.

  • SentinelPing: returns version of sentinel and its state.

  • Spork: shows information about the current state of sporks.

  • SporkUpdate: updates the value of the provided spork.

  • VoteRaw: compiles and relays a governance vote with provided external signature instead of signing vote internally

Generating RPCs#

  • GenerateBlock: mines a block with a set of ordered transactions immediately to a specified address or descriptor (before the RPC call returns).

Mining RPCs#

  • GetBlockTemplate: gets a block template or proposal for use with mining software.

  • GetMiningInfo: returns various mining-related information.

  • GetNetworkHashPS: returns the estimated network hashes per second based on the last n blocks.

  • PrioritiseTransaction: adds virtual priority or fee to a transaction, allowing it to be accepted into blocks mined by this node (or miners which use this node) with a lower priority or fee. (It can also remove virtual priority or fee, requiring the transaction have a higher priority or fee to be accepted into a locally-mined block.)

  • [SetGenerate] (../api/rpc-mining.md#setgenerate): enables cpu mining. only applicable for testnet

  • SubmitBlock: accepts a block, verifies it is a valid addition to the blockchain, and broadcasts it to the network. Extra parameters are ignored by Dimecoin Core but may be used by mining pools or other programs.

Network RPCs#

  • AddNode: attempts to add or remove a node from the addnode list, or to try a connection to a node once.

  • ClearBanned: clears list of banned nodes.

  • DisconnectNode: immediately disconnects from a specified node.

  • GetAddedNodeInfo: returns information about the given added node, or all added nodes (except onetry nodes). Only nodes which have been manually added using the addnode RPC will have their information displayed.

  • GetConnectionCount: returns the number of connections to other nodes.

  • GetNetTotals: returns information about network traffic, including bytes in, bytes out, and the current time.

  • GetNetworkInfo: returns information about the node’s connection to the network.

  • GetPeerInfo: returns data about each connected network node.

  • ListBanned: lists all banned IPs/Subnets.

  • Ping: sends a P2P ping message to all connected nodes to measure ping time. Results are provided by the getpeerinfo RPC pingtime and pingwait fields as decimal seconds. The P2P ping message is handled in a queue with all other commands, so it measures processing backlog, not just network ping.

  • SetBan: attempts add or remove a IP/Subnet from the banned list.

  • SetNetworkActive: disables/enables all P2P network activity.

Raw Transaction RPCs#

  • CombinePSBT: combines multiple partially-signed dimecoin transactions into one transaction.

  • CombineRawTransaction: combine multiple partially signed transactions into one transaction.

  • ConvertToPSBT: converts a network serialized transaction to a PSBT.

  • CreatePSBT: creates a transaction in the Partially Signed Transaction (PST) format.

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

  • DecodePSBT: returns a JSON object representing the serialized, base64-encoded partially signed dimecoin transaction.

  • DecodeRawTransaction: decodes a serialized transaction hex string into a JSON object describing the transaction.

  • DecodeScript: decodes a hex-encoded P2SH redeem script.

  • FinalizePSBT: finalizes the inputs of a PSBT. The PSBT produces a network serialized transaction if the transaction is fully signed.

  • FundRawTransaction: adds inputs to a transaction until it has enough in value to meet its out value.

  • GetRawTransaction: gets a hex-encoded serialized transaction or a JSON object describing the transaction. By default, Dimecoin 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 Dimecoin Core startup settings.

  • SendRawTransaction: validates a transaction and broadcasts it to the peer-to-peer network.

  • SignRawTransactionWithKey: signs a transaction in the serialized transaction format using private keys provided in the call.

  • TestMempoolAccept: returns the results of mempool acceptance tests indicating if raw transaction (serialized, hex-encoded) would be accepted by mempool.

Utility RPCs#

  • CreateMultiSig: creates a P2SH multi-signature address.

  • EstimateSmartFee: estimates the transaction fee per kilobyte that needs to be paid for a transaction to begin confirmation within a certain number of blocks and returns the number of blocks for which the estimate is valid.

  • GetStakingStatus: returns various staking information

  • SignMessageWithPrivKey: signs a message with a given private key.

  • ValidateAddress: returns information about the given dimecoin address.

  • VerifyMessage: verifies a signed message.

Wallet RPCs#

Note

The wallet RPCs are only available if Dimecoin Core was built with wallet support, which is the default.

  • AbandonTransaction: marks an in-wallet transaction and all its in-wallet descendants as abandoned. This allows their inputs to be respent.

  • AbortRescan: stops current wallet rescan.

  • AddMultiSigAddress: adds a P2SH multisig address to the wallet.

  • BackupWallet: safely copies wallet.dat to the specified file, which can be a directory or a path with filename.

  • DumpPrivKey: returns the wallet-import-format (WIP) private key corresponding to an address. (But does not remove it from the wallet.)

  • DumpWallet: creates or overwrites a file with all wallet keys in a human-readable format.

  • 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: returns information about the given dimecoin address.

  • GetAddressesByLabel: returns a list of every address assigned to a particular label.

  • GetBalance: gets the balance in decimal dime across all accounts or for a particular account.

  • GetBalances: returns an object with all balances denominated in DIME.

  • GetNewAddress: returns a new dimecoin address for receiving payments. If an account is specified, payments received with the address will be credited to that account.

  • GetRawChangeAddress: returns a new dimecoin address for receiving change. This is for use with raw transactions, not normal use.

  • GetReceivedByAddress: returns the total amount received by the specified address in transactions with the specified number of confirmations. It does not count coinbase transactions.

  • GetReceivedByLabel: returns the list of addresses assigned the specified label.

  • GetTransaction: gets detailed information about an in-wallet transaction.

  • GetUnconfirmedBalance: returns the wallet’s total unconfirmed balance.

  • GetWalletInfo: provides information about the wallet.

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

  • ImportMulti: imports addresses or scripts (with private keys, public keys, or P2SH redeem scripts) and optionally performs the minimum necessary rescan for all imports.

  • ImportPrivKey: adds a private key to your wallet. The key should be formatted in the wallet import format created by the dumpprivkey RPC.

  • ImportPrunedFunds: imports funds without the need of a rescan. Meant for use with pruned wallets.

  • ImportPubKey: imports a public key (in hex) that can be watched as if it were in your wallet but cannot be used to spend

  • ImportWallet: imports private keys from a file in wallet dump file format. These keys will be added to the keys currently in the wallet. This call may need to rescan all or parts of the blockchain for transactions affecting the newly-added keys, which may take several minutes.

  • KeyPoolRefill: fills the cache of unused pre-generated keys (the keypool).

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

  • ListLabels: returns the list of all labels, or labels that are assigned to addresses with a specific purpose.

  • ListLockUnspent: returns a list of temporarily unspendable (locked) outputs.

  • ListReceivedByAddress: lists the total number of dimecoin received by each address.

  • ListReceivedByLabel: lists the total number of dimecoin received by each label.

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

  • ListTransactions: returns the most recent transactions that affect the wallet.

  • ListUnspent: returns an array of unspent transaction outputs belonging to this wallet.

  • ListWallets: returns a list of currently loaded wallets.

  • LockUnspent: temporarily locks or unlocks specified transaction outputs. A locked transaction output will not be chosen by automatic coin selection when spending dimecoin. 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.

  • RemovePrunedFunds: deletes the specified transaction from the wallet. Meant for use with pruned wallets and as a companion to importprunedfunds.

  • RescanBlockChain: rescans the local blockchain for wallet related transactions.

  • ScanTxOutset: scans the unspent transaction output set for entries that match certain output descriptors.

  • SendMany: creates and broadcasts a transaction which sends outputs to multiple addresses.

  • SendToAddress: spends an amount to a given address.

  • SetTxFee: sets the transaction fee per kilobyte paid by transactions created by this wallet.

  • SignMessage: signs a message with the private key of an address.

  • SignRawTransactionWithWallet: signs a transaction in the serialized transaction format using private keys found in the wallet.

  • 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: 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: changes the wallet passphrase from ‘old passphrase’ to ‘new passphrase’.

Wallet RPCs (Deprecated)#

Note

The wallet RPCs are only available if Dimecoin Core was built with wallet support, which is the default.

  • GetAccount: returns the name of the account associated with the given address. *Deprecated_

  • GetAccountAddress: returns the current dimecoin address for receiving payments to this account. If the account doesn’t exist, it creates both the account and a new address for receiving payment. Once a payment has been received to an address, future calls to this RPC for the same account will return a different address. *Deprecated_

  • GetAddressesByAccount: returns a list of every address assigned to a particular account. *Deprecated_

  • SetAccount: puts the specified address in the given account. *Deprecated_

ZeroMQ (ZMQ) RPCs#