Skip to main content

github.com/ombrachain/sdk-go — Go SDK

Modul Go oficial pentru OmbraChain. Folosește stdlib crypto/ed25519 și crypto/sha256 + tyler-smith/go-bip39. Zero CGO deps.

Install

go get github.com/ombrachain/sdk-go@v0.2.0

Quick start

package main

import (
"context"
"fmt"
"math/big"

ombra "github.com/ombrachain/sdk-go"
)

func main() {
wallet, _ := ombra.WalletFromMnemonic("...12 words...", "")
fmt.Println("address:", wallet.Address)

client := ombra.NewClient("https://api.ombra-net.com")
ctx := context.Background()

acct, _ := client.GetAccount(ctx, wallet.Address)
nonce := int64(acct["nonce"].(float64))

// ── Fork V6 — agent run ──
runID := ombra.ComputeAgentRunID(wallet.Address, nonce, "Explain Bitcoin")
convID := ombra.ComputeConversationID(wallet.Address, "")

tx, _ := ombra.BuildAgentRequestTx(wallet.Address, ombra.AgentRequestParams{
AgentRunID: runID,
ConversationID: convID,
Prompt: "Explain Bitcoin in 100 words",
ToolsWhitelist: []string{"web_search", "chain_query"},
MaxFee: big.NewInt(ombra.MicroOmbra), // 1 OMBRA escrow
MaxSteps: 100,
}, nonce, wallet.PrivateKey)

client.SubmitTx(ctx, tx)

// Live SSE
_ = client.StreamEvents(ctx, func(evt map[string]interface{}) bool {
fmt.Printf("%+v\n", evt)
return true
})
}

Cross-language compatibility

OrderedMap păstrează insertion order pentru CanonicalJSON → bit-exact cu toate celelalte OmbraChain SDKs.