go-ethrpc is a Go library use for interacting to the ethereum node from your server with JSON-RPC which is a standard protocol for blockchain.
This library provides the easiest way to send JSON-RPC.
Use go get to install and update.
go get github.com/KeisukeYamashita/go-ethrpc.git
You need to setup environmental variables.
Firstly, copy the .env.sample
as .env
cp .env.sample .env
Setup in your .env
.
GETH_ENDPOINT: NODE_ENDPOINT
This shows you that easiest request to the node which is getting the infos.
package main
import (
"fmt"
ethrpc "github.com/KeisukeYamashita/go-ethrpc"
)
func main() {
c := NewRPCClient(os.Getenv("ETHD_ENDPOINT"))
address := "0x809826cceAb68c387726af962713b64Cb5Cb3CCA"
balance := c.GetBalance(address)
fmt.Print(balance) // 0.13514 ETH
}
curl -X "POST" "<YOUR_GETH_NODE>" \
-H 'Content-Type: application/json; charset=utf-8' \
-d $'{
"jsonrpc":"2.0",
"method": "getbalance",
"id": "1",
"params": [
"0x809826cceAb68c387726af962713b64Cb5Cb3CCA"
]
}'
It'll return a JSON.
method | discription |
---|---|
eth_blockNumber | gets the most recent block height. |
Set up your environmental valiables in .env
to conduct this test.
cp .env.sample .env
Then write in your endpoint in this file.
Finally run your test. It will pass if your ethereum node is setted up correctly.
GO_ENV=test go test ethrpc
To contribute, just send us a pull request!
If it is valid, you will be added on the contribution doc in /doc/contributor.md
.
There is a bitcoin version for this, it might help your application.
Copyright 2018 Yamashita Keisuke.
Licensed under the Apache 2.0 license.