The thread for updates go-nym library.
This is a toolset for interacting with the Nym ecosystem on GoLang.
You can find out the source code on Github: https://github.com/craftdome/go-nym.
The thread for updates go-nym library.
This is a toolset for interacting with the Nym ecosystem on GoLang.
You can find out the source code on Github: https://github.com/craftdome/go-nym.
import (
"github.com/craftdome/go-nym/contracts/mixnet" // blockchain queries
"github.com/craftdome/go-nym/clients/wsc" // websocket client for nym-client
)
go get github.com/craftdome/go-nym/contracts@1.5.1-rc1
go get github.com/craftdome/go-nym/clients@1.0.2
package main
import (
"context"
"github.com/craftdome/go-nym/contracts/mixnet"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"log"
"time"
)
func main() {
grpcAddr := "nym-grpc.polkachu.com:15390" // list of endpoints: https://cosmos.directory/nyx/nodes
contract := "n17srjznxl9dvzdkpwpw24gg668wc73val88a6m5ajg6ankwvz9wtst0cznr"
// Init the grpc connection
conn, err := grpc.NewClient(grpcAddr, grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil {
log.Fatal(err)
}
// Creating contract client
client := mixnet.NewQueryClient(conn, contract)
ctx := context.Background()
// Getting contract version
contractVersion, err := client.Contract.GetVersion(ctx)
if err != nil {
log.Fatal(err)
}
log.Printf("Contract Version: %s", contractVersion.BuildVersion)
// Getting contract state params
stateParams, err := client.Contract.GetStateParams(ctx)
if err != nil {
log.Fatal(err)
}
log.Printf("%+v", stateParams)
// Getting current interval status of the mixnet
status, err := client.Contract.GetIntervalStatus(ctx)
if err != nil {
log.Fatal(err)
}
log.Printf("Epoch started at: %s", status.Interval.CurrentEpochStart.Format(time.DateTime))
}
Ways to import modules:
go get github.com/craftdome/go-nym/wsc@v1.0.2
go get github.com/craftdome/go-nym/nymnode@v1.7.0-rc5
go get github.com/craftdome/go-nym/nymapi@v1.1.54-rc5
go get github.com/craftdome/go-nym/mixnet@v1.5.1-rc5
Ways to import modules:
go get github.com/craftdome/go-nym/wsc@v1.0.2
go get github.com/craftdome/go-nym/nymnode@v1.7.0-rc8
go get github.com/craftdome/go-nym/nymapi@v1.1.54-rc8
go get github.com/craftdome/go-nym/mixnet@v1.5.1-rc12
Hey, cool work!
I’m assuming this is a lib for interacting with the cosmos side of NYM rather than the actual mixnet, right ?
Good stuff but I’d call it something else, like go-nyx (is that still a thing? Nyx ? )
Hey, man! Thank you
Not only the cosmos side. The lib includes a several api implementations: nym-node, nym-api (small part), mixnet-contract, nym-client (websocket client).
start_after
and limit
at GetAllUnbonded and GetUnbondedByOperator methodsWays to import modules:
go get github.com/craftdome/go-nym/wsc@v1.0.2
go get github.com/craftdome/go-nym/nymnode@v1.9.0-r05
go get github.com/craftdome/go-nym/nymapi@v1.1.55-r02
go get github.com/craftdome/go-nym/mixnet@v1.5.1-r01