以太坊JSON RPC手册

以太坊JSON RPC API

JSON是一种轻量级数据交换格式。它可以表示数值、字符串、序列及名/值对集合。

JSON-RPC是一种无状态轻量级远程过程调用(RPC)协议。本规范定义了数据结构及 相应的处理规则。规范本身是传输无关的,可以用于进程内通信、socket套接字、HTTP 或各种消息通信环境。规范使用JSON(RFC 4627)数据格式。

Geth 1.4和Parity1.6中包含了实验性质的pub/sub支持。

相关以太坊开发包:

端结点

常见客户端的默认JSON-RPC端结点:

Go

可以使用--rpc选项启动HTTP JSON-RPC。

geth --rpc

使用--rpcaddr--rpcport选项修改默认的监听端口(8545)和监听地址(localhost):

geth --rpc --rpcaddr <ip> --rpcport <portnumber>

如果从浏览器中访问RPC,需要正确设置CORS,否则由于同源策略的限制,javascript调用将失败:

geth --rpc --rpccorsdomain "http://localhost:3000"

也可以在geth控制台使用admin.startRPC(addr,port)命令来启动JSON RPC。

C++

可以使用-j选项启动RPC:

./eth -j

同样,可以使用--json-rpc-port选项指定监听端口,默认值为8545:

./eth -j --json-rpc-port 8079

Python

在Python实现中,默认会启动JSONRPC服务,监听地址和端口为127.0.0.1:4000

可以使用-c选项设置监听地址和监听端口:

pyethapp -c jsonrpc.listen_port=4002 -c jsonrpc.listen_host=127.0.0.2 run