本文旨在说明通过Geth、Node.js如何访问以太坊节点和UNIX下PHP如何访问以太坊节点。
说明如何通过RPC使用此(A)以太坊节点
对于以太坊主网络使用RPC url:http://85.214.51.53:8545
对于Ropsten测试网络使用RPC url:http://85.214.51.53:8546
通过本地系统上的“geth”访问节点:
- 1.确保你的本地IP已在你的用户配置文件中注册。使用RPC服务时,不会阻止从此IP访问。
- 2.在本地系统上安装
geth
二进制文件约30MB,geth二进制文件包。 - 3.查找
geth
目录位置 - 4.使用命令
./geth attach rpc:http://85.214.51.53:8545
连接并启动JavaScript环境,参考文档。 - 5.控制台正在启动,你会看到
>
作为输入提示符。 - 6.写
eth.getBlock(10000)
并获取块信息作为结果,参考文档。
你的系统在几分钟内运行,无需安装已经500GB以上的以太坊区块链!
故障排除:
- 安装正确的geth二进制文件。
- 验证geth在本地系统上是否可用。
- 检查用户配置文件中的IP。
- 确认没有个人防火墙阻止你的发送出去请求。
尝试Ropsten测试网络:
- http://85.214.51.53:8545适用于主网络。
- http://85.214.51.53:8546适用于Ropsten测试网络。
通过本地系统或服务器上的node.js访问节点
- 1.这将返回一个webserver响应并输出一个html文件。
- 2.在node.js系统中通过NPM或其他方式安装web3。
- 3.将服务器文件指向app.js。
这将为你带来一个帐户余额(钱包)的输出。
文件:app.js
const http = require('http');
const walletAddress = '0xDED5f23C157aCef931946D9A695cAc3eF1AaaA8D';
var Web3 = require('web3');
var web3 = new Web3();
web3.setProvider(new web3.providers.HttpProvider('http://85.214.51.53:8545'));
var balance = web3.eth.getBalance('0xDED5f23C157aCef931946D9A695cAc3eF1AaaA8D');
http.createServer(function(request, response) {
response.writeHead(200, {'Content-Type': 'text/html'});
response.end("<!DOCTYPE html>\n" +
"<html lang=\"en\">\n" +
"<head>\n" +
" <meta charset=\"UTF-8\">\n" +
" <title>ethernode.biz</title>\n" +
"</head>\n" +
"<body>\n" +
"<p>ethernode.biz</p>" +
"<center>\n" +
"</cente