/* Package server implements NEO-specific JSON-RPC 2.0 server. This package is currently in alpha and is subject to change. 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. TODO: Implement HTTPS server. Add remaining methods (Documented below). Add Swagger spec and test using dredd in circleCI. 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 } } Unsupported methods getblocksysfee getcontractstate (needs to be implemented in pkg/core/blockchain.go) getrawmempool (needs to be implemented on in pkg/network/server.go) getrawtransaction (needs to be implemented in pkg/core/blockchain.go) getstorage (lacks VM functionality) gettxout (needs to be implemented in pkg/core/blockchain.go) invoke (lacks VM functionality) invokefunction (lacks VM functionality) invokescript (lacks VM functionality) sendrawtransaction (needs to be implemented in pkg/core/blockchain.go) submitblock (needs to be implemented in pkg/core/blockchain.go) */ package server