以太坊应用开发接口指的是以太坊节点软件提供的API接口,去中心化应用能够利用这个接口访问以太坊上的智能合约。以太坊应用开发接口采用JSON-PRC标准,一般是经过HTTP或websocket提供给应用程序调用。javascript
JSON-RPC是一种无状态轻量级远程过程调用(RPC)协议,规范定义了数据结构及相应的处理规则,规范使用JSON(RFC 4627)数据格式,规范自己是传输无关的,能够用于进程内通讯、socket套接字、HTTP 或各类消息通讯环境。php
以太坊应用开发接口的配置java
不一样节点软件的应用开发接口访问点可能有所区别。常见以太坊节点软件的的默认JSON-RPC端结点以下:python
以最多见的geth节点软件为例,能够使用--rpc选项启动其基于HTTP的JSON-RPC应用开发接口。web
~$ geth --rpc
能够使用--rpcaddr和--rpcport选项修改默认的监听端口(8545)和监听地址(localhost):json
~$ geth --rpc --rpcaddr <ip> --rpcport <portnumber>
若是须要从浏览器中访问RPC接口,须要正确设置CORS,不然因为同源策略的限制,javascript调用将失败:c#
~$ geth --rpc --rpccorsdomain "http://localhost:3000"
也能够在geth控制台使用admin.startRPC(addr,port)
命令来启动JSON RPC。api
以太坊应用开发接口的调用浏览器
利用标准的HTTP协议就能够调用以太坊应用开发接口,例如在命令行能够使用curl工具:websocket
~$ curl -X POST --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://127.0.0.1:8545
你能够点击这里查看以太坊应用开发接口中文手册。
以太坊应用开发接口的封装开发包
为便于在不一样语言的代码中调用以太坊应用开发接口,以太坊社区涌现了不一样语言的开发包,例如:
能够根据你的须要选择合适的开发包来调用以太坊应用开发接口,这样能够大大缩短对接以太坊 节点的所须要的时间。
原文连接:以太坊应用开发接口