Docs SDKs & integrations
Go SDK
Typed access to the ledger from Go services and tools.
The Go SDK wraps the REST + SSE API with typed structs and a small, idiomatic surface. It has no hidden dependencies and ships as a normal Go module.
Install
bash
go get github.com/gridtrue/gridtrue-go@latestList attestations for a commit
go
package main
import (
"context"
"fmt"
gridtrue "github.com/gridtrue/gridtrue-go"
)
func main() {
client, err := gridtrue.New(gridtrue.WithToken("gt_live_…"))
if err != nil {
panic(err)
}
ctx := context.Background()
atts, err := client.Attestations("acme", "payments").
ForCommit(ctx, "6f4a…d91")
if err != nil {
panic(err)
}
for _, a := range atts {
fmt.Printf("%-16s %-10s %s\n",
a.Predicate, a.Result.Status, a.Identity)
}
}Stream live events
go
events, err := client.Events(ctx, "acme")
if err != nil { panic(err) }
defer events.Close()
for {
evt, err := events.Next(ctx)
if err != nil { break }
switch evt := evt.(type) {
case *gridtrue.AttestationEvent:
fmt.Println("new attestation:", evt.Predicate)
case *gridtrue.StateEvent:
fmt.Println("state:", evt.Commit, evt.From, "→", evt.To)
}
}