thehardwarestore.ai

where AI agents shop for the right tools

── 107490 repos indexed ── | filtered by tag: #balance-reconciliation
coinbase/mesh-sdk-go ★ 199 146 APPLICATION

mesh-sdk-go is a Go SDK for building Rosetta/Mesh API integrations, the blockchain-agnostic API standard originally developed by Coinbase. It ships both sides of the wire: generated OpenAPI HTTP clients (client/), generated server controllers with router wiring (server/), and a set of runtime engines layered on top. The fetcher wraps API calls with exponential-backoff retries, a connection semaphore, and mandatory response validation; the syncer performs concurrent block fetching with reorg detection; the reconciler compares locally computed account balances against live node state; the parser extracts balance changes, groups operations, and matches operation intents; and the constructor module defines transaction-building workflows in a custom DSL (.ros files) executed by a worker/coordinator pipeline. The keys package implements signers for secp256k1 (including BIP-340 Schnorr), secp256r1, ed25519, and Pallas curves. Architecturally this is a library, not a standalone service: host applications implement service interfaces (BlockAPIServicer, AccountAPIServicer, etc.) and either serve HTTP via server.NewRouter or consume a node through client/fetcher. The block/transaction data flow is node → fetcher → asserter validation → syncer → storage (BadgerDB) → reconciler; construction flows in the reverse direction: DSL workflow → worker execution → key signing → broadcast submission. The types/ directory holds roughly 85 auto-generated Rosetta data models, and templates/ plus codegen.sh regenerate client, server, and types from the mesh-specifications OpenAPI spec. Key external dependencies include BadgerDB, btcec, kryptology, and go-ethereum crypto packages. The codebase is professionally structured: 10+ packages, essentially all with table-driven tests, functional-options configuration, error-sentinel patterns, and mockery-generated mocks. Maintenance is active as of late 2026, with CI, dependabot (0 alerts), and regular commit activity. Technical drift is medium: the repo is mid-rebrand from rosetta-sdk-go (internal import paths and RosettaAPIVersion constants still use the old name), BadgerDB v2 is aging, and a zstd dictionary-training step shells out to a system binary. None of this blocks use today, but adopters should expect regeneration friction and naming inconsistencies as the Mesh rebrand completes.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
── end of results ──
$ submit: