TolikUSS / ever-client-go

Golang-Binding for Everscale.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Everscale Client

Everscale SDK Client library Golang bindings based itself on Everscale-SDK.

version license Go version Chat on Telegram RU Chat on Telegram EN

Many thanks to @temamagic for advice on architecture, tests, code and commit style.

Installation

$ go get -u github.com/move-ton/ever-client-go

or

$ git clone https://github.com/move-ton/ever-client-go.git
$ cd ever-client-go

Installation for MAC OS

#Set path to library
install_name_tool -id PATH_WITH_BINDING/gateway/client/lib/darwin/libton_client.dylib PATH_WITH_BINDING/gateway/client/lib/darwin/libton_client.dylib

#Add to ~/.bashrc or execute everytime 
export CGO_LDFLAGS="-LPATH_WITH_BINDING/gateway/client/lib/darwin -lton_client"

Installation for Linux

#Add to ~/.bashrc or execute everytime 
export LD_LIBRARY_PATH=PATH_WITH_BINDING/gateway/client/lib/linux/:$LD_LIBRARY_PATH
export CGO_LDFLAGS="-LPATH_WITH_BINDING/gateway/client/lib/linux -lton_client"

Or use "-exec" for example:

go build
go run  -exec "env DYLD_LIBRARY_PATH=/path-with-lib/" main.go
go test -exec "env DYLD_LIBRARY_PATH=/path-with-lib/ ./... " -v

Tests

$ go test ./... -v
$ go run ./example/*.go

Usage

import goever "github.com/move-ton/ever-client-go"

Example

package main

import (
	"fmt"
	"github.com/move-ton/ever-client-go/domain"
	"log"

	goton "github.com/move-ton/ever-client-go"
)

func main() {
	ever, err := goever.NewEver("", domain.GetDevNetBaseUrls())
	if err != nil {
		log.Fatal(err)
	}

	defer ever.Client.Destroy()

	value, err := ever.Client.Version()
	if err != nil {
		log.Fatal(err)
	}

	fmt.Println("Version bindings is: ", value.Version)
}

For more examples see *_test.go files ever-client-go/usecase

About

Golang-Binding for Everscale.

License:Apache License 2.0


Languages

Language:Go 99.5%Language:C 0.4%Language:Makefile 0.2%