以太坊应用开发接口:JSON RPC API

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用可以利用这个接口访问以太坊上的智能合约。以太坊应用开发接口采用JSON-PRC标准,通常是通过HTTP或websocket提供给应用程序调用。

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

以太坊应用开发接口的配置

不同节点软件的应用开发接口访问点可能有所区别。常见以太坊节点软件的的默认JSON-RPC端结点如下:

  • Geth - http://localhost:8545
  • Parity - http://localhost:8545
  • Pytheapp - http://localhost:4000

以最常见的geth节点软件为例,可以使用--rpc选项启动其基于HTTP的JSON-RPC应用开发接口。

~$ geth --rpc

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

~$ geth --rpc --rpcaddr  --rpcport 

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

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

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

以太坊应用开发接口的调用

利用标准的HTTP协议就可以调用以太坊应用开发接口,例如在命令行可以使用curl工具:

~$ curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://127.0.0.1:8545

你可以点击这里查看以太坊应用开发接口中文手册。

以太坊应用开发接口的封装开发包

为便于在不同语言的代码中调用以太坊应用开发接口,以太坊社区涌现了不同语言的开发包,例如:

  • javascript:Web3.js,教程:以太坊Dapp开发入门
  • php:Web3.php, 教程:php以太坊开发详解
  • python:Web3.py,教程:python以太坊开发详解
  • java:Web3j,教程:Web3j以太坊开发详解
  • c#:Nethereum,教程:c#以太坊开发详解

可以根据你的需要选择合适的开发包来调用以太坊应用开发接口,这样可以大大缩短对接以太坊 节点的所需要的时间。

原文链接:以太坊应用开发接口

转载于:https://my.oschina.net/u/3794778/blog/2989096

你可能感兴趣的:(以太坊应用开发接口:JSON RPC API)