Skip to main content
Version: 0.9.1

TzGo SDK

TzGo - Tezos Go SDK

TzGo is a low-level Tezos Go SDK compatible with the Tezos RPC. TzGo's main focus is on correctness, stability, and compliance with Tezos mainnet. It supports binary and JSON encodings for all Tezos transaction types and Micheline smart contract data. It's an ideal fit for high-performance applications that read from and write to the Tezos blockchain.

Latest stable release: v1.18.4 (976074d). Compatible with Tezos protocols up to Oxford v18.

Latest version (unreleased): v1.19.0 (feat/paris). Compatible with Tezos protocols up to Paris v19.

Tezos Protocol Support

Trilitech keeps TzGo up-to-date with the most recent Tezos protocol that is currently live on mainnet. We aim for stable types and interfaces as many use-cases for TzGo require seamless access to data from previous protocol iterations. So far, our design strategy has been to extend type definitions in the RPC, Tezos and Micheline packages to become mixed/multi-version types.

Since Tezos core updates are notorious for breaking RPC compatibility, we typically add new accessor methods which transparently switch between previous and current type attributes. This strategy results in the smallest amount of downstream adjustments. For operation codec, however, we only officially support two most recent protocols. This means TzGo is compatible with Mainnet and testnets, i.e., Ghostnet.

Supported protocols:

  • Paris v019 (unreleased)
  • Oxford v018
  • Nairobi v017
  • Mumbai v016
  • Lima v015
  • Kathmandu v014
  • Jakarta v013
  • Ithaca v012
  • Hangzhou v011
  • Granada v010
  • Florence v009
  • Edo v008
  • Delphi v007
  • Carthage v006
  • Babylon v005
  • Athens v004
  • Alpha v001-v003

SDK Features

TzGo contains a full set of features to query, monitor, decode, translate, and debug data from the Tezos blockchain, in particular from Tezos smart contracts. It further enables encoding, signing, and broadcasting transactions to the Tezos network. TzGo works in a decentralized way by interacting directly with the Tezos node RPC without the need for third party APIs.

TzGo is structured into packages that provide multiple layers of composable building blocks for maximum freedom of choice and composability. Application programmers can use more convenient high-level functionality which hides details and RPC calls or directly use low-level types for greater control of details. The current version of TzGo contains 5 core packages:

  • a low-level Types library tzgo/tezos to handle hashes, addresses, keys, signatures other types found on-chain
  • a powerful Micheline library tzgo/micheline to decode and translate data found in smart contract calls, storage, and bigmaps
  • an RPC library tzgo/rpc for accessing the Tezos Node RPC
  • a Codec library tzgo/codec to construct and serialize operations
  • a Contract library tzgo/contract for smart contract calls and tokens
  • a Signer library tzgo/signer to sign transactions local or remote
  • helpers like an efficient base58 en/decoder, hash maps, etc

TzGo Versioning

TzGo uses standard semantic versioning major.minor.patch with the notable exception that the minor version is kept in sync with the release of Tezos protocol updates. The current major version is v1.x.