Blockchain
The following RPC calls interact with the komodod
software, and are made available through the komodo-cli
software.
coinsupply height
The coinsupply
method returns the coin supply information for the indicated block height
. If no height is given, the method defaults to the blockchain's current height.
To use this method for large block heights, first execute the method for a small block height, such as 1000
. Then execute the method for an incrementally higher block height, such as 10000
. Continue increasing the height until reaching the desired height.
Name | Type | Description |
---|---|---|
"height" | (integer, optional) | the desired block height |
Name | Type | Description |
---|---|---|
"result" | (string) | whether the request was successful |
"coin" | (string) | the ticker symbol of the coin for Smart Chains, otherwise KMD |
"height" | (integer) | the height of this coin supply data |
"supply" | (float) | the transparent coin supply |
"zfunds" | (float) | the shielded coin supply (in z addrs) |
"sprout" | (float) | the sprout coin supply (in zc addrs) |
"total" | (float) | the total coin supply, i.e. sum of supply + zfunds |
Command:
./komodo-cli coinsupply 80000
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "coinsupply", "params": ["80000"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getbestblockhash
The getbestblockhash
method returns the hash of the best (tip) block in the longest block chain.
Name | Type | Description |
---|---|---|
(none) |
Name | Type | Description |
---|---|---|
"hex" | (string) | the block hash, hex encoded |
Command:
./komodo-cli getbestblockhash
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getbestblockhash", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getblock hash|height ( verbose )
The getblock
method returns the block's relevant state information.
The verbose input is optional. The default value is true, and it will return a json object with information about the indicated block. If verbose is false
, the command returns a string that is serialized hex-encoded data for the indicated block.
Name | Type | Description |
---|---|---|
hash OR height | string OR number, respectively | the block hash OR the block height |
verbose | (boolean, optional, default=true) | true returns a json object, false returns hex-encoded data |
Name | Type | Description |
---|---|---|
"hash" | (string) | the block hash (same as provided hash) |
"confirmations" | (numeric) | a confirmation number that is aware of the dPoW security service |
"rawconfirmations" | (numeric) | the raw confirmations (number of blocks on top of this block); the returned value is -1 if the block is not on the main chain |
"size" | (numeric) | the block size |
"height" | (numeric) | the block height or index (same as provided height) |
"version" | (numeric) | the block version |
"merkleroot" | (string) | the merkle root |
"tx" : [ "transaction_id" ,...] | (array of strings) | |
"time" | (numeric) | the block time in seconds since epoch (Jan 1 1970 GMT) |
"nonce" | (numeric) | the nonce |
"bits" | (string) | the bits |
"difficulty" | (numeric) | the difficulty |
"previousblockhash" | (string) | the hash of the previous block |
"nextblockhash" | (string) | the hash of the next block |
Name | Type | Description |
---|---|---|
"data" | (string) | a string that is serialized, hex-encoded data for the indicated block |
Command:
./komodo-cli getblock "0d060c88dd55c48a0e1ae663ca400d2edba709c8484ef84a727cabfbb950c320"
Command:
./komodo-cli getblock "0d060c88dd55c48a0e1ae663ca400d2edba709c8484ef84a727cabfbb950c320" false
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblock", "params": ["0d060c88dd55c48a0e1ae663ca400d2edba709c8484ef84a727cabfbb950c320"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblock", "params": ["0d060c88dd55c48a0e1ae663ca400d2edba709c8484ef84a727cabfbb950c320", false] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
Command:
./komodo-cli getblock 120
Command:
./komodo-cli getblock 120 false
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblock", "params": ["120"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblock", "params": ["120", false] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getblockchaininfo
The getblockchaininfo
method returns a json object containing state information about blockchain processing.
When the chain tip is at the last block before a network upgrade activation, the consensus.chaintip value is not equal to the consensus.nextblock value.
The getblockchaininfo
method now returns a new size_on_disk key, which is the size of the blockchain, on disk, in bytes.
Name | Type | Description |
---|---|---|
(none) |
Name | Type | Description |
---|---|---|
"chain" | (string) | the current network name, as defined in BIP70 (main, test, regtest) |
"blocks" | (numeric) | the current number of blocks processed in the server |
"headers" | (numeric) | the current number of headers we have validated |
"bestblockhash" | (string) | the hash of the currently best block |
"difficulty" | (numeric) | the current difficulty |
"verificationprogress" | (numeric) | an estimate of verification progress [0..1] |
"chainwork" | (string) | the total amount of work in the active chain, in hexadecimal |
"pruned" | (bool) | whether the current state is in pruning mode; if true, the blockchain will not keep all transaction and block information, to preserve disk space |
"size_on_disk" | (numeric) | the size of the blockchain on disk, measured in bytes |
"commitments" | (numeric) | the current number of note commitments in the commitment tree |
"softforks": { ..... } | (array) | the status of softforks in progress |
"id" | (string) | the name of the softfork |
"version" | (numeric) | the block version |
"enforce": { ... } | (object) | the progress toward enforcing the softfork rules for blocks of the new version |
"status" | (boolean) | true if threshold reached |
"found" | (numeric) | the number of blocks with the new version found |
"required" | (numeric) | the number of blocks required to trigger |
"window" | (numeric) | the maximum size of the examined window of recent blocks |
"reject": { ... } | (object) | the progress toward rejecting pre-softfork blocks (same fields as "enforce") |
"upgrades": | (object) | the status of network upgrades |
"xxxxxxxxx_string": | (string) | the branch ID of the upgrade |
"name" | (string) | the name of upgrade |
"activationheight" | (numeric) | the block height of activation |
"status" | (string) | the status of the upgrade |
"info" | (string) | additional information about the upgrade |
"consensus": { ..... } | (object) | branch IDs of the current and upcoming consensus rules |
"chaintip" | (string) | branch ID used to validate the current chain tip |
"nextblock" | (string) | branch ID under which the next block will be validated |
Command:
./komodo-cli getblockchaininfo
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockchaininfo", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getblockcount
The getblockcount
method returns the number of blocks in the best valid block chain.
Name | Type | Description |
---|---|---|
(none) |
Name | Type | Description |
---|---|---|
data | (numeric) | the current block count |
Command:
./komodo-cli getblockcount
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockcount", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getblockhash index
The getblockhash
method returns the hash of the indicated block index, according to the best blockchain at the time provided.
Name | Type | Description |
---|---|---|
index | (numeric, required) | the block index |
Name | Type | Description |
---|---|---|
"hash" | (string) | the block hash |
Command:
./komodo-cli getblockhash 100
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockhash", "params": [1000] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getblockhashes high low '{"noOrphans": bool, "logicalTimes": bool}'
The getblockhashes
method returns an array of hashes of blocks within the timestamp range provided.
The method requires timestampindex to be enabled.
Name | Type | Description |
---|---|---|
high | (numeric, required) | the newer block timestamp |
low | (numeric, required) | the older block timestamp |
options | (string, required) | a json object |
"noOrphans" | (boolean) | a value of true implies that the method will only include blocks on the main chain |
"logicalTimes" | (boolean) | a value of true implies that the method will only include logical timestamps with hashes |
Name | Type | Description |
---|---|---|
"hash" | (string) | the block hash |
"blockhash" | (string) | the block hash |
"logicalts" | (numeric) | the logical timestamp |
Command:
./komodo-cli getblockhashes 1531614698 1531614498
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockhashes", "params": [1531614698, 1531614498] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
Command:
./komodo-cli getblockhashes 1531614698 1531614498 '{"noOrphans":false, "logicalTimes":true}'
getblockheader "hash" ( verbose )
The getblockheader
method returns information about the indicated block.
The verbose input is optional. If verbose is false, the method returns a string that is serialized, hex-encoded data for the indicated blockheader. If verbose is true, the method returns a json object with information about the indicated blockheader.
Name | Type | Description |
---|---|---|
"hash" | (string, required) | the block hash |
verbose | (boolean, optional, default=true) | true returns a json object, false returns hex-encoded data |
Name | Type | Description |
---|---|---|
"hash" | (string) | the block hash (same as provided) |
"confirmations" | (numeric) | a confirmation number that is aware of the dPoW security service |
"rawconfirmations" | (numeric) | the raw confirmations (number of blocks on top of this block); if the block is not on the main chain, a value of -1 is returned |
"height" | (numeric) | the block height or index |
"version" | (numeric) | the block version |
"merkleroot" | (string) | the merkle root |
"time" | (numeric) | the block time in seconds since epoch (Jan 1 1970 GMT) |
"nonce" | (numeric) | the nonce |
"bits" | (string) | the bits |
"difficulty" | (numeric) | the difficulty |
"previousblockhash" | (string) | the hash of the previous block |
"nextblockhash" | (string) | the hash of the next block |
Name | Type | Description |
---|---|---|
"data" | (string) | a string that is serialized hex-encoded data for the indicated block |
Command:
./komodo-cli getblockheader "0d060c88dd55c48a0e1ae663ca400d2edba709c8484ef84a727cabfbb950c320"
Command:
./komodo-cli getblockheader "0d060c88dd55c48a0e1ae663ca400d2edba709c8484ef84a727cabfbb950c320" false
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getblockheader", "params": ["0d060c88dd55c48a0e1ae663ca400d2edba709c8484ef84a727cabfbb950c320"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getchaintips
The getchaintips
method returns information about all known tips in the block tree, including the main chain and any orphaned branches.
Name | Type | Description |
---|---|---|
(none) |
Name | Type | Description |
---|---|---|
"height" | (numeric) | the height of the chain tip |
"hash" | (string) | the block hash of the tip |
"branchlen" | (numeric) | 0 for main chain |
"status" | (string) | "active" for the main chain |
"height" | (numeric) | the height of the branch tip |
"hash" | (string) | the blockhash of the branch tip |
"branchlen" | (numeric) | the length of the branch connecting the tip to the main chain |
"status" | (string) | the status of the chain |
Status | Description |
---|---|
"invalid" | this branch contains at least one invalid block |
"headers-only" | not all blocks for this branch are available, but the headers are valid |
"valid-headers" | all blocks are available for this branch, but they were never fully validated |
"valid-fork" | this branch is not part of the active chain, but is fully validated |
"active" | this is the tip of the active main chain, which is certainly valid |
Command:
./komodo-cli getchaintips
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getchaintips", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getchaintxstats nblocks blockhash
The method getchaintxstats
returns statistics about the total number and rate of transactions in the chain.
Name | Type | Description |
---|---|---|
nblocks | (numeric, optional) | the number of blocks in the averaging window. |
blockhash | (string, optional) | the hash of the block which ends the window |
Name | Type | Description |
---|---|---|
"time" | (numeric) | the timestamp for the final block in the window in UNIX format |
"txcount" | (numeric) | the total number of transactions in the chain up to this point |
"window_final_block_hash" | (string) | the hash of the final block in the window |
"window_block_count" | (numeric) | the size of the window in the number of blocks |
"window_tx_count" | (numeric) | the number of transactions in the window; this value is only returned if window_block_count is > 0. |
"window_interval" | (numeric) | the elapsed time in the window in seconds; this value is only returned if window_block_count is > 0. |
"txrate" | (numeric) | the average rate of transactions per second in the window; this value is only returned if window_interval is > 0. |
Command:
./komodo-cli getchaintxstats
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getchaintxstats", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getdifficulty
The getdifficulty
method returns the proof-of-work difficulty as a multiple of the minimum difficulty.
Name | Type | Description |
---|---|---|
(none) |
Name | Type | Description |
---|---|---|
number | (numeric) | the proof-of-work difficulty as a multiple of the minimum difficulty |
Command:
./komodo-cli getdifficulty
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getdifficulty", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getlastsegidstakes depth
The getlastsegidstakes
method returns an object containing the number of blocks staked by each segid in the last X
number of blocks, where the value of X
is equal to the indicated depth
.
-ac_staked
Smart ChainsName | Type | Description |
---|---|---|
depth | (numeric, required) | the number of blocks to scan, starting from the current height and working backwards |
Name | Type | Description |
---|---|---|
"NotSet" | (numeric) | the number of blocks that have no SegId set |
"PoW" | (numeric) | the number of blocks created through PoW |
"PoSPerc" | (numeric) | the percentage of blocks created through PoS |
"SegIds" | (json object) | the json containing the data of number of blocks in each SegId |
"n" | (numeric) | the number of blocks staked from SegId n in the last X blocks, where X is equal to the indicated depth |
Command:
./komodo-cli getlastsegidstakes 1000
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getlastsegidstakes", "params": [1000] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getmempoolinfo
The getmempoolinfo
method returns details on the active state of the transaction memory pool.
Name | Type | Description |
---|---|---|
(none) |
Name | Type | Description |
---|---|---|
"size" | (numeric) | the current transaction count |
"bytes" | (numeric) | the sum of all transaction sizes |
"usage" | (numeric) | the total memory usage for the mempool |
Command:
./komodo-cli getmempoolinfo
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getmempoolinfo", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getrawmempool ( verbose )
The getrawmempool
method returns all transaction ids in the memory pool as a json array of transaction ids.
The verbose input is optional and is false by default. When it is true, the method instead returns a json object with various related data.
Name | Type | Description |
---|---|---|
verbose | (boolean, optional, default=false) | true for a json object, false for a json array of transaction ids |
Name | Type | Description |
---|---|---|
"transaction_id" | (string) | the transaction id |
Name | Type | Description |
---|---|---|
"transaction_id": { .... } | (json object) | |
"size" | (numeric) | the transaction size in bytes |
"fee" | (numeric) | the transaction fee |
"time" | (numeric) | the local time transaction entered pool in seconds since 1 Jan 1970 GMT |
"height" | (numeric) | the block height wherein the transaction entered the mempool |
"startingpriority" | (numeric) | the priority when the transaction entered the mempool |
"currentpriority" | (numeric) | the transaction priority at the current height |
"depends": { ... } | (array) | unconfirmed transactions used as inputs for this transaction |
"transaction_id" | (string) | the parent transaction id |
Command:
./komodo-cli getrawmempool true
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getrawmempool", "params": [true] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
getspentinfo '{"txid": "txid_string", "index"}'
The getspentinfo
method returns the transaction id and index where the given output is spent.
The method requires spentindex to be enabled.
Name | Type | Description |
---|---|---|
"txid" | (string) | the hex string of the transaction id |
"index" | (number) | the output's index |
Name | Type | Description |
---|---|---|
"txid" | (string) | the transaction id |
"index" | (number) | the spending input index |
Command:
./komodo-cli getspentinfo '{"txid": "4479f2c05ba22adf2333db724f247a09effcc9edea8c079da0da05d3a0451064", "index": 0}'
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getspentinfo", "params": [{"txid": "4479f2c05ba22adf2333db724f247a09effcc9edea8c079da0da05d3a0451064", "index": 0}] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
gettxout "txid_string" vout_number ( includemempool_bool )
The gettxout
method returns details about an unspent transaction output.
Name | Type | Description |
---|---|---|
"txid" | (string, required) | the transaction id |
vout | (numeric, required) | the vout value |
includemempool | (boolean, optional) | whether to include the mempool |
Name | Type | Description |
---|---|---|
"bestblock" | (string) | the block hash |
"confirmations" | (numeric) | a confirmation number that is aware of the dPoW security service aware |
"rawconfirmations" | (numeric) | the raw confirmations (number of blocks on top of this block with this transaction) |
"value" | (numeric) | the transaction value |
"scriptPubKey": | (json object) | |
"asm" | (string) | scriptPubKey in assembly format |
"hex" | (string) | scriptPubKey in hex format |
"reqSigs" | (numeric) | the number of required signatures |
"type" | (string) | the type, e.g. pubkeyhash |
"addresses" | (array of strings) | an array of Komodo addresses |
"address" | (string) | the blockchain address |
"version" | (numeric) | the version |
"coinbase" | (boolean) | whether this is a coinbase transaction |
Command:
./komodo-cli gettxout "d7f9b34ad3e86f48fce55dbec1f2925b8dcbd15199977fd75d224254db9ae80d" 1
You can find your rpcuser
, rpcpassword
, and rpcport
in the coin's .conf file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "gettxout", "params": ["d7f9b34ad3e86f48fce55dbec1f2925b8dcbd15199977fd75d224254db9ae80d", 1] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
gettxoutproof '["transaction_id", ... ]' ( "blockhash_string" )
The gettxoutproof
method returns a hex-encoded proof showing that the indicated transaction was included in a block.
The gettxoutproof method relies on the txindex runtime parameter. This parameter is enabled by default on all KMD-based blockchains, and should never be disabled.
Name | Type | Description |
---|---|---|
"txid" | (string) | a transaction hash |
"blockhash" | (string, optional) | if specified, the method looks for the relevant transaction id in this block hash |
Name | Type | Description |
---|---|---|
"data" | (string) | a string that is a serialized, hex-encoded data for the proof |
Command:
./komodo-cli gettxoutproof '["c71f4a2ebf87bdd588e3aa168917933ee4be1661245ebf52d5708a8339cf9d7a"]' "0a28e2fb630b282138bf23bb79f597b11acff6f57c8d9c1c10fa54770035c813"
gettxoutsetinfo
The gettxoutsetinfo
method returns statistics about the unspent transaction output set.
Note this call may take a long time to complete, depending on the state of your blockchain.
Name | Type | Description |
---|---|---|
(none) |
Name | Type | Description |
---|---|---|
"height" | (numeric) | the current block height (index) |
"bestblock" | (string) | the best block hash hex |
"transactions" | (numeric) | the number of transactions |
"txouts" | (numeric) | the number of output transactions |
"bytes_serialized" | (numeric) | the serialized size |
"hash_serialized" | (string) | the serialized hash |
"total_amount" | (numeric) | the total amount |
Command:
./komodo-cli gettxoutsetinfo
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "gettxoutsetinfo", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
kvsearch "key_string"
The kvsearch
method searches for a key stored via the kvupdate command.
This feature is only available for Smart Chains.
Name | Type | Description |
---|---|---|
key | (string, required) | the key for which the user desires to search the chain |
Name | Type | Description |
---|---|---|
"coin" | (string) | the chain on which the key is stored |
"currentheight" | (numeric) | the current height of the chain |
"key" | (string) | the key |
"keylen" | (string) | the length of the key |
"owner" | (string) | a hex string representing the owner of the key |
"height" | (numeric) | the height at which the key was stored |
"expiration" | (numeric) | the height at which the key will expire |
"flags" | (numeric) | 1 if the key was created with a password; 0 otherwise |
"value" | (string) | the stored value |
"valuesize" | (string) | the amount of characters stored |
Command:
./komodo-cli kvsearch examplekey
You can find your rpcuser
, rpcpassword
, and rpcport
in the coin's .conf file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "kvsearch", "params": ["examplekey"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
kvupdate "key_string" "value_string" days "passphrase_string"
The kvupdate
method stores a key/value pair via OP_RETURN.
This feature is available only for Smart Chains. The maximum value memory size is 8kB.
Name | Type | Description |
---|---|---|
"key" | (string, required) | key (should be unique) |
"value" | (string, required) | value |
"days" | (numeric, required) | amount of days before the key expires (1440 blocks/day); minimum 1 day |
"passphrase" | (string, optional) | passphrase required to update this key |
Name | Type | Description |
---|---|---|
"coin" | (string) | the chain on which the key is stored |
"height" | (numeric) | the height at which the key was stored |
"expiration" | (numeric) | the height at which the key will expire |
"flags" | (string) | the amount of days the key will be stored |
"key" | (numeric) | the stored key |
"keylen" | (numeric) | the length of the key |
"value" | (numeric) | the stored value |
"valuesize" | (string) | the length of the stored value |
"fee" | (string) | the transaction fee paid to store the key |
"txid" | (string) | the transaction id |
Command:
./komodo-cli kvupdate "examplekey" "examplevalue" 2 "examplepassphrase"
You can find your rpcuser
, rpcpassword
, and rpcport
in the coin's .conf file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "kvupdate", "params": ["examplekey", "examplevalue", "2", "examplepassphrase"] }' -H 'content-type: text/plain;' http://127.0.0.1:9801
minerids height
The minerids
method returns information about the notary nodes and external miners at a specific block height. The response will calculate results according to the 2000 blocks proceeding the indicated "height" block.
Name | Type | Description |
---|---|---|
heights | (number) | the block height for the query |
Name | Type | Description |
---|---|---|
"mined": | ||
"notaryid" | (number) | the id of the specific notary node |
"kmdaddress" | (string) | the KMD address of the notary node |
"pubkey" | (string) | the public signing key of the notary node |
"blocks" | (number) |
Command:
./komodo-cli minerids 1000000
You can find your rpcuser
, rpcpassword
, and rpcport
in the coin's .conf file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "minerids", "params": ["1000000"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
notaries height timestamp
notaries height
notaries timestamp
The notaries
method returns the public key, BTC address, and KMD address for each Komodo notary node.
Either or both of the height and timestamp parameters will suffice.
Name | Type | Description |
---|---|---|
height | (number) | the block height desired for the query |
timestamp | (number) | the timestamp of the block desired for the query |
Name | Type | Description |
---|---|---|
"notaries": [ ... ] | (array) | |
"pubkey" | (string) | the public signing key of the indicated notary node, used on the KMD network to create notary-node authorized transactions |
"BTCaddress" | (string) | the public BTC address the notary node uses on the BTC blockchain to create notarizations |
"KMDaddress" | (string) | the public KMD address the notary node uses on the KMD blockchain to create notarizations |
"numnotaries" | (number) | the number of notary nodes; typically this value is 64, but the value may vary on rare circumstances, such as during election seasons |
"height" | (number) | the block height number at which the notary-node information applies |
"timestamp" | (number) | the timestamp at which the notary-node information applies |
Command:
./komodo-cli notaries 1536365515
You can find your rpcuser
, rpcpassword
, and rpcport
in the coin's .conf file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "notaries", "params": ["1000000"] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
verifychain ( checklevel numblocks )
The verifychain
method verifies the coin daemon's blockchain database.
Depending on the state of your blockchain database and daemon, this call can take a prolonged period of time to complete.
Name | Type | Description |
---|---|---|
checklevel | (numeric, optional, 0-4, default=3) | indicates the thoroughness of block verification |
numblocks | (numeric, optional, default=288, 0=all) | indicates the number of blocks to verify |
Name | Type | Description |
---|---|---|
true/false | (boolean) | whether the verification was successful |
Command:
./komodo-cli verifychain
You can find the rpcuser
, rpcpassword
, and rpcport
in the coin's .conf
file.
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "verifychain", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:$rpcport/
verifytxoutproof "proof_string"
The verifytxoutproof
method verifies that a proof points to a transaction in a block. It returns the transaction to which the proof is committed, or it will throw an RPC error if the block is not in the current best chain.
Name | Type | Description |
---|---|---|
"proof_string" | (string, required) | the hex-encoded proof generated by gettxoutproof |
Name | Type | Description |
---|---|---|
"txid" | (string) | the transaction ids to which the proof commits; the array is empty if the proof is invalid |
Command:
./komodo-cli verifytxoutproof "040000004cd8bd98c66020496d0b34a5f5412400146ba10d6c7ab4286f84f7008d8d390e9ca9575183f60906e293e9766997396bec59f1c0b966085de3d17f8ac3c9d5280000000000000000000000000000000000000000000000000000000000000000da05975bf50e0f202d004b81fcc388cfd411d8c7c59a548e070b5affe938ce8ce830f10b298b00002402939a9a31df1305b40d26d9748283b102c708258717248d0d63f01d2957d8e3dcf56f6e03000000022e4babc29707fbdd8da2e4277b7c8b8b09e837f409eb047c936904d75fc8e6267a9dcf39838a70d552bf5e246116bee43e93178916aae388d5bd87bf2e4a1fc7010d"
Command:
curl --user $rpcuser:$rpcpassword --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "verifytxoutproof", "params": ["040000004cd8bd98c66020496d0b34a5f5412400146ba10d6c7ab4286f84f7008d8d390e9ca9575183f60906e293e9766997396bec59f1c0b966085de3d17f8ac3c9d5280000000000000000000000000000000000000000000000000000000000000000da05975bf50e0f202d004b81fcc388cfd411d8c7c59a548e070b5affe938ce8ce830f10b298b00002402939a9a31df1305b40d26d9748283b102c708258717248d0d63f01d2957d8e3dcf56f6e03000000022e4babc29707fbdd8da2e4277b7c8b8b09e837f409eb047c936904d75fc8e6267a9dcf39838a70d552bf5e246116bee43e93178916aae388d5bd87bf2e4a1fc7010d"] }' -H 'content-type: text/plain;' http://127.0.0.1:9801