一、启动RPC
我们在搭建完以太坊私链之后(搭建教程参考前面几篇文章),可以正常启动以太坊,启动RPC的方式有2种:
1、进入到 Geth JavaScript console,启动
#./geth --datadir "./chain" --nodiscover console 2>>eth_output.log //输出日志到文件
> admin.startRPC() //启动RPC服务
2、终端命令直接启动:
./geth --rpc
验证RPC(注意单引号及content-type):
# curl -H "Content-Type: application/json" -X post --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x8eb9f96584da9e0be7ec5d777e240222925cec68", "latest"],"id":1}' http://127.0.0.1:8545
#{"jsonrpc":"2.0","id":1,"result":"0x4e5567440fd7740000"} //出现这句说明能够正常返回
jsonRPC格式介绍:
向服务端传输数据格式如下:
{ "method": "方法名", "params": [“参数数组”], "id": 方法ID}
说明:
第一个参数: 是方法的名值对
第二个参数: 是参数数组
第三个参数: 是方法ID(可以随意填)
举例: { "method": "doSomething", "params": [], "id": 1234}
doSomething 是远程对象的方法, [] 表示参数为空
正是因为上面的只能通过http://127.0.0.1:8545访问,所以需要重定向一次。(如果有朋友知道在不搭建服务器的情况下,通过外网访问该以太坊节点的RPC服务的话欢迎留言)
二、配置apache服务器https重定向到127.0.0.1:8545
环境:阿里云的centos 7.0
采用https传输
参考我之前写的几篇文章:
centons 7 在apache2.4.6中实现http请求自动转到https请求
centos 配置apache和tomcat共同使用https
看我的配置:
postman展示结果: