Vibeleaderboard
Index / tool
Visit pkg.go.dev
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 credentialsActive blockchain connection

  • Submit transactions to Tempo blockchain

    Transaction data and signing keysTransaction hash and confirmation

  • Query blockchain state and data

    Query parameters and block/address identifiersBlockchain state information and transaction data

  • Manage cryptographic keys and wallets

    Key generation parameters or existing key dataCryptographic keys and wallet addresses

  • Sign blockchain transactions

    Transaction payload and private keysDigitally signed transaction

  • Monitor blockchain events and logs

    Event filter criteria and block rangesReal-time event notifications and historical logs

Tags

cryptotempogosdkblockchain

Tech Stack

Go

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.