Go SDK
Official Go SDK for Keymint. Add idiomatic software licensing, machine binding, and floating session heartbeats to your Go applications.
Installation
bash
go get github.com/keymint-dev/keymint-goQuick Start
go
package main
import (
"fmt"
keymint "github.com/keymint-dev/keymint-go"
)
func main() {
admin, err := keymint.New("YOUR_ADMIN_API_KEY", "")
if err != nil {
panic(err)
}
client, err := keymint.New("YOUR_CLIENT_API_KEY", "")
if err != nil {
panic(err)
}
// Create a key with allowed hosts (Node-locking)
newKey, err := admin.CreateKey(keymint.CreateKeyParams{
ProductID: "prod_Nx8K2mLpQ4rVtW9sBc",
AllowedHosts: []string{"machine-a", "machine-b"},
})
// Activate a license
result, err := client.ActivateKey(keymint.ActivateKeyParams{
ProductID: "prod_Nx8K2mLpQ4rVtW9sBc",
LicenseKey: "XXXXX-XXXXX-XXXXX-XXXXX",
HostID: keymint.String("machine-a"),
})
if err != nil {
panic(err)
}
fmt.Println(result.Message) // "License valid"
}Use client keys for activation/deactivation/floating sessions. Use admin keys for create/update/block/unblock/sign and customer management. Use read-only or admin keys for detailed key lookup.