Go Tezos is a GoLang driven library for your Tezos node. This library has received a grant from the Tezos Foundation to ensure it's continuous development through 2020.
Get GoTezos
go get github.com/goat-systems/go-tezos/v4
package main
import (
"fmt"
"github.com/goat-systems/go-tezos/v4/rpc"
)
func main() {
client, err := rpc.New("http://127.0.0.1:8732")
if err != nil {
fmt.Printf("failed tp connect to network: %v", err)
}
resp, head, err := client.Block(&rpc.BlockIDHead{})
if err != nil {
fmt.Printf("failed to get (%s) head block: %s\n", resp.Status(), err.Error())
os.Exit(1)
}
fmt.Println("Current Head Hash:", head.Hash)
}
resp, cycle, err := rpc.Cycle(50)
if err != nil {
fmt.Printf("failed to get (%s) cycle: %s\n", resp.Status(), err.Error())
os.Exit(1)
}
fmt.Println(cycle)
You can find more examples by looking through the unit tests and integration tests in each package. Here is an example on how to forge and inject an operation.
The makefile is there as a helper to run quality code checks. To run vet and staticchecks please run:
make checks
This project is licensed under the MIT License - see the LICENSE.md file for details