以太坊区块链 JSON-RPC

RPC定义

  • 以太坊客户端提供了API和一组远程调用的(RPC)命令,这些命令被编码成json的格式,被叫做JSON-RPC-API。本质上,JSON-RPC API就是一个接口,允许我们编写的程序使用以太坊客户端作为网关,访问以太坊网络和区块链上的数据
  • RPC作为一个HTTP服务,端口设定为8545.出于安全考虑,默认情况下,只接收来自localhost的连接
  • 要访问JSON-RPC-API,可以使用编程语言编写的专用库函数,例如javascript的web3.js
  • 或者可以自己手动构建请求并发送/接收JSON编码的请求。

例子

  • 启动私有区块链,开启rpc服务(需要在先前设定的目录中)
  • 命令如下
geth --datadir . --nameworkid id号码 --rpc console 2>output.log
  • 新开启一个端口,输入如下命令
  • 其中,jsonrpc默认填写2.0,method可以随意切换,id是相当于电话交流设置的信道
curl -X POST -H "Content-Type:application/json" --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":1}' http://localhost:8545
  • 可以在区块链的端口上输入eth,显示对应的相关命令
  • 然后将随意命令替换上面的method
  • 例子 eth_blockNumber
curl -X POST -H "Content-Type:application/json" --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' http://localhost:8545

 

你可能感兴趣的:(区块链)