SDK

Go SDK

Reference implementation for signing, canonicalization, Merkle proofs, and conformance tests.

go

package main

import (
	"encoding/hex"
	"fmt"
	"strings"

	"github.com/cezexPL/agent-passport-standard/go/crypto"
	"github.com/cezexPL/agent-passport-standard/go/passport"
)

func main() {
	pub, priv, _ := crypto.GenerateKeyPair()
	p, _ := passport.New(passport.Config{
		ID:        "did:key:z6MkExample",
		PublicKey: hex.EncodeToString(pub),
		OwnerDID:  "did:key:z6MkOwner",
		Skills: []passport.Skill{{
			Name: "go", Version: "1.0.0", Description: "Go agent",
			Capabilities: []string{"code_write"},
			Hash: "0x" + strings.Repeat("ab", 32),
		}},
		Soul: passport.Soul{
			Personality: "focused",
			WorkStyle:   "test-first",
			Hash:        "0x" + strings.Repeat("cd", 32),
		},
		Policies: passport.Policies{
			PolicySetHash: "0x" + strings.Repeat("ef", 32),
			Summary:       []string{"read-only"},
		},
		Lineage: passport.Lineage{Kind: "original", Parents: []string{}, Generation: 0},
	})
	_ = p.Sign(priv)
	ok, _ := p.Verify(pub)
	fmt.Println("verified:", ok)
}

Install

bash

go get github.com/cezexPL/agent-passport-standard/go@v1.2.0

Reference role

The Go SDK is the reference implementation for APS canonicalization, signing, verification, Merkle utilities, and conformance vectors.

Validation

bash

cd standard/go
go test ./...