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.