Geth ( Go-Ethereum )
- Geth是由以太坊基金会积极开发的 Go 语言实现,因此被认为是以太坊客户端的“官方”实现。
- 通常,每个基于以太坊的区块链都有自己的Geth实现。
- 以太坊的 Geth github 仓库链接:
https://github.com/ethereum/go-ethereum
JSON-RPC
- 以太坊客户端提供了API 和一组远程调用(RPC)命令,这些命令被编码为 JSON。这被称为 JSON-RPC API。本质上,JSON-RPC API 就是一个接口,允许我们编写的程序使用以太坊客户端作为网关,访问以太坊网络和链上数据。
- 通常,RPC 接口作为一个 HTTP 服务,端口设定为 8545。出于安全原因,默认情况下,它仅限于接受来自 localhost 的连接。
- 要访问JSON-RPC API,我们可以使用编程语言编写的专用库,例
如JavaScript的 web3.js。 • 或者也可以手动构建HTTP请求并发送/接收JSON编码的请求,如:
$ curl -X POST -H "Content-Type: application/json" --data \
'{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":1
}' \ http://localhost:8545