Skip to content

Latest commit

 

History

History
73 lines (57 loc) · 1.89 KB

README.md

File metadata and controls

73 lines (57 loc) · 1.89 KB

GoDoc

A Tezos Go Library

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.

Installation

Get GoTezos

go get github.com/goat-systems/go-tezos/v4

Getting A Block

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)
}

Getting a Cycle

	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)

More Examples

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.

Contributing

The Makefile

The makefile is there as a helper to run quality code checks. To run vet and staticchecks please run:

make checks

Contributers: A Special Thank You

License

This project is licensed under the MIT License - see the LICENSE.md file for details