this is the document of ela json rpc interfaces. it follows json-rpc 2.0 protocol but also keeps compatible with 1.0 version. That means both named params and positional params are acceptable.
"id" is optional, which will be sent back in the result samely if you add it in a request. It is needed when you want to distinguish different requests.
"jsonrpc" is optional. It tells which version this request uses. In version 2.0 it is required, while in version 1.0 it does not exist.
Return the hash of the most recent block
result:
name | type | description |
---|---|---|
blockhash | string | the hash of the most recent block |
Request:
{
"jsonrpc": "2.0",
"method":"getbestblockhash",
"params": [],
"id": 1
}
Response:
{
"id": 1,
"jsonrpc": "2.0",
"result": "68692d63a8bfc8887553b97f99f09e523d34a2b599bf5b388436b2ddc85ed76e",
"error": null
}
Return the hash of the specific blockchain height.
name | type | description |
---|---|---|
height | integer | the height of blockchain |
name | type | description |
---|---|---|
blockhash | string | the hash of the block |
Request:
{
"method":"getblockhash",
"params":{"height":1}
}
Response:
{
"id": null,
"jsonrpc": "2.0",
"result": "3893390c9fe372eab5b356a02c54d3baa41fc48918bbddfbac78cf48564d9d72",
"error": null
}
Return the block information of the specific blockchain hash.
name | type | description |
---|---|---|
blockhash | string | the blockchain hash |
verbosity | int | the verbosity of result, can be 0, 1, 2 |
Request:
{
"method":"getblock",
"params":{
"blockhash":"f3a7469bb59452ab665f8b8870e1fb30e6a7181e2ea70f377e218d5b13cfa8ed",
"verbosity": 0},
}
Response when verbosity is 0:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": "00000000c0433b918f500392869aa14cf7a909430fd94502b5c9f05421c9da7519bd6a65219184ea3c0a2973b90b8402c8405b76d7fbe10a268f6de7e4f48e93f5d03df7c31e095bffff7f2000000000d107000001000000010000000000000000000000000000000000000000000000000000000000000000000000002cfabe6d6d3ca6bcc86bada4642fea709731f1653bd34b28ab15b790e102e14e0d7bd138d80100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffff7f00000000000000000000000000000000000000000000000000000000000000000ce39baabcdbb4adce38c5f23314c5f63a536bbcc8f0a47c7054c36ca27f5acd771d095b00000000020000000101000000000403454c4101000846444170b0e427d2010000000000000000000000000000000000000000000000000000000000000000ffffffffffff02b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a31b2913000000000000000000129e9cf1c5f336fcf3a6c954444ed482c5d916e506b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a341b52c000000000000000000219e9cc4320c3018ced30242b25c03e13a1b2f57c7d107000000"
}
Response when verbosity is 1:
name | type | description |
---|---|---|
hash | string | the blockchain hash |
confirmations | integer | confirmations |
size | integer | the size of a block in bytes |
strippedsize | integer | equals to size |
weight | integer | This block’s weight |
height | integer | the height of block |
version | integer | block header's version |
versionhex | string | block header's version in hex format |
merkleroot | string | the merkleroot hash of this block |
tx | array[string] | transaction hashes of this block, in an array |
time | integer | the Unix timestamp of this block |
mediantime | integer | equals to time |
nonce | integer | the nonce of this block |
bits | integer | bits of this block |
difficulty | string | difficulty of this block |
chainwork | string | The estimated number of block header hashes miners had to check from the genesis block to this block, encoded as big-endian hex |
previousblockhash | string | previous block hash |
nextblockhash | string | next block hash |
auxpow | string | Auxpow information in hex format |
{
"id": null,
"error": null,
"jsonrpc": "2.0",
"result": {
"hash": "3893390c9fe372eab5b356a02c54d3baa41fc48918bbddfbac78cf48564d9d72",
"confirmations": 5156,
"strippedsize": 498,
"size": 498,
"weight": 1992,
"height": 1,
"version": 0,
"versionhex": "00000000",
"merkleroot": "764691821f937fd566bcf533611a5e5b193008ea1ba1396f67b7b0da22717c02",
"tx": [
"764691821f937fd566bcf533611a5e5b193008ea1ba1396f67b7b0da22717c02"
],
"time": 1524737598,
"mediantime": 1524737598,
"nonce": 0,
"bits": 545259519,
"difficulty": "1",
"chainwork": "00001423",
"previousblockhash": "8d7014f2f941caa1972c8033b2f0a860ec8d4938b12bae2c62512852a558f405",
"nextblockhash": "aa98305779686e66294a9b667e6ac77f5231bb2ce09fe7d9ca641775413ecb5a",
"auxpow": "01000000010000000000000000000000000000000000000000000000000000000000000000000000002cfabe6d6d3893390c9fe372eab5b356a02c54d3baa41fc48918bbddfbac78cf48564d9d720100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0000000000000000000000000000000000000000000000000000000000000000a19035123a440356c0a41a85fe26865620fb4c34dcf1b83b46b5e11efcbbdd893ea6e15a0000000000000000"
}
}
Response when verbosity is 2:
result format except 'tx' is the same as it is when verbosity=1
result format in 'tx' please see interface 'getrawtransaction'
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"hash": "3ca6bcc86bada4642fea709731f1653bd34b28ab15b790e102e14e0d7bd138d8",
"confirmations": 1,
"strippedsize": 498,
"size": 498,
"weight": 1992,
"height": 2001,
"version": 0,
"versionhex": "00000000",
"merkleroot": "219184ea3c0a2973b90b8402c8405b76d7fbe10a268f6de7e4f48e93f5d03df7",
"tx": [
{
"txid": "219184ea3c0a2973b90b8402c8405b76d7fbe10a268f6de7e4f48e93f5d03df7",
"hash": "219184ea3c0a2973b90b8402c8405b76d7fbe10a268f6de7e4f48e93f5d03df7",
"size": 192,
"vsize": 192,
"version": 0,
"locktime": 2001,
"vin": [
{
"txid": "0000000000000000000000000000000000000000000000000000000000000000",
"vout": 65535,
"sequence": 4294967295
}
],
"vout": [
{
"value": "0.01255707",
"n": 0,
"address": "8VYXVxKKSAxkmRrfmGpQR2Kc66XhG6m3ta",
"assetid": "b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a3",
"outputlock": 0
},
{
"value": "0.02929985",
"n": 1,
"address": "EXca4DJwqCXa6vbJmpovwatHiP8HRTVS1Z",
"assetid": "b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a3",
"outputlock": 0
}
],
"blockhash": "3ca6bcc86bada4642fea709731f1653bd34b28ab15b790e102e14e0d7bd138d8",
"confirmations": 1,
"time": 1527324355,
"blocktime": 1527324355,
"type": 0,
"payloadversion": 4,
"payload": {
"CoinbaseData": "ELA"
},
"attributes": [
{
"usage": 0,
"data": "46444170b0e427d2"
}
],
"programs": []
}
],
"time": 1527324355,
"mediantime": 1527324355,
"nonce": 0,
"bits": 545259519,
"difficulty": "1",
"chainwork": "00000000",
"previousblockhash": "c0433b918f500392869aa14cf7a909430fd94502b5c9f05421c9da7519bd6a65",
"nextblockhash": "0000000000000000000000000000000000000000000000000000000000000000",
"auxpow": "01000000010000000000000000000000000000000000000000000000000000000000000000000000002cfabe6d6d3ca6bcc86bada4642fea709731f1653bd34b28ab15b790e102e14e0d7bd138d80100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffff7f00000000000000000000000000000000000000000000000000000000000000000ce39baabcdbb4adce38c5f23314c5f63a536bbcc8f0a47c7054c36ca27f5acd771d095b0000000002000000"
}
}
Get block count
Request:
{
"method":"getblockcount"
}
Response:
{
"jsonrpc": "2.0",
"id": null,
"error": null,
"result": 171454
}
Get transaction infomation of given transaction hash.
name | type | description |
---|---|---|
txid | string | transaction hash |
verbose | bool | verbose of result |
name | type | description |
---|---|---|
txid | string | transaction id |
hash | string | transaction id |
size | integer | transaction size |
vsize | integer | The virtual transaction size, equals to size |
version | integer | The transaction format version number |
locktime | integer | The transaction’s locktime |
sequence | integer | The transaction’s sequence number |
vin | array | input utxo vector of this transaction |
n | integer | index of utxo outputs |
vout | array | output utxo vector of this transaction |
assetid | string | asset id |
outputlock | string | outputlock of this transaction |
Request:
{
"method": "getrawtransaction",
"params": ["caa0d52ea2b90a08480834b97c271a8b847aadf90057318a33ccc8674b77c796"]
}
Response when verbosity is ture:
{
"id": null,
"error": null,
"jsonrpc": "2.0",
"result": {
"txid": "6864bbf52a3e140d40f1d707bae31d006265efc54dcb58e34037645060ce3e16",
"hash": "6864bbf52a3e140d40f1d707bae31d006265efc54dcb58e34037645060ce3e16",
"size": 192,
"vsize": 192,
"version": 0,
"locktime": 1000,
"vin": [
{
"txid": "0000000000000000000000000000000000000000000000000000000000000000",
"vout": 65535,
"sequence": 4294967295
}
],
"vout": [
{
"value": "0.01255707",
"n": 0,
"address": "8VYXVxKKSAxkmRrfmGpQR2Kc66XhG6m3ta",
"assetid": "b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a3",
"outputlock": 0
},
{
"value": "0.02929985",
"n": 1,
"address": "ENTogr92671PKrMmtWo3RLiYXfBTXUe13Z",
"assetid": "b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a3",
"outputlock": 0
}
],
"blockhash": "0000000000000000000000000000000000000000000000000000000000000000",
"confirmations": 4158,
"time": 1524737766,
"blocktime": 1524737766,
"type": 0,
"payloadversion": 4,
"payload": {
"CoinbaseData": "ELA"
},
"attributes": [
{
"usage": 0,
"data": "b52165c186769037"
}
],
"programs": []
}
}
Response when verbosity is false:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": "000403454c4101000846444170b0e427d2010000000000000000000000000000000000000000000000000000000000000000ffffffffffff02b037db964a231458d2d 6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a31b2913000000000000000000129e9cf1c5f336fcf3a6c954444ed482c5d916e506b037db964a231458d2d6ffd 5ea18944c4f90e63d547c5d3b9874df66a4ead0a341b52c000000000000000000219e9cc4320c3018ced30242b25c03e13a1b2f57c7d107000000"
}
Return hashes of transactions in memory pool.
Request:
{
"method":"getrawmempool"
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result":["5da460632a154fe75df0d5ec98560e4bc1115374a37a75e984a534f8da3ca941", "5da460632a154fe75df0d5ec98560e4bc1115374a37a75e984a534f8da3ca941"]
}
Request:
{
"method":"getrawmempool",
"params":{
"state":"all"
}
}
Response:
{
"jsonrpc": "2.0",
"result": [
{
"txid": "7bc35c1bb5d21c74cb94b73e2774c1be77a460b7ba1a5d8e73baa1721bb8c98d",
"hash": "7bc35c1bb5d21c74cb94b73e2774c1be77a460b7ba1a5d8e73baa1721bb8c98d",
"size": 369,
"vsize": 369,
"version": 0,
"type": 5,
"payloadversion": 0,
"payload": {
"blockheight": 366174,
"sideblockhash": "50e95c5452808282249827971def9b6d01a83a62251aada221b20ea66755f44b",
"sidegenesishash": "a3c455a90843db2acd22554f2768a8d4233fafbf8dd549e6b261c2786993be56",
"signature": "fdcb69746140a2c9b42c91642e5f887c7859c3709c189a83ed09ac2305d524d66e3b77dff3e9c070323d312afb8efedc60ce41c12e6684e0db5088bad1683a92"
},
"attributes": [
{
"usage": 0,
"data": "38303631373539313233303934363232343938"
}
],
"vin": [
{
"txid": "754552520bbc5241fe5e59aae333a7e72d65c1d4ecec3a123cab3c773186a6b2",
"vout": 0,
"sequence": 0
}
],
"vout": [
{
"value": "0.00300000",
"n": 0,
"address": "EfJDXdRiPk8aiSFwQ4Wf6BCddxgLS4o5hG",
"assetid": "a3d0eaa466df74983b5d7c543de6904f4c9418ead5ffd6d25814234a96db37b0",
"outputlock": 0,
"type": 0,
"payload": null
}
],
"locktime": 688434,
"programs": [
{
"code": "21036eac18a8fe9722f5afee095334b3970496a92024f832530a51f6f1faba36a881ac",
"parameter": "407943915fb2d4938479757dea9cd75e957a9bfe9b45fd973139dd101e1ce4cba3520360ecb2a5da90652fbe05682bb6c7548075225effc87aadc272c27eddcc83"
}
],
"blockhash": "",
"confirmations": 0,
"time": 0,
"blocktime": 0
}
],
"id": null,
"error": null
}
Get the balance of an address
name | type | description |
---|---|---|
address | string | address |
Request:
{
"method": "getreceivedbyaddress",
"params":{"address": "8VYXVxKKSAxkmRrfmGpQR2Kc66XhG6m3ta"}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": "33000000"
}
List all utxo of given addresses
name | type | description |
---|---|---|
addresses | array[string] | addresses |
utxotype | string | the utxo type |
if not set utxotype will use "mixed" as default value if set utxotype to "mixed" or not set will get all utxos ignore the type if set utxotype to "vote" will get vote utxos if set utxotype to "normal" will get normal utxos without vote
Request:
{
"method":"listunspent",
"params":{"addresses": ["8ZNizBf4KhhPjeJRGpox6rPcHE5Np6tFx3", "EeEkSiRMZqg5rd9a2yPaWnvdPcikFtsrjE"]}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": [
{
"assetid": "a3d0eaa466df74983b5d7c543de6904f4c9418ead5ffd6d25814234a96db37b0",
"txid": "9132cf82a18d859d200c952aec548d7895e7b654fd1761d5d059b91edbad1768",
"vout": 0,
"address": "8ZNizBf4KhhPjeJRGpox6rPcHE5Np6tFx3",
"amount": "33000000",
"confirmations": 1102,
"outputlock": 0
},
{
"assetid": "a3d0eaa466df74983b5d7c543de6904f4c9418ead5ffd6d25814234a96db37b0",
"txid": "3edbcc839fd4f16c0b70869f2d477b56a006d31dc7a10d8cb49bd12628d6352e",
"vout": 0,
"address": "8ZNizBf4KhhPjeJRGpox6rPcHE5Np6tFx3",
"amount": "0.01255707",
"confirmations": 846,
"outputlock": 0
}
]
}
Set log level
name | type | description |
---|---|---|
level | integer | the log level |
Request:
{
"method": "setloglevel",
"params": {
"level": 0
}
}
Response:
{
"id": null,
"jsonrpc": "2.0",
"error": null,
"result": "log level has been set to 0"
}
Get peer's count of this node
Request:
{
"method": "getconnectioncount"
}
Response:
{
"id": null,
"error": null,
"jsonrpc": "2.0",
"result": 0
}
Get peer's info
Request:
{
"method":"getneighbors"
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": [
"127.0.0.1:64890 (inbound)",
"127.0.0.1:64880 (inbound)",
"127.0.0.1:64822 (inbound)",
"127.0.0.1:22338 (outbound)",
"127.0.0.1:23338 (outbound)",
"127.0.0.1:24338 (outbound)"
]
}
Get node state
name | type | description |
---|---|---|
compile | string | node's compile version |
height | integer | current height of local node |
version | integer | peer-to-peer network protocol version of this node |
services | string | the services provided by this node |
port | integer | P2P network port |
rpcport | integer | JSON-RPC service port |
restport | integer | RESTful service port |
wsport | integer | webservice port |
neighbors | array[neighbor] | neighbor nodes information |
neighbor:
name | type | description |
---|---|---|
netaddress | string | network address of the neighbor in host:port format |
services | string | the services neighbor provides |
relaytx | bool | relay transactions to the neighbor or not |
lastsend | string | the last time send a message to the neighbor |
lastrecv | string | the last time received a message from the neighbor |
conntime | string | the time when this neighbor was connected |
timeoffset | integer | time offset between local time and the time advertised by the neighbor |
version | integer | peer-to-peer network version advertised by the neighbor |
inbound | bool | the connection direction of the neighbor (inbound/outbound) |
startingheight | integer | the height advertised by the neighbor when connected |
lastblock | integer | the height of the last block advertised by the neighbor |
lastpingtime | string | the last time send a ping message to the neighbor |
lastpingmicros | integer | microseconds to receive pong message after sending last ping message |
Request:
{
"method":"getnodestate"
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"compile": "v0.2.2-231-g75d2-dirty",
"height": 0,
"version": 20000,
"services": "SFNodeNetwork|SFTxFiltering|SFNodeBloom",
"port": 21338,
"rpcport": 21336,
"restport": 21334,
"wsport": 21335,
"neighbors": [
{
"netaddress": "127.0.0.1:57656",
"services": "SFNodeNetwork|SFTxFiltering|SFNodeBloom",
"relaytx": false,
"lastsend": "2019-03-06 14:52:03 +0800 CST",
"lastrecv": "2019-03-06 14:52:18 +0800 CST",
"conntime": "2019-03-06 14:51:33.65298 +0800 CST m=+36.604516146",
"timeoffset": 0,
"version": 20000,
"inbound": true,
"startingheight": 0,
"lastblock": 0,
"lastpingtime": "2019-03-06 14:52:03.658121 +0800 CST m=+66.609840707",
"lastpingmicros": 1033
},
{
"netaddress": "127.0.0.1:22338",
"services": "SFNodeNetwork|SFTxFiltering|SFNodeBloom",
"relaytx": false,
"lastsend": "2019-03-06 14:52:02 +0800 CST",
"lastrecv": "2019-03-06 14:52:02 +0800 CST",
"conntime": "2019-03-06 14:51:02.097149 +0800 CST m=+5.048492921",
"timeoffset": 0,
"version": 20000,
"inbound": false,
"startingheight": 0,
"lastblock": 0,
"lastpingtime": "2019-03-06 14:52:02.104806 +0800 CST m=+65.056516088",
"lastpingmicros": 541
}
]
}
}
Send a raw transaction to node
name | type | description |
---|---|---|
data | string | raw transaction data in hex |
name | type | description |
---|---|---|
hash | string | transaction hash |
Request:
{
"method":"sendrawtransaction",
"params": ["xxxxxx"]
}
Response:
{
"result":"764691821f937fd566bcf533611a5e5b193008ea1ba1396f67b7b0da22717c02",
"id": null,
"jsonrpc": "2.0",
"error": null
}
The switch of mining
name | type | description |
---|---|---|
mining | bool | whether mine or not |
Request:
{
"method":"togglemining",
"params":{"mining":false}
}
Response:
{
"id": null,
"jsonrpc": "2.0",
"result": "mining stopped",
"error": null
}
Generate one or more blocks instantly
name | type | description |
---|---|---|
count | integer | count of blocks |
Request:
{
"method":"discretemining",
"params":{"count":1}
}
Response:
{
"id": null,
"jsonrpc": "2.0",
"result": [
"741d8131f0eea94c1c72c8bb1f0e9051a0a98441e131585bf5bf01868bf0ef46"
],
"error": null
}
Returns a json object containing mining-related information
name | type | description |
---|---|---|
blocks | integer | the current block |
currentblocktx | integer | the number of block transactions of the last assembled block |
difficulty | string | the current difficulty |
networkhashps | string | the network hashes per second |
pooledtx | integer | the size of the mempool |
chain | string | current network name |
Request:
{
"method":"getmininginfo",
"params":{}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"blocks": 397720,
"currentblocktx": 7,
"difficulty": "1553768014955882",
"networkhashps": "27618978773646499814",
"pooledtx": 0,
"chain": "mainnet"
}
}
Generate an auxiliary block
name | type | description |
---|---|---|
paytoaddress | string | miner's address |
Request:
named arguments:
{
"method":"createauxblock",
"params":{"paytoaddress":"Ef4UcaHwvFrFzzsyVf5YH4JBWgYgUqfTAB"}
}
positional arguments:
{
"method": "createauxblock",
"params": ["Ef4UcaHwvFrFzzsyVf5YH4JBWgYgUqfTAB"]
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"chainid": 1224,
"height": 152789,
"coinbasevalue": 175799086,
"bits": "1d36c855",
"hash": "e28a262b38316fddefb0b5c753f7cc0022afe94e95f881576ad6b8f33f4e49fe",
"previousblockhash": "f297d03791f4cf2c6ef093b02a77465ea876b040b7772e56b8e140f3bff73871"
}
}
Submit the solved auxpow of an auxiliary block
name | type | description |
---|---|---|
blockhash | string | the auxiliary block hash |
auxpow | string | the solved auxpow of this auxiliary block |
Request:
named arguments sample:
{
"method":"submitauxblock",
"params":{
"blockhash": "7926398947f332fe534b15c628ff0cd9dc6f7d3ea59c74801dc758ac65428e64",
"auxpow": "02000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4b0313ee0904a880495b742f4254432e434f4d2ffabe6d6d9581ba0156314f1e92fd03430c6e4428a32bb3f1b9dc627102498e5cfbf26261020000004204cb9a010f32a00601000000000000ffffffff0200000000000000001976a914c0174e89bd93eacd1d5a1af4ba1802d412afc08688ac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90000000014acac4ee8fdd8ca7e0b587b35fce8c996c70aefdf24c333038bdba7af531266000000000001ccc205f0e1cb435f50cc2f63edd53186b414fcb22b719da8c59eab066cf30bdb0000000000000020d1061d1e456cae488c063838b64c4911ce256549afadfc6a4736643359141b01551e4d94f9e8b6b03eec92bb6de1e478a0e913e5f733f5884857a7c2b965f53ca880495bffff7f20a880495b"
}
}
positional arguments sample:
{
"method":"submitauxblock",
"params":[
"7926398947f332fe534b15c628ff0cd9dc6f7d3ea59c74801dc758ac65428e64",
"02000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4b0313ee0904a880495b742f4254432e434f4d2ffabe6d6d9581ba0156314f1e92fd03430c6e4428a32bb3f1b9dc627102498e5cfbf26261020000004204cb9a010f32a00601000000000000ffffffff0200000000000000001976a914c0174e89bd93eacd1d5a1af4ba1802d412afc08688ac0000000000000000266a24aa21a9ede2f61c3f71d1defd3fa999dfa36953755c690689799962b48bebd836974e8cf90000000014acac4ee8fdd8ca7e0b587b35fce8c996c70aefdf24c333038bdba7af531266000000000001ccc205f0e1cb435f50cc2f63edd53186b414fcb22b719da8c59eab066cf30bdb0000000000000020d1061d1e456cae488c063838b64c4911ce256549afadfc6a4736643359141b01551e4d94f9e8b6b03eec92bb6de1e478a0e913e5f733f5884857a7c2b965f53ca880495bffff7f20a880495b"
]
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": true
}
Return node information. warning: this interface is ready to be deprecated. So no api information will be supplied.
Show producers infromation
name | type | description |
---|---|---|
start | integer | the start index of producers |
limit | integer | the limit count of producers |
state | string | the producer state you want "all": get producers in any state "pending": get producers in the pendding state |
"active": get producers in the active state |
||
"inactive": get producers in the inactive state |
||
"canceled": get producers in the canceled state |
||
"illegal": get producers in the illegal state |
||
"returned": get producers in the returned state | ||
if state flag not provided return the producers in pending and active state. |
name | type | description |
---|---|---|
ownerpublickey | string | the owner public key of producer |
nodepublickey | string | the node public key of the producer |
nickname | string | the nick name of the producer |
url | string | the url of the producer |
location | uint64 | the location number of the producer |
active | bool | if producer has confirmed |
votes | string | the votes currently held |
state | string | the current state of the producer |
registerheight | uint32 | the height of cancel producer |
cancelheight | uint32 | the cancel height of the producer |
inactiveheight | uint32 | the inactive start height of the producer |
illegalheight | uint32 | the illegal start height of the producer |
index | uint64 | the index of the producer |
totalvotes | string | the total votes of registered producers |
totalcounts | uint64 | the total counts of registered producers |
Request:
{
"method": "listproducers",
"params":{
"start": 0,
"limit": 3
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"producers": [
{
"ownerpublickey": "0237a5fb316caf7587e052125585b135361be533d74b5a094a68c64c47ccd1e1eb",
"nodepublickey": "0237a5fb316caf7587e052125585b135361be533d74b5a094a68c64c47ccd1e1eb",
"nickname": "elastos1",
"url": "http://www.elastos1.com",
"location": 401,
"active": true,
"votes": "3.11100000",
"state": "Active",
"registerheight": 236,
"cancelheight": 0,
"inactiveheight": 0,
"illegalheight": 0,
"index": 0
},
{
"ownerpublickey": "030a26f8b4ab0ea219eb461d1e454ce5f0bd0d289a6a64ffc0743dab7bd5be0be9",
"nodepublickey": "030a26f8b4ab0ea219eb461d1e454ce5f0bd0d289a6a64ffc0743dab7bd5be0be9",
"nickname": "elastos2",
"url": "http://www.elastos2.com",
"location": 402,
"active": true,
"votes": "2.10000000",
"state": "Active",
"registerheight": 225,
"cancelheight": 0,
"inactiveheight": 0,
"illegalheight": 0,
"index": 1
},
{
"ownerpublickey": "0288e79636e41edce04d4fa95d8f62fed73a76164f8631ccc42f5425f960e4a0c7",
"nodepublickey": "0288e79636e41edce04d4fa95d8f62fed73a76164f8631ccc42f5425f960e4a0c7",
"nickname": "elastos3",
"url": "http://www.elastos3.com",
"location": 403,
"active": true,
"votes": "0",
"state": "Active",
"registerheight": 216,
"cancelheight": 0,
"inactiveheight": 0,
"illegalheight": 0,
"index": 2
}
],
"totalvotes": "5.21100000",
"totalcounts": 10
}
}
Show producer status
name | type | description |
---|---|---|
publickey | string | the public key of producer |
0: producer has not registered 1: producer has confirmed (6 confirms) 2: producer registered but not confirmed (less than 6 confirms)
Request:
{
"method": "producerstatus",
"params":{
"publickey": "0237a5fb316caf7587e052125585b135361be533d74b5a094a68c64c47ccd1e1eb"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": 1
}
Show producer vote status
name | type | description |
---|---|---|
address | string | the address of user |
Note: If the EnableUtxoDB configuration entry is true, the total field is computed, otherwise the total field returns -1
name | type | description |
---|---|---|
total | string | the total voting rights |
voting | string | the used voting rights |
pending | bool | have vote in tx pool |
Request:
{
"method": "votestatus",
"params":{
"address": "EZwPHEMQLNBpP2VStF3gRk8EVoMM2i3hda"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"total": "4.66088900",
"voting": "0",
"pending": true
}
}
Estimate transaction fee smartly.
name | type | description |
---|---|---|
confirmations | int | in how many blocks do you want your transaction to be packed |
name | type | description |
---|---|---|
- | int | fee rate, the unit is sela per KB |
Request:
{
"method": "estimatesmartfee",
"params":{
"confirmations": 5
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": 10000
}
Get deposit coin by owner public key.
name | type | description |
---|---|---|
ownerpublickey | string | the ownerPublicKey of producer |
name | type | description |
---|---|---|
available | string | the available deposit coin of producer |
deducted | string | the deducted deposit coin of producer |
deposit | string | the deposit amount coin of producer |
assets | string | the total assets coin of producer |
Request:
{
"method": "getdepositcoin",
"params":{
"ownerpublickey": "024babfecea0300971a6f0ad13b27519faff0ef595faf9490dc1f5f4d6e6d7f3fb"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"available": "1",
"deducted": "0",
"deposit": "3",
"assets": "4"
}
}
Get deposit coin by owner public key or cid or did.
name | type | description |
---|---|---|
id | string | the cid or did address of CR candidate |
publickey | string | the public key of CR candidate |
name | type | description |
---|---|---|
available | string | the available deposit coin of CR candidate |
deducted | string | the deducted deposit coin of CR candidate |
deposit | string | the deposit amount coin of CR candidate |
assets | string | the total assets coin of CR candidate |
Request:
{
"method": "getcrdepositcoin",
"params":{
"id": "iUzjmMPTYZq2afqtR46coY6B7h2qD1PQbyq"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"available": "1",
"deducted": "0",
"deposit": "3",
"assets": "4"
}
}
Get dpos peers information.
name | type | description |
---|---|---|
ownerpublickey | string | owner public key of the peer which should be one of current arbiters |
nodepublickey | string | node public key of the peer which should be one of current arbiters |
ip | string | ip address of the peer (including port) |
connstate | string | connection state about the peer, the value can be: NoneConnection, OutboundOnly, InboundOnly, or 2WayConnection |
Request:
{
"method": "getarbiterpeersinfo"
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": [
{
"ownerpublickey": "0243ff13f1417c69686bfefc35227ad4f5f4ca03ccb3d3a635ae8ed67d57c20b97",
"nodepublickey": "0243ff13f1417c69686bfefc35227ad4f5f4ca03ccb3d3a635ae8ed67d57c20b97",
"ip": "127.0.0.1:22339",
"connstate": "2WayConnection"
},
{
"ownerpublickey": "024ac1cdf73e3cbe88843b2d7279e6afdc26fc71d221f28cfbecbefb2a48d48304",
"nodepublickey": "0393e823c2087ed30871cbea9fa5121fa932550821e9f3b17acef0e581971efab0",
"ip": "127.0.0.1:23339",
"connstate": "InboundOnly"
},
{
"ownerpublickey": "0274fe9f165574791f74d5c4358415596e408b704be9003f51a25e90fd527660b5",
"nodepublickey": "03e281f89d85b3a7de177c240c4961cb5b1f2106f09daa42d15874a38bbeae85dd",
"ip": "127.0.0.1:24339",
"connstate": "NoneConnection"
}
]
}
Submit illegal data from side chain.
name | type | description |
---|---|---|
illegaldata | string | serialized illegal data in hex string format |
Request:
{
"method":"submitsidechainillegaldata",
"params":{
"illegaldata": "016400000021023a133480176214f88848c6eaa684a54b316849df2b8570b57f3a917f19bbc77a52fdfc072182654f163f5f0f9a621d729566c74d10037c4d7bbb0407d1e2c64981855ad8681d0d86d1e91e00167939cb6694d2c422acd208a0072939487f699940353662653933363937386332363162326536343964353864626661663366323364346138363832373466353532326364326164623433303861393535633461330221030a26f8b4ab0ea219eb461d1e454ce5f0bd0d289a6a64ffc0743dab7bd5be0be9210288e79636e41edce04d4fa95d8f62fed73a76164f8631ccc42f5425f960e4a0c7"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": true
}
Get block confirm by height of block.
name | type | description |
---|---|---|
height | int | the height of block |
verbosity | int | the verbosity of result, 0 will return serialized confirmed data, default 1 |
name | type | description |
---|---|---|
sponsor | string | the sponsor nodePublicKey of the proposal |
viewoffset | uint32 | the viewoffset of the proposal |
votes | array[struct] | the votes of confirm |
signer | string | the singner nodePublicKey of the proposal |
accept | bool | accept or not of the proposal |
Request:
{
"method":"getconfirmbyheight",
"params":{
"height": 300000,
"verbosity": 1
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"blockhash": "65fd07f4069a1ca6833d38e0baa9b0b4a9bac35131feb5c363bd2fb99f8d06d8",
"sponsor": "024ac1cdf73e3cbe88843b2d7279e6afdc26fc71d221f28cfbecbefb2a48d48304",
"viewoffset": 0,
"votes": [
{
"signer": "024babfecea0300971a6f0ad13b27519faff0ef595faf9490dc1f5f4d6e6d7f3fb",
"accept": true
},
{
"signer": "024ac1cdf73e3cbe88843b2d7279e6afdc26fc71d221f28cfbecbefb2a48d48304",
"accept": true
},
{
"signer": "0274fe9f165574791f74d5c4358415596e408b704be9003f51a25e90fd527660b5",
"accept": true
}
]
}
}
Get block confirm by hash of block.
name | type | description |
---|---|---|
blockhash | string | the hash of block |
verbosity | int | the verbosity of result, 0 will return serialized confirmed data, default 1 |
name | type | description |
---|---|---|
sponsor | string | the sponsor nodePublicKey of the proposal |
viewoffset | uint32 | the viewoffset of the proposal |
votes | array[struct] | the votes of confirm |
signer | string | the singner nodePublicKey of the proposal |
accept | bool | accept or not of the proposal |
Request:
{
"method":"getconfirmbyhash",
"params":{
"blockhash": "65fd07f4069a1ca6833d38e0baa9b0b4a9bac35131feb5c363bd2fb99f8d06d8",
"verbosity": 1
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"blockhash": "65fd07f4069a1ca6833d38e0baa9b0b4a9bac35131feb5c363bd2fb99f8d06d8",
"sponsor": "024ac1cdf73e3cbe88843b2d7279e6afdc26fc71d221f28cfbecbefb2a48d48304",
"viewoffset": 0,
"votes": [
{
"signer": "024babfecea0300971a6f0ad13b27519faff0ef595faf9490dc1f5f4d6e6d7f3fb",
"accept": true
},
{
"signer": "024ac1cdf73e3cbe88843b2d7279e6afdc26fc71d221f28cfbecbefb2a48d48304",
"accept": true
},
{
"signer": "0274fe9f165574791f74d5c4358415596e408b704be9003f51a25e90fd527660b5",
"accept": true
}
]
}
}
Get arbiters and candidates about current and next turn.
name | type | description |
---|---|---|
arbiters | array[string] | get node public keys about arbiters of current turn |
candidates | array[string] | get node public keys about candidates of current turn |
nextarbiters | array[string] | get node public keys about arbiters of next turn |
nextcandidates | array[string] | get node public keys about candidates of next turn |
ondutyarbiter | string | get node public key of current on duty arbiter |
currentturnstartheight | integer | get height of current turn |
nextturnstartheight | integer | get an estimate height of next turn |
Request:
{
"method": "getarbitersinfo"
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"arbiters": [
"0247984879d35fe662d6dddb4edf111c9f64fde18ccf8af0a51e4b278c3411a8f2",
"032e583b6b578cccb9bbe4a53ab54a3e3e60156c01973b16af52b614813fca1bb2",
"0223b8e8098dd694f4d20ea74800b1260a5a4a0afe7f6a0043c7e459c84ff80fba",
"03982eaa9744a3777860013b6b988dc5250198cb81b3aea157f9b429206e3ae80f",
"0328443c1e4bdb5b60ec1d017056f314ba31f8f9f43806128fac20499a9df27bc2"
],
"candidates": [],
"nextarbiters": [
"0247984879d35fe662d6dddb4edf111c9f64fde18ccf8af0a51e4b278c3411a8f2",
"032e583b6b578cccb9bbe4a53ab54a3e3e60156c01973b16af52b614813fca1bb2",
"0223b8e8098dd694f4d20ea74800b1260a5a4a0afe7f6a0043c7e459c84ff80fba",
"03982eaa9744a3777860013b6b988dc5250198cb81b3aea157f9b429206e3ae80f",
"0328443c1e4bdb5b60ec1d017056f314ba31f8f9f43806128fac20499a9df27bc2"
],
"nextcandidates": [],
"ondutyarbiter": "03982eaa9744a3777860013b6b988dc5250198cb81b3aea157f9b429206e3ae80f",
"currentturnstartheight": 200,
"nextturnstartheight": 212
}
}
Get utxo by given amount, amount of utxo >= given amount.
name | type | description |
---|---|---|
address | string | the address of ela |
amount | string | the min amount to get utxo |
utxotype | string | the utxo type |
if not set utxotype will use "mixed" as default value if set utxotype to "mixed" or not set will get all utxos ignore the type if set utxotype to "vote" will get vote utxos if set utxotype to "normal" will get normal utxos without vote if set utxotype to "unused" will get all utxos that are not in tx pool
Request:
{
"method":"getutxosbyamount",
"params":{
"address": "XKUh4GLhFJiqAMTF6HyWQrV9pK9HcGUdfJ",
"amount": "0.25"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": [
{
"assetid": "a3d0eaa466df74983b5d7c543de6904f4c9418ead5ffd6d25814234a96db37b0",
"txid": "9132cf82a18d859d200c952aec548d7895e7b654fd1761d5d059b91edbad1768",
"vout": 0,
"address": "XKUh4GLhFJiqAMTF6HyWQrV9pK9HcGUdfJ",
"amount": "0.1",
"confirmations": 1102,
"outputlock": 0
},
{
"assetid": "a3d0eaa466df74983b5d7c543de6904f4c9418ead5ffd6d25814234a96db37b0",
"txid": "3edbcc839fd4f16c0b70869f2d477b56a006d31dc7a10d8cb49bd12628d6352e",
"vout": 0,
"address": "XKUh4GLhFJiqAMTF6HyWQrV9pK9HcGUdfJ",
"amount": "0.2",
"confirmations": 846,
"outputlock": 0
}
]
}
Get amount of given inputs.
name | type | description |
---|---|---|
inputs | string | the hex string of inputs |
Amount of all given inputs, the type is string, if not found input will return error
Request:
{
"method":"getamountbyinputs",
"params":{
"inputs": "029132cf82a18d859d200c952aec548d7895e7b654fd1761d5d059b91edbad17680000000000003edbcc839fd4f16c0b70869f2d477b56a006d31dc7a10d8cb49bd12628d6352e000000000000"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": "0.3"
}
Get a block by specifying block height.
name | type | description |
---|---|---|
height | uint32 | the height of block |
name | type | description |
---|---|---|
hash | string | the blockchain hash |
confirmations | integer | confirmations |
size | integer | the size of a block in bytes |
strippedsize | integer | equals to size |
weight | integer | This block’s weight |
height | integer | the height of block |
version | integer | block header's version |
versionhex | string | block header's version in hex format |
merkleroot | string | the merkleroot hash of this block |
tx | array[struct] | transactions of this block as an array |
time | integer | the Unix timestamp of this block |
mediantime | integer | equals to time |
nonce | integer | the nonce of this block |
bits | integer | bits of this block |
difficulty | string | difficulty of this block |
chainwork | string | The estimated number of block header hashes miners had to check from the genesis block to this block, encoded as big-endian hex |
previousblockhash | string | previous block hash |
nextblockhash | string | next block hash |
auxpow | string | Auxpow information in hex format |
Request:
{
"method":"getblockbyheight",
"params":{
"height":5
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"hash": "d428cf8a8e8e2c265ccceb0ed0a017aae45a89c98529d1f6dd43efc219089e0e",
"confirmations": 452,
"strippedsize": 563,
"size": 563,
"weight": 2252,
"height": 5,
"version": 0,
"versionhex": "00000000",
"merkleroot": "c1accbe3434279f74db674728d7020190680474f11c4ec2976bd1223cf7c9c66",
"tx": [
{
"txid": "c1accbe3434279f74db674728d7020190680474f11c4ec2976bd1223cf7c9c66",
"hash": "c1accbe3434279f74db674728d7020190680474f11c4ec2976bd1223cf7c9c66",
"size": 257,
"vsize": 257,
"version": 0,
"locktime": 5,
"vin": [
{
"txid": "0000000000000000000000000000000000000000000000000000000000000000",
"vout": 65535,
"sequence": 4294967295
}
],
"vout": [
{
"value": "1.50684931",
"n": 0,
"address": "EPha6MJ2Y9HAdrtNvMVrBu6ePMnmZJtmyv",
"assetid": "a3d0eaa466df74983b5d7c543de6904f4c9418ead5ffd6d25814234a96db37b0",
"outputlock": 0,
"type": 0,
"payload": null
},
{
"value": "1.75799086",
"n": 1,
"address": "EQzEvQbz5XGDZeWu2u48dPaeLTzvmfSyG4",
"assetid": "a3d0eaa466df74983b5d7c543de6904f4c9418ead5ffd6d25814234a96db37b0",
"outputlock": 0,
"type": 0,
"payload": null
},
{
"value": "1.75799088",
"n": 2,
"address": "EPha6MJ2Y9HAdrtNvMVrBu6ePMnmZJtmyv",
"assetid": "a3d0eaa466df74983b5d7c543de6904f4c9418ead5ffd6d25814234a96db37b0",
"outputlock": 0,
"type": 0,
"payload": null
}
],
"blockhash": "d428cf8a8e8e2c265ccceb0ed0a017aae45a89c98529d1f6dd43efc219089e0e",
"confirmations": 452,
"time": 1556595214,
"blocktime": 1556595214,
"type": 0,
"payloadversion": 4,
"payload": {
"coinbasedata": "ELA"
},
"attributes": [
{
"usage": 0,
"data": "f53c107eec00d337"
}
],
"programs": []
}
],
"time": 1556595214,
"mediantime": 1556595214,
"nonce": 0,
"bits": 545259519,
"difficulty": "1",
"chainwork": "000001c3",
"previousblockhash": "b45f9e479340c6d2889076f6bd1e138d14e8620bc2cc0ef642bd15278509d49f",
"nextblockhash": "185cf0322f3f38abe0ecc0fffbca84d87965492042e87036bf78bfdb665b53fa",
"auxpow": "01000000010000000000000000000000000000000000000000000000000000000000000000000000002cfabe6d6d0e9e0819c2ef43ddf6d12985c9895ae4aa17a0d00eebcc5c262c8e8e8acf28d40100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffff7f0000000000000000000000000000000000000000000000000000000000000000a0c69cab73b8541e6d5b17d5c27e3482d3cc0264da80142645f4ad67677a44940cc2c75c0000000001000000",
"minerinfo": "ELA"
}
}
Get amount of given inputs.
name | type | description |
---|---|---|
height | uint32 | block height about the chain |
name | type | description |
---|---|---|
ondutyarbitratorindex | int | index of current on duty arbitrator |
arbitrators | array[string] | an array of current arbitrators |
Request:
{
"method":"getarbitratorgroupbyheight",
"params":{
"height":310
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"ondutyarbitratorindex": 10,
"arbitrators": [
"02338fc098e08ed9a798f0d40b5320f52ad0539b98a972856a948bf652b0014110",
"026ef6740c405e9ff137410f47fe92597c82a8dd236e87e7f4aafe4dc1aa0cd06b",
"02c684ec9883bb5397243d9e129b9334a643f4778c28e99d59858162884081b183",
"02d20a48b4287737912de6af53b6afef2596a755f2a541374dda1fd3ab0aa1b984",
"02d2dd22fa2abfebb94d34666da47b15f214cc1a9ea1b8db0fda22d264bb922b36",
"02fc936192cfb02b8a22e4ba090638f05ac60c8bf9d70f1558c5166cb7768a182e",
"030936942e4bbe3d7f7dc45cea38195f4c4bb1474b336d6bf35fcba179872332b4",
"0320cb8d823c5d202e0ec481f4e0fa0d3e191fb9d0a7629543882bad7444ad3016",
"03268eb4064889047863485288515cdd880a986b57ccc9d72ae58d4401f67509a7",
"034282d36e034272f7c289fd9655797a352d1c76a917e94d6dedaf484acf167e2d",
"03d732f3df7c081d149bd585b77afe1077cedb4b6c6fd9b6278a8ffd456d34c3ab",
"03f9a1f5b23e3d57e8d95a45008ad4574352fa55f755a655c81ee22e62894811b2"
]
}
}
Find out which are already exist in chain by providing a list of withdraw transaction hashes.
name | type | description |
---|---|---|
txs | array[string] | a list of transaction hashes in string format |
A list of existing transaction hashes.
Request:
{
"method":"getexistwithdrawtransactions",
"params":{
"txs":[
"3edbcc839fd4f16c0b70869f2d477b56a006d31dc7a10d8cb49bd12628d6352e",
"9132cf82a18d859d200c952aec548d7895e7b654fd1761d5d059b91edbad1768",
"764691821f937fd566bcf533611a5e5b193008ea1ba1396f67b7b0da22717c02"
]
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": [
"3edbcc839fd4f16c0b70869f2d477b56a006d31dc7a10d8cb49bd12628d6352e",
"9132cf82a18d859d200c952aec548d7895e7b654fd1761d5d059b91edbad1768"
]
}
Show cr candidates information
name | type | description |
---|---|---|
start | integer | the start index of cr candidates |
limit | integer | the limit count of cr candidates |
state | string | the cr candidates state you want "all": get cr candidates in any state "pending": get cr candidates in the pendding state |
"active": get cr candidates in the active state |
||
"canceled": get cr candidates in the canceled state |
||
"returned": get cr candidates in the returned state | ||
if state flag not provided return the cr candidates in pending and active state. |
name | type | description |
---|---|---|
code | string | the cr candiate code |
cid | string | the cr candiate address |
did | string | the cr candiate did address |
nickname | string | the nick name of the cr candiate |
url | string | the url of the cr candiate |
location | uint64 | the location number of the cr candiate |
state | bool | if cr candiate has confirmed |
votes | string | the votes currently held |
registerheight | uint32 | the register CR candidate height |
cancelheight | uint32 | the unregister CR candidate height |
index | uint64 | the index of the cr candiate |
totalvotes | string | the total votes of registered cr candiate |
totalcounts | uint64 | the total counts of registered cr candiate |
Request:
{
"method": "listcrcandidates",
"params":{
"start": 0,
"limit": 3
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"crcandidatesinfo": [
{
"code": "21036db5984e709d2e0ec62fd974283e9a18e7b87e8403cc784baf1f61f775926535ac",
"cid": "iUzjmMPTYZq2afqtR46coY6B7h2qD1PQbyq",
"did": "iTgmaqaMpMj46MW3GCU2h7bPaytwuvQrV3",
"nickname": "ela_test11",
"url": "ela_test.org11",
"location": 38025,
"state": "Canceled",
"votes": "0",
"registerheight": 111,
"cancelheight": 151,
"index": 0
}
],
"totalvotes": "0",
"totalcounts": 1
}
}
get secretary general public key
Request:
{
"method": "getsecretarygeneral"
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"secretarygeneral": "033279a88abf504192f36d0a8f06d66ab1fff80d2715cf3ecbd243b4db8ff2e77e"
}
}
Show current cr members information
name | type | description |
---|---|---|
state | string | the cr member state you want know |
name | type | description |
---|---|---|
code | string | the cr member code |
cid | string | the cr member address |
did | string | the cr member did address |
nickname | string | the nick name of the cr member |
url | string | the url of the cr member |
location | uint64 | the location number of the cr member |
impeachmentvotes | int64 | impeachment votes of the cr member |
depositamount | string | the deposite amout of the cr member |
depositaddress | string | the deposite address of the cr member |
penalty | int64 | the penalty of the cr member |
index | uint64 | the index of the cr member |
totalcounts | uint64 | the total counts of current cr member |
Request:
{
"method": "listcurrentcrs",
"params":{
"state":"all"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"crmembersinfo": [
{
"code": "2102e23f70b9b967af35571c32b1442d787c180753bbed5cd6e7d5a5cfe75c7fc1ffac",
"cid": "iaiZJM922uWo2Uc2gYwZk1nEgiVV7NTtxR",
"did": "inTc9GeWyNNKNwT1cDcvvEgQwnjszbtpZ5",
"nickname": "ela_cr2",
"url": "ela_cr2.org",
"location": 112211, "impeachmentvotes": 0,
"depositamout": "5000",
"deposithash": "De87Qiekzpx7Xqf8RphdwNX5Z84iGgHLKMF5b",
"penalty": 0,
"index": 0,
"State": "Elected"
},
{
"code": "2103c3dd01baa4e3d0625f6c0026ad3d06d085e80c57477efa1a4aa2ab209c210e95ac",
"cid": "iUBoqE5KnBA1zsd4EWeyj2mXMfUrm5rDmf",
"did": "intySungjAK3uyHeoajez3yRqX5x68NrNi",
"nickname": "ela_cr1",
"url": "ela_cr1.org",
"location": 112211,
"impeachmentvotes": 0,
"depositamout": "5000",
"depositaddress": "DnemZpPgHLKMF5bMX3WbJYSGTpqJkBN7pe",
"penalty": 0,
"index": 1,
"State": "Elected"
}
],
"totalcounts": 2
}
}
Show current cr proposal base state information
name | type | description |
---|---|---|
start | integer | the start index of cr proposal state |
limit | integer | the limit count of cr proposal state |
state | string | the proposal state you want |
"all": get proposals in any state |
||
"registered": get proposals in the registered state |
||
"cragreed": get proposals in the cragreed state |
||
"voteragreed": get proposals in the voteragreed state |
||
"finished": get proposals in the finished state |
||
"crcanceled": get proposals in the crcanceled state |
||
"votercanceled": get proposals in the votercanceled state | ||
"aborted": get proposals in the aborted state . |
name | type | description |
---|---|---|
status | string | the proposal status |
proposalhash | string | the cr proposal hash |
txhash | string | the transacion's hash which cr proposal located in |
crvotes | map[string]VoteResult | per cr VoteResult |
votersrejectamount | common.Fixed64 | voters reject amount |
registerheight | uint32 | register height of proposal |
terminatedheight | uint32 | terminated height of proposal |
trackingcounts | uint32 | tracking counts of proposal |
proposalowner | string | owner of proposal |
Index | uint64 | the index of the cr proposal |
Request:
{
"method": "listcrproposalbasestate",
"params":{
"state":"all",
"start": 0,
"limit": 10
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"proposalbasestates": [
{
"status": "CRAgreed",
"proposalhash": "e6942385c899889d4afd4b093e44a29f7d374c25c21432347faf3f82af2e5a88",
"txhash": "a859222538901eb656ad293483bb361dc0ec2835ce804fb7dffc67241c0ee965",
"crvotes": {
"intySungjAK3uyHeoajez3yRqX5x68NrNi": "approve",
"iUBoqE5KnBA1zsd4EWeyj2mXMfUrm5rDmf": "approve",
"iTgmaqaMpMj46MW3GCU2h7bPaytwuvQrV3": "approve",
"inTc9GeWyNNKNwT1cDcvvEgQwnjszbtpZ5": "approve"
},
"votersrejectamount": "324.22213333",
"registerHeight": 1764,
"terminatedheight": 0,
"trackingcount": 0,
"proposalowner": "02de2bdd021fd17418d1696afb4709fb908401c81fa674f26e8ca0afa624a48727",
"index": 14
}
],
"totalcounts": 1
}
}
Get one cr proposal detail state information by proposalhash or drafthash
name | type | description |
---|---|---|
proposalhash | string | hash of the proposal which you want get detail state |
drafthash | string | drafthash of the proposal which you want get detail state |
name | type | description |
---|---|---|
Status | string | the proposal status |
Proposal | CRCProposal | the cr proposal |
TxHash | string | hash of the transacion which cr proposal located in |
CRVotes | map[string]VoteResult | per cr VoteResult |
VotersRejectAmount | string | voters reject amount |
RegisterHeight | uint32 | the proposal register height |
ProposalType | CRCProposalType | the type of cr proposal |
OwnerPublicKey | string | the public key of proposal's owner |
CRCouncilMemberDID | string | the did of CR Council Member |
DraftHash | string | the hash of draft proposal |
Budgets | []Budget | the budget of different stages |
ProposalType value as follows: | ||
0x00:"Normal" Normal indicates the normal types of proposal. | ||
0x01:"Code" indicates the code upgrade types of proposals. | ||
0x02:"SideChain" indicates the side chain related types of proposals. | ||
0x03:"ChangeOwner" indicates the change proposal owner types of proposals. | ||
0x04:"CloseProposal" indicates the close proposal types of proposals. | ||
0x05:"SecretaryGeneral"indicates the vote secretary general types of proposals. |
Request by proposalhash:
{
"method": "getcrproposalstate",
"params":{
"proposalhash":"42de0adf2b3673d712fc3efdaf643889ef8442fe25987b25add8c0c961b13612"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"proposalstate": {
"status": "Registered",
"proposal": {
"proposaltype": 0,
"ownerpublickey": "03c3dd01baa4e3d0625f6c0026ad3d06d085e80c57477efa1a4aa2ab209c210e95",
"crcouncilmemberdid": "iUBoqE5KnBA1zsd4EWeyj2mXMfUrm5rDmf",
"drafthash": "9c5ab8998718e0c1c405a719542879dc7553fca05b4e89132ec8d0e88551fcc0",
"budgets": [
{
"type": "Imprest",
"stage": 0,
"amount": "1.1",
"status": "Withdrawable"
},
{
"type": "NormalPayment",
"stage": 1,
"amount": "2.2",
"status": "Unfinished"
},
{
"type": "FinalPayment",
"stage": 2,
"amount": "3.3",
"status": "Unfinished"
}
]
},
"txhash": "9f425a8012a3e36128ee61be78a0b6a7832f9d895d08c86cc16e6a084e7f054f",
"crvotes": {
"iTgmaqaMpMj46MW3GCU2h7bPaytwuvQrV3": 0
},
"votersrejectamount": 0,
"registerheight": 1277
}
}
}
Request by drafthash:
{
"method": "getcrproposalstate",
"params":{
"drafthash":"9c5ab8998718e0c1c405a719542879dc7553fca05b4e89132ec8d0e88551fcc0"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"proposalstate": {
"status": "Registered",
"proposal": {
"proposaltype": 0,
"ownerpublickey": "03c3dd01baa4e3d0625f6c0026ad3d06d085e80c57477efa1a4aa2ab209c210e95",
"crcouncilmemberdid": "iUBoqE5KnBA1zsd4EWeyj2mXMfUrm5rDmf",
"drafthash": "9c5ab8998718e0c1c405a719542879dc7553fca05b4e89132ec8d0e88551fcc0",
"budgets": [
{
"type": "Imprest",
"stage": 0,
"amount": "1.1",
"status": "Withdrawable"
},
{
"type": "NormalPayment",
"stage": 1,
"amount": "2.2",
"status": "Unfinished"
},
{
"type": "FinalPayment",
"stage": 2,
"amount": "3.3",
"status": "Unfinished"
}
]
},
"txhash": "9f425a8012a3e36128ee61be78a0b6a7832f9d895d08c86cc16e6a084e7f054f",
"crvotes": {
"iTgmaqaMpMj46MW3GCU2h7bPaytwuvQrV3": 0
},
"votersrejectamount": 0,
"registerheight": 1277,
"votestartheight": 0
}
}
}
Get draft data of proposal or proposalReview or proposalTracking transaction detail information by draft hash.
name | type | description |
---|---|---|
drafthash | string | draft hash of proposal or proposalReview or proposalTracking transaction |
Result is the hex string of draft data.
Request:
{
"method": "getproposaldraftdata",
"params":{
"drafthash": "9c5ab8998718e0c1c405a719542879dc7553fca05b4e89132ec8d0e88551fcc0"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": "6d6d9581ba0156314f1e92fd03430c6e4428a32bb3f1b9dc6271024"
}
Create a transaction spending the given inputs and creating new outputs. Warning: you should calculate the change output and append it to transaction outputs, otherwise the change should be given to the miners.
name | type | description |
---|---|---|
inputs | array[string] | inputs json array of json objects |
outputs | array[string] | outputs json array of json objects |
locktime | interger | the transaction lock time number |
Request:
{
"method": "createrawtransaction",
"params":{
"inputs":"[{\"txid\":\"a704c4c04c70043a2cce34fa95e20f3d33b0a3dc95dd948dee573673b701c7e7\",\"vout\":1}]",
"outputs": "[{\"address\":\"EKn3UGyEoycACJxKu7F8R5U1Pe6NUpni1H\",\"amount\":1},{\"address\":\"EUmvbPnoC59DJWnEx5VkcJNhK6GnjkoHao\",\"amount\":98.9}]",
"locktime": 0
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": "0902000001285f24620c18ddc75b7d1f3090efa619bd5b901a5355c30621dad1c2c6dcfbc000000000000002b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a300e1f5050000000000000000211cc5e2ab8654b4fe70949aceaacb017410df55c300b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a3806c7d4d0200000000000000217f7946d05f62a92ed345ed9f1391869517bff44d000000000000"
}
Sign the raw transaction with private key.
name | type | description |
---|---|---|
data | string | the transaction hex string |
codes | string | the codes json array of json objects |
privkeys | string | the private key json array of json objects |
Request:
{
"method": "signrawtransactionwithkey",
"params":{
"data": "0902000001e7c701b7733657ee8d94dd95dca3b0333d0fe295fa34ce2c3a04704cc0c404a701000000000002b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a300e1f505000000000000000021121c2c946cb3d88b5272038621290e120193c7e600b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a380a2e2110200000000000000126aa11de1372f5763cd93e9eef71008be74a94693000000000000",
"codes": "[\"5321033b4606d3cec58a01a09da325f5849754909fec030e4cf626e6b4104328599fc7210251a471359b13d22cfdb2d8c8ec687a61f9e01c26e6475d58acf77c153c75d62121036e9eebad12dfbd6ea41a770baa735ec8db0a0be39e35db5ff8f5c87a47543e852103e630e917b0cfd076478780dcbfed89bc6db71f2865c2c124c6f95a4e3b9b307b54ae\"]",
"privkeys": "[\"ea3ddc681a780866577334de8a2f3e25cbb590c21671d705ce1fef46d84ffd81\"]"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": "0902000001e7c701b7733657ee8d94dd95dca3b0333d0fe295fa34ce2c3a04704cc0c404a701000000000002b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a300e1f505000000000000000021121c2c946cb3d88b5272038621290e120193c7e600b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a380a2e2110200000000000000126aa11de1372f5763cd93e9eef71008be74a946930000000000014140e0bdb6879df338b0aa0039e900237471315342a06e4f40de2777903179c4fd77a48557058e6428bb403318ac2f101501761ce7ae2bb68bc0b5ccf47f5049aef38b5321033b4606d3cec58a01a09da325f5849754909fec030e4cf626e6b4104328599fc7210251a471359b13d22cfdb2d8c8ec687a61f9e01c26e6475d58acf77c153c75d62121036e9eebad12dfbd6ea41a770baa735ec8db0a0be39e35db5ff8f5c87a47543e852103e630e917b0cfd076478780dcbfed89bc6db71f2865c2c124c6f95a4e3b9b307b54ae"
}
Return a JSON object representing the serialized, hex-encoded transaction.
name | type | description |
---|---|---|
data | string | the transaction hex string |
Request:
{
"method": "decoderawtransaction",
"params":{
"data":"0200018151747970653a746578742c6d73673a46726f6d20454c4142616e6b2c456e74657220456c6173746f73202d43616c6c6973746f205375706572204e6f64652052657761726420446973747269627574696f6e015241653c7bcee5347ce08918fb52232312cdf14611bd5ab3ed8434a44d379a3701000000000002b037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a386a20500000000000000000021da7a8bc95561e969706abbaf87b12089cd9667dab037db964a231458d2d6ffd5ea18944c4f90e63d547c5d3b9874df66a4ead0a3b0fdfa5302000000000000002157cbdce387181d010890a972f93acf0ff54346b100000000014140a1d30614cc236006f31d67b9dc74af8298692c0fd09d1236d3c50fd50a64df82864359e441efde018d47f69bbcf92e46720baa160621c2160d7830a2bebfc144232103bd33d4fb0697bba896790a132439f402941b6b184cdd06dddf9ce8658f0c0443ac"
}
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"txid": "4089d8362dfae2680bedb0e6ebab78afe64843b16c2b7e5734b70ff1a2659eef",
"hash": "4089d8362dfae2680bedb0e6ebab78afe64843b16c2b7e5734b70ff1a2659eef",
"size": 363,
"vsize": 363,
"version": 0,
"type": 2,
"payloadversion": 0,
"payload": null,
"attributes": [
{
"usage": 129,
"data": "747970653a746578742c6d73673a46726f6d20454c4142616e6b2c456e74657220456c6173746f73202d43616c6c6973746f205375706572204e6f64652052657761726420446973747269627574696f6e"
}
],
"vin": [
{
"txid": "379a374da43484edb35abd1146f1cd12232352fb1889e07c34e5ce7b3c654152",
"vout": 1,
"sequence": 0
}
],
"vout": [
{
"value": "0.00369286",
"n": 0,
"address": "Ed57c3wF3J1u8vEYE9cjGUpqGPkEJC69v8",
"assetid": "a3d0eaa466df74983b5d7c543de6904f4c9418ead5ffd6d25814234a96db37b0",
"outputlock": 0,
"type": 0,
"payload": null
},
{
"value": "99.98892464",
"n": 1,
"address": "ERA8VusTKV78LTiEseuQC4wBPRu3BQo6rE",
"assetid": "a3d0eaa466df74983b5d7c543de6904f4c9418ead5ffd6d25814234a96db37b0",
"outputlock": 0,
"type": 0,
"payload": null
}
],
"locktime": 0,
"programs": [
{
"code": "2103bd33d4fb0697bba896790a132439f402941b6b184cdd06dddf9ce8658f0c0443ac",
"parameter": "40a1d30614cc236006f31d67b9dc74af8298692c0fd09d1236d3c50fd50a64df82864359e441efde018d47f69bbcf92e46720baa160621c2160d7830a2bebfc144"
}
]
}
}
Get CR related stage information.
Request:
{
"method": "getcrrelatedstage"
}
Response:
{
"error": null,
"id": null,
"jsonrpc": "2.0",
"result": {
"onduty":true,
"ondutystartheight":1000,
"ondutyendheight":2000,
"invoting":false,
"votingstartheight":0,
"votingendheight":0
}
}
Get vote rights by stakeaddresses.
Request:
{
"method": "getvoterights",
"params": {
"stakeaddresses": [
"SReFYxAHSshg2PLgVC8Je7HPrU3GbYdSuu"
]
}
}
Response:
{
"jsonrpc": "2.0",
"result": [
{
"stakeaddress": "SReFYxAHSshg2PLgVC8Je7HPrU3GbYdSuu",
"totalvotesright": 20999999980000,
"usedvotesinfo": {
"useddposv2votes": [
{
"StakeAddress": "SReFYxAHSshg2PLgVC8Je7HPrU3GbYdSuu",
"TransactionHash": "aa7bc8ef542f9e1623542aa63b3e905f76cb720c56c62646ec9e58fe203aa40e",
"BlockHeight": 8052,
"PayloadVersion": 0,
"VoteType": 4,
"Info": [
{
"candidate": "02148cc0ca8f09a4d6845b793d4baabfc85614ce63ba84c1512c81962801471ee2",
"votes": "30000",
"locktime": 9000
}
]
}
],
"useddposvotes": [],
"usedcrvotes": [],
"usdedcrimpeachmentvotes": [],
"usedcrcproposalvotes": []
},
"remainvoteright": [
20999999980000,
20999999980000,
20999999980000,
20999999980000,
17999999980000
]
}
],
"id": null,
"error": null
}
If request have no stakeaddress param get all detailed dposv2 votes else get detailed dposv2 votes by stakeaddress
Request:
{
"method": "getalldetaileddposv2votes",
"params": {
"stakeaddress": "SdJafnusnEFbV6VecLBUhzb2zFnFjQ2LcN"
}
}
Response:
{
"jsonrpc": "2.0",
"result": [
{
"producerownerkey": "02148cc0ca8f09a4d6845b793d4baabfc85614ce63ba84c1512c81962801471ee2",
"producernodekey": "02801b7bc8c459c42651229132aaf91227286050e8bde4f1236a18bf63c21b1942",
"referkey": "289b623244a056f7e766b12577b1945302c233ac49a8380c552879f01bfe0f5a",
"stakeaddress": "SReFYxAHSshg2PLgVC8Je7HPrU3GbYdSuu",
"transactionhash": "aa7bc8ef542f9e1623542aa63b3e905f76cb720c56c62646ec9e58fe203aa40e",
"blockheight": 8052,
"payloadversion": 0,
"votetype": 4,
"info": {
"candidate": "02148cc0ca8f09a4d6845b793d4baabfc85614ce63ba84c1512c81962801471ee2",
"votes": "30000",
"locktime": 9000
},
"DPoSV2VoteRights": "3584.27522720"
}
],
"id": null,
"error": null
}
Request:
{
"method": "getalldetaileddposv2votes",
"params": {
}
}
Response:
{
"jsonrpc": "2.0",
"result": [
{
"producerownerkey": "02148cc0ca8f09a4d6845b793d4baabfc85614ce63ba84c1512c81962801471ee2",
"producernodekey": "02801b7bc8c459c42651229132aaf91227286050e8bde4f1236a18bf63c21b1942",
"referkey": "289b623244a056f7e766b12577b1945302c233ac49a8380c552879f01bfe0f5a",
"stakeaddress": "SReFYxAHSshg2PLgVC8Je7HPrU3GbYdSuu",
"transactionhash": "aa7bc8ef542f9e1623542aa63b3e905f76cb720c56c62646ec9e58fe203aa40e",
"blockheight": 8052,
"payloadversion": 0,
"votetype": 4,
"info": {
"candidate": "02148cc0ca8f09a4d6845b793d4baabfc85614ce63ba84c1512c81962801471ee2",
"votes": "30000",
"locktime": 9000
},
"DPoSV2VoteRights": "3584.27522720"
}
],
"id": null,
"error": null
}
Get dposv2 info such as consensusalgorithm, current block height, dposv2activeheight .
Request:
{
"method":"getdposv2info",
"params": {
}
}
Response:
{
"jsonrpc": "2.0",
"result": {
"consensusalgorithm": "DPOS",
"height": 8502,
"dposv2activeheight": 6052
},
"id": null,
"error": null
}
If request have no address param get all dposv2 rewards else get dposv2 reward by address
Request:
{
"method":"getdposv2info",
"params": {
}
}
Response:
{
"jsonrpc": "2.0",
"result": [
{
"address": "EWr9iackkRUMcmpF36FedXzj5kuBWmgAJH",
"claimable": 14239726060,
"claiming": 0,
"claimed": 0
},
{
"address": "Eg546gUgkKM2hwshk1hbvdwExApb3LBD2q",
"claimable": 8385083738,
"claiming": 0,
"claimed": 0
},
{
"address": "EUPULRn29UzVDWCCUHDntU93V4xCY7EhB3",
"claimable": 4695966650,
"claiming": 0,
"claimed": 0
}
],
"id": null,
"error": null
}
Request:
{
"method":"dposv2rewardinfo",
"params": {
"address":"EX3h7qR5G5Jr6y8vt94wpoAfW7Fta81Vhg"
}
}
Response:
{
"jsonrpc": "2.0",
"result": {
"address": "EX3h7qR5G5Jr6y8vt94wpoAfW7Fta81Vhg",
"claimable": 15363778267,
"claiming": 0,
"claimed": 0
},
"id": null,
"error": null
}
Get producer info.
Request:
{
"method":"getproducerinfo",
"params": {
"publickey":"03c3bd59e853ab20b56e5e379f333a9fbc650db536a39e37c1340ce54dc74a39ea"
}
}
Response:
{
"jsonrpc": "2.0",
"result": {
"ownerpublickey": "03065bcbdd897e654bcee27afac10c7be9c9fe40e13da3e4240923d24631b06a7b",
"nodepublickey": "03c3bd59e853ab20b56e5e379f333a9fbc650db536a39e37c1340ce54dc74a39ea",
"nickname": "producer45producer_2.0_7000",
"url": "https://blockchain.elastos.org",
"location": 100083,
"stakeuntil": 7000,
"active": false,
"votes": "519999.99980000",
"dposv2votes": "0",
"state": "Returned",
"identity": "DPoSV1V2",
"registerheight": 3832,
"cancelheight": 0,
"inactiveheight": 0,
"illegalheight": 4612,
"index": 0
},
"id": null,
"error": null
}