-
Notifications
You must be signed in to change notification settings - Fork 1k
API Reference
Iddo Berger edited this page May 3, 2018
·
3 revisions
Each NEO node has a set of optional APIs for accessing blockchain data and making things easier for development of blockchain apps. APIs are provided via JSON-RPC , comm at bottom layer is with http/https protocol. To initiate a node that provides rpc services, run the following command:
dotnet AntSharesDaemon.dll /rpc
To access rpc server via https, you need to modify the config document config.json
before initiating the node, and set domain, certificates and passwords:
{
"ApplicationConfiguration": {
"DataDirectoryPath": "Chain",
"NodePort": 10333,
"UriPrefix": [ "https://*:10331" ],
"SslCert": "ssl.pfx",
"SslCertPassword": "password"
}
}
Once initiated the rpc server, the TCP port will be monitored, the default port is 10332 (20332 if in testnet).
command | parameters | need to unlock | explained |
---|---|---|---|
getbalance | <asset_id> | yes | return balance info on the assets in the wallet based on designated asset num. |
getbestblockhash | acquire the hash of the highest block of the main chain | ||
getblock | <hash> [verbose=0] | return block info based on designated hash value | |
getblock | <index> [verbose=0] | return block info based on designated index | |
getblockcount | acquire the number of blocks of the main chain | ||
getblockhash | <index> | return block hash value based on designated index | |
getconnectioncount | acquire the number of connections on your node | ||
getrawmempool | acquire unconfirmed transactions in the raw memory | ||
getrawtransaction | <txid> [verbose=0] | return transaction info based on designated hash value | |
gettxout | <txid> <n> | return change info based on designated hash and index | |
sendrawtransaction | <hex> | broadcast the transaction | |
sendtoaddress | <asset_id> <address> <value> [fee=0] | yes | transfer to designated address |
submitblock | <hex> | submit a new block |
A typical rpc request format could be as following:
{"jsonrpc": "2.0", "method": "subtract", "params": [42, 23], "id": 1}
Upon sending the request, you will acquire the following response:
{"jsonrpc": "2.0", "result": 19, "id": 1}
request examples of all aforementioned commands:
--> {"jsonrpc": "2.0", "method": "getbestblockhash", "params": [], "id": 2}
<-- {"jsonrpc": "2.0", "result": "e2d8aa4b39a81464af9114d3deb2500274c40e3d41054d8f7850a5cf82c0a442", "id": 2}
--> {"jsonrpc": "2.0", "method": "getblock", "params": ["e2d8aa4b39a81464af9114d3deb2500274c40e3d41054d8f7850a5cf82c0a442", 1], "id": 3}
<-- {"jsonrpc": "2.0", "result": {"hash": "e2d8aa4b39a81464af9114d3deb2500274c40e3d41054d8f7850a5cf82c0a442", "version": 0, "previousblockhash": "bf3aa349bb9decb0dc103a9dd7d085bb19edb523393ece7df2fd232c49ec3c7e", "merkleroot": "ffcdf5d6265a330caac48a44ac2f03a4bb1f2ce8a0061182cf68a6986c9c06a6", "time": 1464866349, "height": 204651, "nonce": "e7e842972bff03aa", "nextminer": "AdyQbbn6ENjqWDa5JNYMwN3ikNcA4JeZdk", "script": {"stack": "409b3744beb8e3c58c362fab681c8c4a091106112cbf73bdadc90e90d12f6a08dd61b37273c4724b5c4fd7d97d6bc9182c128355f7fa4e888bedfaa722d30f8c6240a926fecbb6e6a06493425e0c48a357ffd25c246d504ed97b264feca0384d673c36651dd626273ccd96394bb7525a335320a518c9a642f99775d0924d0e65ffb940cceb6aeb3d5efacf1eba0447f3837c8062ae6b95815d4f36c8225b036731120486ba1039554040e248df1fdd1c65bba1c26496e021d638161e416ff2300c401340ad0e155b8149e7dd39e846f6da299f0c53fdbd4f772c933a084ed6bd87d36e579351c28defcb0a83f056bae60daa3511a2a8fa565fa97057812b2548bee0585b40cdc14f02dff98337efc2a4898605d18a81fe72a53dfe89c2e219ecc444e15f6504eb9d8bfcc74dc3e3652272d4ed9d698e9787704259e4eef3b08010ba747d30", "redeem": "55210209e7fd41dfb5c2f8dc72eb30358ac100ea8c72da18847befe06eade68cebfcb9210327da12b5c40200e9f65569476bbff2218da4f32548ff43b6387ec1416a231ee821034ff5ceeac41acf22cd5ed2da17a6df4dd8358fcb2bfb1a43208ad0feaab2746b21026ce35b29147ad09e4afe4ec4a7319095f08198fa8babbe3c56e970b143528d2221038dddc06ce687677a53d54f096d2591ba2302068cf123c1f2d75c2dddc542557921039dafd8571a641058ccc832c5e2111ea39b09c0bde36050914384f7a48bce9bf92102d02b1873a0863cd042cc717da31cea0d7cf9db32b74d4c72c01b0011503e2e2257ae"},"tx": [{"txid": "ffcdf5d6265a330caac48a44ac2f03a4bb1f2ce8a0061182cf68a6986c9c06a6", "hex": "00aa03ff2b00000000", "type": "MinerTransaction", "attributes": [], "vin": [], "vout": [], "scripts" :[]}]}, "id": 3}
--> {"jsonrpc": "2.0", "method": "getblock", "params": [204651, 1], "id": 4}
<-- {"jsonrpc": "2.0", "result": {"hash": "e2d8aa4b39a81464af9114d3deb2500274c40e3d41054d8f7850a5cf82c0a442", "version": 0, "previousblockhash": "bf3aa349bb9decb0dc103a9dd7d085bb19edb523393ece7df2fd232c49ec3c7e", "merkleroot": "ffcdf5d6265a330caac48a44ac2f03a4bb1f2ce8a0061182cf68a6986c9c06a6", "time": 1464866349, "height": 204651, "nonce": "e7e842972bff03aa", "nextminer": "AdyQbbn6ENjqWDa5JNYMwN3ikNcA4JeZdk", "script": {"stack": "409b3744beb8e3c58c362fab681c8c4a091106112cbf73bdadc90e90d12f6a08dd61b37273c4724b5c4fd7d97d6bc9182c128355f7fa4e888bedfaa722d30f8c6240a926fecbb6e6a06493425e0c48a357ffd25c246d504ed97b264feca0384d673c36651dd626273ccd96394bb7525a335320a518c9a642f99775d0924d0e65ffb940cceb6aeb3d5efacf1eba0447f3837c8062ae6b95815d4f36c8225b036731120486ba1039554040e248df1fdd1c65bba1c26496e021d638161e416ff2300c401340ad0e155b8149e7dd39e846f6da299f0c53fdbd4f772c933a084ed6bd87d36e579351c28defcb0a83f056bae60daa3511a2a8fa565fa97057812b2548bee0585b40cdc14f02dff98337efc2a4898605d18a81fe72a53dfe89c2e219ecc444e15f6504eb9d8bfcc74dc3e3652272d4ed9d698e9787704259e4eef3b08010ba747d30", "redeem": "55210209e7fd41dfb5c2f8dc72eb30358ac100ea8c72da18847befe06eade68cebfcb9210327da12b5c40200e9f65569476bbff2218da4f32548ff43b6387ec1416a231ee821034ff5ceeac41acf22cd5ed2da17a6df4dd8358fcb2bfb1a43208ad0feaab2746b21026ce35b29147ad09e4afe4ec4a7319095f08198fa8babbe3c56e970b143528d2221038dddc06ce687677a53d54f096d2591ba2302068cf123c1f2d75c2dddc542557921039dafd8571a641058ccc832c5e2111ea39b09c0bde36050914384f7a48bce9bf92102d02b1873a0863cd042cc717da31cea0d7cf9db32b74d4c72c01b0011503e2e2257ae"},"tx": [{"txid": "ffcdf5d6265a330caac48a44ac2f03a4bb1f2ce8a0061182cf68a6986c9c06a6", "hex": "00aa03ff2b00000000", "type": "MinerTransaction", "attributes": [], "vin": [], "vout": [], "scripts" :[]}]}, "id": 4}
--> {"jsonrpc": "2.0", "method": "getblockcount", "params": [], "id": 5}
<-- {"jsonrpc": "2.0", "result": 250905, "id": 5}
--> {"jsonrpc": "2.0", "method": "getblockhash", "params": [204651], "id": 6}
<-- {"jsonrpc": "2.0", "result": "e2d8aa4b39a81464af9114d3deb2500274c40e3d41054d8f7850a5cf82c0a442", "id": 6}
--> {"jsonrpc": "2.0", "method": "getconnectioncount", "params": [], "id": 7}
<-- {"jsonrpc": "2.0", "result": 10, "id": 7}
--> {"jsonrpc": "2.0", "method": "getrawmempool", "params": [], "id": 8}
<-- {"jsonrpc": "2.0", "result": ["a0670e7f2cee2b93f1df3ee21e93f8180d974735cc655070c5c779439e83d5f6", "a74dc9470f90f45b25f53e7a9d91d599b16b54e0beb1097fc4dc989b552ab4b8", "8200df7ef90e748bdb40f8fc23086fb5b0e37742d4ad0bf15eabdc534e208999"], "id": 8}
--> {"jsonrpc": "2.0", "method": "getrawtransaction", "params": ["a0670e7f2cee2b93f1df3ee21e93f8180d974735cc655070c5c779439e83d5f6", 0], "id": 9}
<-- {"jsonrpc": "2.0", "result": "800001446301d4b3c4d79b136144189a37ed97e2fa279ffb06c2796fa6d89c81b579bd0000023d2aac31e7dd5842cb1d68390c9664edafc5928263af7dbd0c6644a3c2453e2a0080c6a47e8d03002a8343f697ffb77e81cfc1adb8e839c2240295c33d2aac31e7dd5842cb1d68390c9664edafc5928263af7dbd0c6644a3c2453e2a0080faca73f91f002b07cfd50e1181ab52f21621e7757361acf9af1c01fd040140188ac572e85d56b68602929fd94ae3e3b064801c0b20295172a1d5e6502d1777f786a6f9de378ebb7e5d259a53f00243b20732ad10e3844caf4b63478593c8d9406ded494595f400097eaf9969b638dbc8dcd4388780d2dd4f5fc0bc5192c1a7291de2971acbf385c41b53dd6d4e845a72d16da73ee7fa78d6395594f7147eb2de40a71657eb813e41d4a89f9360d9052825db31929bcdcdbb75cfeaa001fc14bded85381f1e06c4f6f13ef461132b0e4531afc75fcf5a367edbe4053f63592454884065ca3f57a1d4395ce7009a317041222e316fbd8b547bff9d6feca1f1f75f60e0324cdc77ff4251d81031243c10f5461369d4ff884d800f20a61c57b3bc92aab1ad54210209e7fd41dfb5c2f8dc72eb30358ac100ea8c72da18847befe06eade68cebfcb9210327da12b5c40200e9f65569476bbff2218da4f32548ff43b6387ec1416a231ee821026ce35b29147ad09e4afe4ec4a7319095f08198fa8babbe3c56e970b143528d2221038dddc06ce687677a53d54f096d2591ba2302068cf123c1f2d75c2dddc542557921039dafd8571a641058ccc832c5e2111ea39b09c0bde36050914384f7a48bce9bf955ae", "id": 9}
--> {"jsonrpc": "2.0", "method": "getrawtransaction", "params": ["a0670e7f2cee2b93f1df3ee21e93f8180d974735cc655070c5c779439e83d5f6", 1], "id": 10}
<-- {"jsonrpc": "2.0", "result": {"txid": "a0670e7f2cee2b93f1df3ee21e93f8180d974735cc655070c5c779439e83d5f6", "hex": "800001446301d4b3c4d79b136144189a37ed97e2fa279ffb06c2796fa6d89c81b579bd0000023d2aac31e7dd5842cb1d68390c9664edafc5928263af7dbd0c6644a3c2453e2a0080c6a47e8d03002a8343f697ffb77e81cfc1adb8e839c2240295c33d2aac31e7dd5842cb1d68390c9664edafc5928263af7dbd0c6644a3c2453e2a0080faca73f91f002b07cfd50e1181ab52f21621e7757361acf9af1c01fd040140188ac572e85d56b68602929fd94ae3e3b064801c0b20295172a1d5e6502d1777f786a6f9de378ebb7e5d259a53f00243b20732ad10e3844caf4b63478593c8d9406ded494595f400097eaf9969b638dbc8dcd4388780d2dd4f5fc0bc5192c1a7291de2971acbf385c41b53dd6d4e845a72d16da73ee7fa78d6395594f7147eb2de40a71657eb813e41d4a89f9360d9052825db31929bcdcdbb75cfeaa001fc14bded85381f1e06c4f6f13ef461132b0e4531afc75fcf5a367edbe4053f63592454884065ca3f57a1d4395ce7009a317041222e316fbd8b547bff9d6feca1f1f75f60e0324cdc77ff4251d81031243c10f5461369d4ff884d800f20a61c57b3bc92aab1ad54210209e7fd41dfb5c2f8dc72eb30358ac100ea8c72da18847befe06eade68cebfcb9210327da12b5c40200e9f65569476bbff2218da4f32548ff43b6387ec1416a231ee821026ce35b29147ad09e4afe4ec4a7319095f08198fa8babbe3c56e970b143528d2221038dddc06ce687677a53d54f096d2591ba2302068cf123c1f2d75c2dddc542557921039dafd8571a641058ccc832c5e2111ea39b09c0bde36050914384f7a48bce9bf955ae", "type": "ContractTransaction", "attributes": [], "vin": [{"txid": "bd79b5819cd8a66f79c206fb9f27fae297ed379a184461139bd7c4b3d4016344", "vout": 0}], "vout": [{"n": 0, "asset": "2a3e45c2a344660cbd7daf638292c5afed64960c39681dcb4258dde731ac2a3d", "value": "10000000", "high": 232830, "low": 2764472320, "address": "AKefH3KLbXxGpHbmSyA4CCNZp6Y8DC6SdK"}, {"n": 1, "asset": "2a3e45c2a344660cbd7daf638292c5afed64960c39681dcb4258dde731ac2a3d", "value": "90000000", "high": 2095475, "low": 3405414400, "address": "AKhQ4XKNzVyaRhmZrUQ83mHgLiEFHcd5d3"}], "scripts": [{"stack": "40188ac572e85d56b68602929fd94ae3e3b064801c0b20295172a1d5e6502d1777f786a6f9de378ebb7e5d259a53f00243b20732ad10e3844caf4b63478593c8d9406ded494595f400097eaf9969b638dbc8dcd4388780d2dd4f5fc0bc5192c1a7291de2971acbf385c41b53dd6d4e845a72d16da73ee7fa78d6395594f7147eb2de40a71657eb813e41d4a89f9360d9052825db31929bcdcdbb75cfeaa001fc14bded85381f1e06c4f6f13ef461132b0e4531afc75fcf5a367edbe4053f63592454884065ca3f57a1d4395ce7009a317041222e316fbd8b547bff9d6feca1f1f75f60e0324cdc77ff4251d81031243c10f5461369d4ff884d800f20a61c57b3bc92aab1", "redeem": "54210209e7fd41dfb5c2f8dc72eb30358ac100ea8c72da18847befe06eade68cebfcb9210327da12b5c40200e9f65569476bbff2218da4f32548ff43b6387ec1416a231ee821026ce35b29147ad09e4afe4ec4a7319095f08198fa8babbe3c56e970b143528d2221038dddc06ce687677a53d54f096d2591ba2302068cf123c1f2d75c2dddc542557921039dafd8571a641058ccc832c5e2111ea39b09c0bde36050914384f7a48bce9bf955ae"}]}, "id": 10}
--> {"jsonrpc": "2.0", "method": "gettxout", "params": ["a0670e7f2cee2b93f1df3ee21e93f8180d974735cc655070c5c779439e83d5f6", 1], "id": 11}
<-- {"jsonrpc": "2.0", "result": {"n": 1, "asset": "2a3e45c2a344660cbd7daf638292c5afed64960c39681dcb4258dde731ac2a3d", "value": "90000000", "high": 2095475, "low": 3405414400, "address": "AKhQ4XKNzVyaRhmZrUQ83mHgLiEFHcd5d3"}, "id": 11}
--> {"jsonrpc": "2.0", "method": "sendrawtransaction", "params": ["800001446301d4b3c4d79b136144189a37ed97e2fa279ffb06c2796fa6d89c81b579bd0000023d2aac31e7dd5842cb1d68390c9664edafc5928263af7dbd0c6644a3c2453e2a0080c6a47e8d03002a8343f697ffb77e81cfc1adb8e839c2240295c33d2aac31e7dd5842cb1d68390c9664edafc5928263af7dbd0c6644a3c2453e2a0080faca73f91f002b07cfd50e1181ab52f21621e7757361acf9af1c01fd040140188ac572e85d56b68602929fd94ae3e3b064801c0b20295172a1d5e6502d1777f786a6f9de378ebb7e5d259a53f00243b20732ad10e3844caf4b63478593c8d9406ded494595f400097eaf9969b638dbc8dcd4388780d2dd4f5fc0bc5192c1a7291de2971acbf385c41b53dd6d4e845a72d16da73ee7fa78d6395594f7147eb2de40a71657eb813e41d4a89f9360d9052825db31929bcdcdbb75cfeaa001fc14bded85381f1e06c4f6f13ef461132b0e4531afc75fcf5a367edbe4053f63592454884065ca3f57a1d4395ce7009a317041222e316fbd8b547bff9d6feca1f1f75f60e0324cdc77ff4251d81031243c10f5461369d4ff884d800f20a61c57b3bc92aab1ad54210209e7fd41dfb5c2f8dc72eb30358ac100ea8c72da18847befe06eade68cebfcb9210327da12b5c40200e9f65569476bbff2218da4f32548ff43b6387ec1416a231ee821026ce35b29147ad09e4afe4ec4a7319095f08198fa8babbe3c56e970b143528d2221038dddc06ce687677a53d54f096d2591ba2302068cf123c1f2d75c2dddc542557921039dafd8571a641058ccc832c5e2111ea39b09c0bde36050914384f7a48bce9bf955ae"], "id": 12}
<-- {"jsonrpc": "2.0", "result": true, "id": 12}