Return the block header at the given height.
Signature
blockchain.block.header(height, cp_height=0)
- version added: 1.3
- version changed: 1.4 cp_height parameter added
- version changed: 1.4.1
Arguments
height
The height of the block, a non-negative integer.
cp_height
Checkpoint height, a non-negative integer. Ignored if zero,
otherwise the following must hold:
height <= cp_height
Result
If cp_height is zero, the raw block header as a hexadecimal string.
Otherwise a dictionary with the following keys. This provides a proof that the given header is present in the blockchain; presumably the client has the merkle root hard-coded as a checkpoint.
branch
The merkle branch of *header* up to *root*, deepest pairing first.
header
The raw block header as a hexadecimal string. Starting with version 1.4.1,
AuxPoW data (if present in the original header) is truncated.
root
The merkle root of all blockchain headers up to and including cp_height.
Example Result
With height 5 and cp_height 0 on the Bitcoin Cash chain:
"0100000085144a84488ea88d221c8bd6c059da090e88f8a2c99690ee55dbba4e00000000e11c48fecdd9e72510ca84f023370c9a38bf91ac5cae88019bee94d24528526344c36649ffff001d1d03e477"
With cp_height 8:
{
"branch": [
"000000004ebadb55ee9096c9a2f8880e09da59c0d68b1c228da88e48844a1485",
"96cbbc84783888e4cc971ae8acf86dd3c1a419370336bb3c634c97695a8c5ac9",
"965ac94082cebbcffe458075651e9cc33ce703ab0115c72d9e8b1a9906b2b636",
"89e5daa6950b895190716dd26054432b564ccdc2868188ba1da76de8e1dc7591"
],
"header": "0100000085144a84488ea88d221c8bd6c059da090e88f8a2c99690ee55dbba4e00000000e11c48fecdd9e72510ca84f023370c9a38bf91ac5cae88019bee94d24528526344c36649ffff001d1d03e477",
"root": "e347b1c43fd9b5415bf0d92708db8284b78daf4d0e24f9c3405f45feb85e25db"
}
Return a concatenated chunk of block headers from the main chain.
Signature
blockchain.block.headers(start_height, count, cp_height=0)
- versionadded: 1.2
- versionchanged: 1.4 cp_height parameter added
- versionchanged: 1.4.1
Arguments
start_height
The height of the first header requested, a non-negative integer.
count
The number of headers requested, a non-negative integer.
cp_height
Checkpoint height, a non-negative integer. Ignored if zero,
otherwise the following must hold:
start_height + (count - 1) <= cp_height
Result
A dictionary with the following members:
count
The number of headers returned, between zero and the number
requested. If the chain has not extended sufficiently far, only
the available headers will be returned. If more headers than
max were requested at most "max" will be returned.
hex
The binary block headers concatenated together in-order as a
hexadecimal string. Starting with version 1.4.1, AuxPoW data (if present
in the original header) is truncated if "cp_height" is nonzero.
max
The maximum number of headers the server will return in a single
request.
The dictionary additionally has the following keys if "count" and
"cp_height" are not zero. This provides a proof that all the given
headers are present in the blockchain; presumably the client has the
merkle root hard-coded as a checkpoint.
root
The merkle root of all blockchain headers up to and including
"cp_height".
branch
The merkle branch of the last returned header up to "root",
deepest pairing first.
Example Response
See cp_height for an example of root and branch keys.
{
"count": 2,
"hex": "0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c010000006fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000982051fd1e4ba744bbbe680e1fee14677ba1a3c3540bf7b1cdb606e857233e0e61bc6649ffff001d01e36299"
"max": 2016
}
Return the estimated transaction fee per kilobyte for a transaction to be confirmed within a certain number of blocks.
Signature
blockchain.estimatefee(number)
- deprecated: 1.4.2
number
The number of blocks to target for confirmation.
Result
The estimated transaction fee in coin units per kilobyte, as a
floating point number. If the daemon does not have enough
information to make an estimate, the integer -1 is returned.
Example Result
0.00001
Subscribe to receive block headers when a new block is found.
Signature
blockchain.headers.subscribe()
Result
The header of the current block chain tip. The result is a dictionary with two members:
hex
The binary header as a hexadecimal string.
height
The height of the header, an integer.
Example Result
{
"height": 520481,
"hex": "00000020890208a0ae3a3892aa047c5468725846577cfcd9b512b50000000000000000005dc2b02f2d297a9064ee103036c14d678f9afc7e3d9409cf53fd58b82e938e8ecbeca05a2d2103188ce804c4"
}
Notifications
As this is a subscription, the client will receive a notification when a new block is found. The notification's signature is:
blockchain.headers.subscribe(header)
header
See "Result" above.
Note
should a new block arrive quickly, perhaps while the server is still processing prior blocks, the server may only notify of the most recent chain tip. The protocol does not guarantee notification of all intermediate block headers> In a similar way the client must be prepared to handle chain reorganisations. Should a re-org happen the new chain tip will not sit directly on top of the prior chain tip. The client must be able to figure out the common ancestor block and request any missing block headers to acquire a consistent view of the chain state.
Return the minimum fee a low-priority transaction must pay in order to be accepted to the daemon's memory pool.
Signature
blockchain.relayfee()
- deprecated: 1.4.2
Result
The fee in whole coin units as a floating point number.
Example Results
0.000001
Return the confirmed and unconfirmed balances of a script hash.
Signature
blockchain.scripthash.get_balance(scripthash)
- versionadded: 1.1
Arguments
scripthash
The script hash as a hexadecimal string.
Result
A dictionary with keys confirmed, unconfirmed, alert_incoming,
alert_outgoing. The value of each is the appropriate balance in
coin units as a string.
Result Example
{
"confirmed": "1.03873966",
"unconfirmed": "0.236844",
"alert_incoming": "278.236844",
"alert_outgoing": "300.236844"
}
Return the confirmed and unconfirmed history of a script hash.
Signature
blockchain.scripthash.get_history(scripthash)
- versionadded: 1.1
Arguments
scripthash
The script hash as a hexadecimal string.
Result
A list of confirmed transactions in blockchain order, with the
output of blockchain.scripthash.get_mempool appended to the
list. Each confirmed transaction is a dictionary with the following
keys:
height
The integer height of the block the transaction was confirmed in.
tx_hash
The transaction hash in hexadecimal.
tx_type
The transaction type as one of: `NONVAULT`, `ALERT_PENDING`, `ALERT_CONFIRMED`,
`ALERT_RECOVERED`, `INSTANT`, `RECOVERY`.
See blockchain.scripthash.get_mempool for how mempool transactions are returned.
Result Examples
[
{
"height": 200004,
"tx_hash": "acc3758bd2a26f869fcc67d48ff30b96464d476bca82c1cd6656e7d506816412",
"tx_type": "NONVAULT"
},
{
"height": 215008,
"tx_hash": "f3e1bf48975b8d6060a9de8884296abb80be618dc00ae3cb2f6cee3085e09403",
"tx_type": "ALERT_CONFIRMED"
}
]
[
{
"fee": 20000,
"height": 0,
"tx_hash": "9fbed79a1e970343fcd39f4a2d830a6bde6de0754ed2da70f489d0303ed558ec",
"tx_type": "ALERT_PENDING"
}
]
Return the unconfirmed transactions of a script hash.
Signature
blockchain.scripthash.get_mempool(scripthash)
- versionadded: 1.1
Arguments
scripthash
The script hash as a hexadecimal string.
Result
A list of mempool transactions in arbitrary order. Each mempool transaction is a dictionary with the following keys:
height
`0` if all inputs are confirmed, and `-1` otherwise.
tx_hash
The transaction hash in hexadecimal.
fee
The transaction fee in minimum coin units (satoshis).
tx_type
The transaction type as one of: `NONVAULT`, `ALERT_PENDING`, `INSTANT`, `RECOVERY`.
Result Example
[
{
"tx_hash": "45381031132c57b2ff1cbe8d8d3920cf9ed25efd9a0beb764bdb2f24c7d1c7e3",
"height": 0,
"fee": 24310,
"tx_type": "ALERT_PENDING"
}
]
Return an ordered list of UTXOs sent to a script hash.
Signature
blockchain.scripthash.listunspent(scripthash)
- versionadded: 1.1
Arguments
scripthash
The script hash as a hexadecimal string.
Result
A list of unspent outputs in blockchain order. This function takes the mempool into account. Mempool transactions paying to the address are included at the end of the list in an undefined order. Any output that is spent in the mempool does not appear. Each output is a dictionary with the following keys:
height
The integer height of the block the transaction was confirmed in.
`0` if the transaction is in the mempool.
tx_pos
The zero-based index of the output in the transaction's list of
outputs.
tx_hash
The output's transaction hash as a hexadecimal string.
value
The output's value in minimum coin units (satoshis).
spend_tx_num
The integer number of transaction alert that spent (locked) output.
`0` if the output is ready to spent.
`>0` if the output is locked by transaction alert (unable to spent) - alert outgoing.
`<0` if the output is going to be created by transaction alert (unable to spent) - alert incoming.
Result Example
[
{
"tx_pos": 0,
"value": 45318048,
"tx_hash": "9f2c45a12db0144909b5db269415f7319179105982ac70ed80d76ea79d923ebf",
"height": 437146,
"spend_tx_num": 463
},
{
"tx_pos": 0,
"value": 919195,
"tx_hash": "3d2290c93436a3e964cfc2f0950174d8847b1fbe3946432c4784e168da0f019f",
"height": 441696,
"spend_tx_num": 673
}
]
Subscribe to a script hash.
Signature
blockchain.scripthash.subscribe(scripthash)
- versionadded: 1.1
Arguments
scripthash
The script hash as a hexadecimal string.
Result
The status of the script hash.
Notifications
The client will receive a notification when the status of the script
hash changes. Its signature is blockchain.scripthash.subscribe(scripthash, status)
Unsubscribe from a script hash, preventing future notifications if its status changes.
Signature
blockchain.scripthash.unsubscribe(scripthash)
- versionadded: 1.4.2
Arguments
scripthash
The script hash as a hexadecimal string.
Result
Returns True if the scripthash was subscribed to, otherwise False.
Note that False might be returned even for something subscribed to earlier,
because the server can drop subscriptions in rare circumstances.
Broadcast a transaction to the network.
Signature
blockchain.transaction.broadcast(raw_tx)
- versionchanged: 1.1 errors returned as JSON RPC errors rather than as a result.
Arguments
raw_tx
The raw transaction as a hexadecimal string.
Result
The transaction hash as a hexadecimal string.
Note
protocol version 1.0 (only) does not respond according to the JSON RPC specification if an error occurs. If the daemon rejects the transaction, the result is the error message string from the daemon, as if the call were successful. The client needs to determine if an error occurred by comparing the result to the expected transaction hash.
Result Examples
"a76242fce5753b4212f903ff33ac6fe66f2780f34bdb4b33b175a7815a11a98e"
Protocol version 1.0 returning an error as the result:
"258: txn-mempool-conflict"
Return a raw transaction.
Signature
blockchain.transaction.get(tx_hash, verbose=false)
- versionchanged: 1.1 ignored argument height removed
- versionchanged: 1.2 verbose argument added
Arguments
tx_hash
The transaction hash as a hexadecimal string.
verbose
Whether a verbose coin-specific response is required.
Result
If verbose is false:
The raw transaction as a hexadecimal string.
If verbose is true:
The result is a coin-specific dictionary -- whatever the coin
daemon returns when asked for a verbose form of the raw
transaction.
Example Results
When verbose is false:
"01000000015bb9142c960a838329694d3fe9ba08c2a6421c5158d8f7044cb7c48006c1b48"
"4000000006a4730440220229ea5359a63c2b83a713fcc20d8c41b20d48fe639a639d2a824"
"6a137f29d0fc02201de12de9c056912a4e581a62d12fb5f43ee6c08ed0238c32a1ee76921"
"3ca8b8b412103bcf9a004f1f7a9a8d8acce7b51c983233d107329ff7c4fb53e44c855dbe1"
"f6a4feffffff02c6b68200000000001976a9141041fb024bd7a1338ef1959026bbba86006"
"4fe5f88ac50a8cf00000000001976a91445dac110239a7a3814535c15858b939211f85298"
"88ac61ee0700"
When verbose is true:
{
"blockhash": "0000000000000000015a4f37ece911e5e3549f988e855548ce7494a0a08b2ad6",
"blocktime": 1520074861,
"confirmations": 679,
"hash": "36a3692a41a8ac60b73f7f41ee23f5c917413e5b2fad9e44b34865bd0d601a3d",
"hex": "01000000015bb9142c960a838329694d3fe9ba08c2a6421c5158d8f7044cb7c48006c1b484000000006a4730440220229ea5359a63c2b83a713fcc20d8c41b20d48fe639a639d2a8246a137f29d0fc02201de12de9c056912a4e581a62d12fb5f43ee6c08ed0238c32a1ee769213ca8b8b412103bcf9a004f1f7a9a8d8acce7b51c983233d107329ff7c4fb53e44c855dbe1f6a4feffffff02c6b68200000000001976a9141041fb024bd7a1338ef1959026bbba860064fe5f88ac50a8cf00000000001976a91445dac110239a7a3814535c15858b939211f8529888ac61ee0700",
"locktime": 519777,
"size": 225,
"time": 1520074861,
"txid": "36a3692a41a8ac60b73f7f41ee23f5c917413e5b2fad9e44b34865bd0d601a3d",
"version": 1,
"vin": [
{
"scriptSig": {
"asm": "30440220229ea5359a63c2b83a713fcc20d8c41b20d48fe639a639d2a8246a137f29d0fc02201de12de9c056912a4e581a62d12fb5f43ee6c08ed0238c32a1ee769213ca8b8b[ALL|FORKID] 03bcf9a004f1f7a9a8d8acce7b51c983233d107329ff7c4fb53e44c855dbe1f6a4",
"hex": "4730440220229ea5359a63c2b83a713fcc20d8c41b20d48fe639a639d2a8246a137f29d0fc02201de12de9c056912a4e581a62d12fb5f43ee6c08ed0238c32a1ee769213ca8b8b412103bcf9a004f1f7a9a8d8acce7b51c983233d107329ff7c4fb53e44c855dbe1f6a4"
},
"sequence": 4294967294,
"txid": "84b4c10680c4b74c04f7d858511c42a6c208bae93f4d692983830a962c14b95b",
"vout": 0
}
],
"vout": [
{
"n": 0,
"scriptPubKey": {
"addresses": [ "12UxrUZ6tyTLoR1rT1N4nuCgS9DDURTJgP"],
"asm": "OP_DUP OP_HASH160 1041fb024bd7a1338ef1959026bbba860064fe5f OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a9141041fb024bd7a1338ef1959026bbba860064fe5f88ac",
"reqSigs": 1,
"type": "pubkeyhash"
},
"value": 0.0856647
},
{
"n": 1,
"scriptPubKey": {
"addresses": [ "17NMgYPrguizvpJmB1Sz62ZHeeFydBYbZJ"],
"asm": "OP_DUP OP_HASH160 45dac110239a7a3814535c15858b939211f85298 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a91445dac110239a7a3814535c15858b939211f8529888ac",
"reqSigs": 1,
"type": "pubkeyhash"
},
"value": 0.1360904
}
]
}
Return the merkle branch to a confirmed transaction given its hash and height.
Signature
blockchain.transaction.get_merkle(tx_hash, height)
Arguments
tx_hash
The transaction hash as a hexadecimal string.
height
The height at which it was confirmed, an integer.
Result
A dictionary with the following keys:
block_height
The height of the block the transaction was confirmed in.
merkle
A list of transaction hashes the current hash is paired with,
recursively, in order to trace up to obtain merkle root of the
block, deepest pairing first.
pos
The 0-based index of the position of the transaction in the
ordered list of transactions in the block.
Result Example
{
"merkle": [
"713d6c7e6ce7bbea708d61162231eaa8ecb31c4c5dd84f81c20409a90069cb24",
"03dbaec78d4a52fbaf3c7aa5d3fccd9d8654f323940716ddf5ee2e4bda458fde",
"e670224b23f156c27993ac3071940c0ff865b812e21e0a162fe7a005d6e57851",
"369a1619a67c3108a8850118602e3669455c70cdcdb89248b64cc6325575b885",
"4756688678644dcb27d62931f04013254a62aeee5dec139d1aac9f7b1f318112",
"7b97e73abc043836fd890555bfce54757d387943a6860e5450525e8e9ab46be5",
"61505055e8b639b7c64fd58bce6fc5c2378b92e025a02583303f69930091b1c3",
"27a654ff1895385ac14a574a0415d3bbba9ec23a8774f22ec20d53dd0b5386ff",
"5312ed87933075e60a9511857d23d460a085f3b6e9e5e565ad2443d223cfccdc",
"94f60b14a9f106440a197054936e6fb92abbd69d6059b38fdf79b33fc864fca0",
"2d64851151550e8c4d337f335ee28874401d55b358a66f1bafab2c3e9f48773d"
],
"block_height": 450538,
"pos": 710
}
Return a transaction hash and optionally a merkle proof, given a block height and a position in the block.
Signature
blockchain.transaction.id_from_pos(height, tx_pos, merkle=false)
+versionadded: 1.4
Arguments
height
The main chain block height, a non-negative integer.
tx_pos
A zero-based index of the transaction in the given block, an integer.
merkle
Whether a merkle proof should also be returned, a boolean.
Result
If merkle is false, the transaction hash as a hexadecimal string.
If true, a dictionary with the following keys:
tx_hash
The transaction hash as a hexadecimal string.
merkle
A list of transaction hashes the current hash is paired with,
recursively, in order to trace up to obtain merkle root of the
block, deepest pairing first.
Example Results
When merkle is false:
"fc12dfcb4723715a456c6984e298e00c479706067da81be969e8085544b0ba08"
When merkle is true:
{
"tx_hash": "fc12dfcb4723715a456c6984e298e00c479706067da81be969e8085544b0ba08",
"merkle": [
"928c4275dfd6270349e76aa5a49b355eefeb9e31ffbe95dd75fed81d219a23f8",
"5f35bfb3d5ef2ba19e105dcd976928e675945b9b82d98a93d71cbad0e714d04e",
"f136bcffeeed8844d54f90fc3ce79ce827cd8f019cf1d18470f72e4680f99207",
"6539b8ab33cedf98c31d4e5addfe40995ff96c4ea5257620dfbf86b34ce005ab",
"7ecc598708186b0b5bd10404f5aeb8a1a35fd91d1febbb2aac2d018954885b1e",
"a263aae6c470b9cde03b90675998ff6116f3132163911fafbeeb7843095d3b41",
"c203983baffe527edb4da836bc46e3607b9a36fa2c6cb60c1027f0964d971b29",
"306d89790df94c4632d652d142207f53746729a7809caa1c294b895a76ce34a9",
"c0b4eff21eea5e7974fe93c62b5aab51ed8f8d3adad4583c7a84a98f9e428f04",
"f0bd9d2d4c4cf00a1dd7ab3b48bbbb4218477313591284dcc2d7ca0aaa444e8d",
"503d3349648b985c1b571f59059e4da55a57b0163b08cc50379d73be80c4c8f3"
]
}
Return a histogram of the fee rates paid by transactions in the memory pool, weighted by transaction size.
Signature
mempool.get_fee_histogram()
- versionadded: 1.2
- deprecated: 1.4.2
Result
The histogram is an array of [fee, vsize] pairs, where vsize_n
is the cumulative virtual size of mempool transactions with a fee rate
in the interval [fee_n-1, fee_n], and fee_n-1 > fee_n.
Fee intervals may have variable size. The choice of appropriate intervals is currently not part of the protocol.
Example Result
[[12, 128812], [4, 92524], [2, 6478638], [1, 22890421]]
A newly-started server uses this call to get itself into other servers' peers lists. It should not be used by wallet clients.
Signature
server.add_peer(features)
- versionadded: 1.1
Arguments
features
The same information that a call to the sender's
`server.features` RPC call would return.
Result
A boolean indicating whether the request was tentatively accepted. The requesting server will appear in server.peers.subscribe when further sanity checks complete successfully.
Return a banner to be shown in the Electrum console.
Signature
server.banner()
Result
A string.
Example Result
"Welcome to Electrum!"
Return a server donation address.
Signature
server.donation_address()
Result
A string.
Example Result
"1BWwXJH3q6PRsizBkSGm2Uw4Sz1urZ5sCj"
Return a list of features and services supported by the server.
Signature
server.features()
Result
A dictionary of keys and values. Each key represents a feature or service of the server, and the value gives additional information.
The following features MUST be reported by the server. Additional key-value pairs may be returned.
hosts
A dictionary, keyed by host name, that this server can be reached
at. Normally this will only have a single entry; other entries
can be used in case there are other connection routes (e.g. Tor).
The value for a host is itself a dictionary, with the following
optional keys:
- ssl_port
An integer. Omit or set to `null` if SSL connectivity
is not provided.
- tcp_port
An integer. Omit or set to `null` if TCP connectivity is
not provided.
A server should ignore information provided about any host other
than the one it connected to.
genesis_hash
The hash of the genesis block. This is used to detect if a peer
is connected to one serving a different network.
hash_function
The hash function the server uses for script hashing.
The client must use this function to hash
pay-to-scripts to produce script hashes to send to the server.
The default is "sha256". "sha256" is currently the only
acceptable value.
server_version
A string that identifies the server software. Should be the same
as the first element of the result to the `server.version` RPC call.
- protocol_max
- protocol_min
Strings that are the minimum and maximum Electrum protocol
versions this server speaks. Example: "1.1".
pruning
An integer, the pruning limit. Omit or set to `null` if
there is no pruning limit. Should be the same as what would
suffix the letter `p` in the IRC real name.
Example Result
{
"genesis_hash": "000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943",
"hosts": {
"14.3.140.101": {"tcp_port": 51001, "ssl_port": 51002}
},
"protocol_max": "1.0",
"protocol_min": "1.0",
"pruning": null,
"server_version": "ElectrumX 1.0.17",
"hash_function": "sha256"
}
Return a list of peer servers. Despite the name this is not a subscription and the server must send no notifications.
Signature
server.peers.subscribe()
Result
An array of peer servers, each returned as a 3-element array. For example:
[
"107.150.45.210",
"e.anonyhost.org",
["v1.0", "p10000", "t", "s995"]
]
The first element is the IP address, the second is the host name (which might also be an IP address), and the third is a list of server features. Each feature and starts with a letter. 'v' indicates the server maximum protocol version, 'p' its pruning limit and is omitted if it does not prune, 't' is the TCP port number, and 's' is the SSL port number. If a port is not given for 's' or 't' the default port for the coin network is implied. If 's' or 't' is missing then the server does not support that transport.
Ping the server to ensure it is responding, and to keep the session alive. The server may disconnect clients that have sent no requests for roughly 10 minutes.
Signature
server.ping()
- versionadded: 1.2
Result
Returns null.
Identify the client to the server and negotiate the protocol version.
Only the first server.version message is accepted.
Signature
server.version(client_name="", protocol_version="1.4")
Arguments
client_name
A string identifying the connecting client software.
protocol_version
An array `[protocol_min, protocol_max]`, each of which is a
string. If `protocol_min` and `protocol_max` are the same,
they can be passed as a single string rather than as an array of
two strings, as for the default value.
The server should use the highest protocol version both support:
version = min(client.protocol_max, server.protocol_max)
If this is below the value:
max(client.protocol_min, server.protocol_min)
then there is no protocol version in common and the server must close the connection. Otherwise it should send a response appropriate for that protocol version.
Result
An array of 2 strings:
[server_software_version, protocol_version]
identifying the server and the protocol version that will be used for future communication.
Example
server.version("Electrum 3.0.6", ["1.1", "1.2"])
Example Result
["ElectrumX 1.2.1", "1.2"]
Pass through the masternode announce message to be broadcast by the daemon.
Whenever a masternode comes online or a client is syncing, they will send this message which describes the masternode entry and how to validate messages from it.
Signature
masternode.announce.broadcast(signmnb)
Arguments
signmnb
Signed masternode broadcast message in hexadecimal format.
Result
true if the message was broadcasted successfully otherwise
false.
Example
masternode.announce.broadcast("012b825a65a24e2eb8edadbe27c4716dab993bf1046a66da77268ec87dbdd9dfc80100000000ffffffff00000000000000000000ffff22db1fec42d82103bfc9e296bcf4d63eced97b204df8f7b2b90131d452abd2b50909fa2ce6f66d752103bfc9e296bcf4d63eced97b204df8f7b2b90131d452abd2b50909fa2ce6f66d754120e95f74e9c242776df88a586bd52d2bd1838b600e5f3ce9d45d04865ff39a994632d617e810a4480ce24c882980746bc517a92be027d2ea70e4baece33a763608b1f91e5b00000000451201002b825a65a24e2eb8edadbe27c4716dab993bf1046a66da77268ec87dbdd9dfc80100000000ffffffff57280bc007121a0db854998f72e9a9fd2a690f38abffbd9aa94256330c020000b0f91e5b00000000412027c03b1531ee14db6160a62a0cc8b1a7e93ae122bbc6f2dffec721e0ae308b0e19e68523dd429450612bda3a616b56411b4e35d098e25b7c83f19fd2d8537e970000000000000000")
Example Result
true
Returns the status of masternode.
Signature
masternode.subscribe(collateral)
Arguments
collateral
The txId and the index of the collateral.
A masternode collateral is a transaction with a specific amount of
coins, it's also known as a masternode identifier.
i.e. for DASH the required amount is 1,000 DASH or for $PAC is
500,000 $PAC.
Result
As this is a subscription, the client will receive a notification when the masternode status changes.
The status depends on the server the masternode is hosted, the internet connection, the offline time and even the collateral amount, so this subscription notice these changes to the user.
Example
masternode.subscribe("8c59133e714797650cf69043d05e409bbf45670eed7c4e4a386e52c46f1b5e24-0")
Example Result
{'method': 'masternode.subscribe', u'jsonrpc': u'2.0', u'result': u'ENABLED', 'params': ['8c59133e714797650cf69043d05e409bbf45670eed7c4e4a386e52c46f1b5e24-0'], u'id': 19}
Returns the list of masternodes.
Signature
masternode.list(payees)
Arguments
payees
An array of masternode payee addresses.
Result
An array with the masternodes information.
Example
masternode.list("['PDFHmjKLvSGdnWgDJSJX49Rrh0SJtRANcE', 'PDFHmjKLvSGdnWgDJSJX49Rrh0SJtRANcF']")
Example Result
[
{
"vin": "9d298c00dae8b491d6801f50cab2e0037852cb556c5619ddb07c50421x9a31ab",
"status": "ENABLED",
"protocol": 70213,
"payee": "PDFHmjKLvSGdnWgDJSJX49Rrh0SJtRANcE",
"lastseen": "2018-04-01 12:34",
"activeseconds": 1258000,
"lastpaidtime": "2018-03-10 12:29",
"lastpaidblock": 1234,
"ip": "1.0.0.1",
"paymentposition": 184,
"inselection": true,
"balance": 510350
},
{
"vin": "9d298c00dae8b491d6801f50cab2e0037852cb556c5619ddb07c50421x9a31ac",
"status": "ENABLED",
"protocol": 70213,
"payee": "PDFHmjKLvSGdnWgDJSJX49Rrh0SJtRANcF",
"lastseen": "2018-04-01 12:34",
"activeseconds": 1258000,
"lastpaidtime": "2018-03-15 05:29",
"lastpaidblock": 1234,
"ip": "1.0.0.2",
"paymentposition": 3333,
"inselection": false,
"balance": 520700
},
...,
...,
...,
...
]
Returns a diff between two deterministic masternode lists. The result also contains proof data.
Signature
protx.diff(base_height, height)
Arguments
base_height
The starting block height
1 <= base_height
height
The ending block height.
base_height <= height
Result
A dictionary with deterministic masternode lists diff plus proof data
Example
protx.diff(1, 20000)
Example Result
{
"baseBlockHash": "000000000b866e7fefc7df2b4b37f236175cee9ab6dc925a30c62401d92b7406",
"blockHash": "0000000005b3f97e0af8c72f9a96eca720237e374ca860938ba0d7a68471c4d6",
"cbTxMerkleTree": "0200000002c9802d02435cfe09e4253bc1ba4875e9a2f920d5d6adf005d5b9306e5322e6f476d885273422c2fe18e8c420d09484f89eaeee7bb7f4e1ff54bddeb94e099a910103",
"cbTx": "03000500010000000000000000000000000000000000000000000000000000000000000000ffffffff4b02204e047867335c08fabe6d6d8b2b76b7000000000470393f63424273736170747365743a7265737574736574010000000000000010000015770000000d2f6e6f64655374726174756d2f000000000336c8a119010000001976a914cb594917ad4e5849688ec63f29a0f7f3badb5da688ac6c62c216010000001976a914a3c5284d3cd896815ac815f2dd76a3a71cb3d8e688acba65df02000000001976a9146d649e1c05e89d30809ef39cc8ee1002c0c8c84b88ac00000000260100204e0000b301c3d88e4072305bec5d09e2ed6b836b23af640bcdefd7b8ae7e2ca182dc17",
"deletedMNs": [],
"mnList": [
{
"proRegTxHash": "6f0bdd7034ce8d3a6976a15e4b4442c274b5c1739fb63fc0a50f01425580e17e",
"confirmedHash": "000000000be653cd1fbc213239cfec83ca68da657f24cc05305d0be75d34e392",
"service": "173.61.30.231:19023",
"pubKeyOperator": "8da7ee1a40750868badef2c17d5385480cae7543f8d4d6e5f3c85b37fdd00a6b4f47726b96e7e7c7a3ea68b5d5cb2196",
"keyIDVoting": "b35c75cbc69433175d3459843e1f6ebe145bf6a3",
"isValid": true
}
],
"merkleRootMNList": "17dc82a12c7eaeb8d7efcd0b64af236b836bede2095dec5b3072408ed8c301b3"
}
Returns detailed information about a deterministic masternode.
Signature
protx.info(protx_hash)
Arguments
protx_hash
The hash of the initial ProRegTx.
Result
A dictionary with detailed deterministic masternode data
Example
protx.info("6f0bdd7034ce8d3a6976a15e4b4442c274b5c1739fb63fc0a50f01425580e17e")
Example Result
{
"proTxHash": "6f0bdd7034ce8d3a6976a15e4b4442c274b5c1739fb63fc0a50f01425580e17e",
"collateralHash": "b41439376b6117aebe6ad1ce31dcd217d4934fd00c104029ecb7d21c11d17c94",
"collateralIndex": 3,
"operatorReward": 0,
"state": {
"registeredHeight": 19525,
"lastPaidHeight": 20436,
"PoSePenalty": 0,
"PoSeRevivedHeight": -1,
"PoSeBanHeight": -1,
"revocationReason": 0,
"keyIDOwner": "b35c75cbc69433175d3459843e1f6ebe145bf6a3",
"pubKeyOperator": "8da7ee1a40750868badef2c17d5385480cae7543f8d4d6e5f3c85b37fdd00a6b4f47726b96e7e7c7a3ea68b5d5cb2196",
"keyIDVoting": "b35c75cbc69433175d3459843e1f6ebe145bf6a3",
"ownerKeyAddr": "ybGQ7a6e7dkJY2jxdbDwdBtyjKZJ8VB7YC",
"votingKeyAddr": "ybGQ7a6e7dkJY2jxdbDwdBtyjKZJ8VB7YC",
"addr": "173.61.30.231:19023",
"payoutAddress": "yWdXnYxGbouNoo8yMvcbZmZ3Gdp6BpySxL"
},
"confirmations": 984
}