Ethereum Dapp Go API, inspired by
web3.js.
Report Bug
·
Pull Request
This is the Ethereum Golang API which connects to the Generic JSON-RPC spec.
You need to run a local or remote Ethereum node to use this library.
go get github.com/6boris/web3-go
package main
import (
"context"
"fmt"
"github.com/6boris/web3-go/client"
"github.com/6boris/web3-go/pkg/otel"
)
func main() {
otel.InitProvider()
ec := client.NewPool(client.GetDefaultConfPool())
chainID := int64(1)
v, err := ec.GetClient(chainID).ClientVersion(context.Background())
if err != nil {
panic(err)
}
fmt.Println(fmt.Sprintf("ChainID:%d ClientVersion:%s", chainID, v))
}
/*
Output:
ChainID:1 ClientVersion:Geth/v1.11.5-omnibus-65be78cc/linux-amd64/go1.19.7
*/
- Client
- Base Method
- eth_chainId
- web3_clientVersion
- eth_gasPrice
- eth_blockNumber
- eth_getBalance
- ...
- Middleware
- LoadBalance
- Monitor
- CircuitBreaker
- Base Method
- Other ...
- web3.js Ethereum JavaScript API.
- Web3j Web3 Java Ethereum Ðapp API.
- Web3.py A Python library for interacting with Ethereum.
- JSON RPC Defining the JSON RPC specification.
- Go Ethereum Official Golang implementation of the Ethereum protocol.
- Ethereum 1.0 API Ethereum JSON-RPC Specification.