
Tempo Go SDK
https://github.com/tempoxyz/tempo-go- Category
- Crypto
- Rank
- No. 1020Tools index
Previous survey · No. 1006 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- tempoxyz
- GitHub
- 77 stars
- Latest release
- v0.5.0
- Date
About
Official Go SDK for interacting with the Tempo blockchain.
What it does
Tempo Go SDK builds, signs, serializes, broadcasts, and tracks Tempo transactions from Go applications. It supports batched contract calls, sponsored fees, validity windows, parallel nonce lanes, generic JSON-RPC requests, and restricted access-key management.
Why it's ranked here
This is a focused choice for Go teams using Tempo-specific transaction features. Its strongest case is breadth: transaction encoding, RPC transport, signing, fee sponsorship, key restrictions, witness authorization, and admin keys live behind one library. The security posture still deserves caution because the project says Tempo remains under audit and has no active bug bounty.
What's good
The transaction model exposes useful protocol features directly, including multiple calls, stablecoin gas payments, fee payers, validity windows, and parallel nonce lanes. The client supports custom HTTP transport, basic authentication, timeouts, batch requests, receipt polling, and generic JSON-RPC calls. Signature recovery rejects malformed components and noncanonical high-S values.
Tradeoffs
The module declares Go 1.25.9, while the README describes Go 1.24 as the development prerequisite. Older supported releases carry a documented denial-of-service vulnerability through their Ethereum dependency. The quick start manually constructs token-transfer calldata and ignores several errors, so production users need stronger ABI handling and error discipline. Tempo is also still undergoing audit.
How to use it well
Use it when a Go service must create and submit Tempo transactions, sponsor user fees, batch calls, or manage scoped access keys. Pair it with careful secret storage, generated contract bindings or another ABI layer, and a reliable RPC endpoint. It handles protocol interaction, not wallet presentation, node operation, or broader application data indexing.
Technical notes+
README.md documents installation, examples, Make targets, integration testing, and the security caveat. go.mod declares Go 1.25.9 and depends directly on go-ethereum v1.17.4. pkg/client/client.go implements HTTP JSON-RPC, Basic Auth, configurable clients and timeouts, batch transport, receipt polling, chain queries, and Tempo's two-dimensional nonce lookup. pkg/signer/signer.go wraps secp256k1 signing, low-S validation, recovery, and verification. pkg/keychain/calls.go ABI-encodes restricted, witness-based, and admin-key operations, while pkg/keychain/helpers.go strictly parses authorization booleans. pkg/signer/fuzz_test.go exercises signing, verification, recovery, and malformed signatures. The Makefile runs race-enabled package tests, vetting, formatting checks, integration tests, coverage, and fuzz targets.
Observed
- License
- Dual licensed under Apache License 2.0 or MIT, at the user's option.
- Primary language
- Go.
- Packaging
- Go module installed through go get from github.com/tempoxyz/tempo-go.
- Interface
- Go library with an HTTP JSON-RPC 2.0 client.
- Core packages
- Transaction encoding, RPC client, signing, and keychain access-key management.
- Verification surface
- Race-enabled unit tests, integration tests, coverage tasks, vetting, formatting checks, and fuzz tests are documented.
Read from README.md, go.mod, Makefile, pkg/client/doc.go, pkg/signer/doc.go, pkg/client/types.go, pkg/keychain/doc.go, pkg/client/client.go, pkg/signer/errors.go, pkg/signer/signer.go, pkg/keychain/calls.go, pkg/keychain/events.go, pkg/transaction/doc.go, pkg/keychain/helpers.go, pkg/signer/fuzz_test.go.
What it can do
Connect to Tempo blockchain network
Network configuration and credentials → Active blockchain connection
Submit transactions to Tempo blockchain
Transaction data and signing keys → Transaction hash and confirmation
Query blockchain state and data
Query parameters and block/address identifiers → Blockchain state information and transaction data
Manage cryptographic keys and wallets
Key generation parameters or existing key data → Cryptographic keys and wallet addresses
Sign blockchain transactions
Transaction payload and private keys → Digitally signed transaction
Monitor blockchain events and logs
Event filter criteria and block ranges → Real-time event notifications and historical logs
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.