forked from TrueCloudLab/neoneo-go
e1fe12a07f
closes #175
2.1 KiB
2.1 KiB
RPC
Client
Client is provided as a Go package, so please refer to the relevant godocs page.
Server
The server is written to support as much of the JSON-RPC 2.0 Spec as possible. The server is run as part of the node currently.
Example call
An example would be viewing the version of the node:
$ curl -X POST -d '{"jsonrpc": "2.0", "method": "getversion", "params": [], "id": 1}' http://localhost:20332
which would yield the response:
{
"jsonrpc" : "2.0",
"id" : 1,
"result" : {
"port" : 20333,
"useragent" : "/NEO-GO:0.36.0-dev/",
"nonce" : 9318417
}
}
Supported methods
Method | Implemented |
---|---|
getaccountstate |
Yes |
getapplicationlog |
Yes |
getassetstate |
Yes |
getbestblockhash |
Yes |
getblock |
Yes |
getblockcount |
Yes |
getblockhash |
Yes |
getblocksysfee |
Yes |
getconnectioncount |
Yes |
getcontractstate |
Yes |
getnep5balances |
No (#498) |
getnep5transfers |
No (#498) |
getpeers |
Yes |
getrawmempool |
Yes |
getrawtransaction |
Yes |
getstorage |
Yes |
gettxout |
Yes |
getunspents |
Yes |
getversion |
Yes |
invoke |
Yes |
invokefunction |
Yes |
invokescript |
Yes |
sendrawtransaction |
Yes |
submitblock |
No (#344) |
validateaddress |
Yes |
Implementation notices
invokefunction
and invoke
neo-go's implementation of invokefunction
and invoke
does not return tx
field in the answer because that requires signing the transaction with some
key in the server which doesn't fit the model of our node-client interactions.
Lacking this signature the transaction is almost useless, so there is no point
in returning it.
Both methods also don't currently support arrays in function parameters.