At Blockwatch, we've continuously been building and maintaining infrastructure and tooling for Tezos since the early betanet days in mid 2018. Today, the Blockwatch Tezos Stack is an invaluable asset to any developer building on or interacting with Tezos. In this post, I'm excited to guide you through and assist you in uncovering the stack's ability to empower you.
- TzGo SDK: low-level Tezos Go SDK focused on correctness, stability, and compliance with the Tezos protocol. Repository: https://github.com/blockwatch-cc/tzgo.
- TzCompose: Tezos automation and testing framework, part of TzGo. Repository: https://github.com/blockwatch-cc/tzgo/tree/master/cmd/tzcompose.
- TzIndex: all-in-one zero-conf Tezos indexer. Repository: https://github.com/blockwatch-cc/tzindex. Available as PRO version.
- TzPro: Tezos infrastructure for developers. Powerful APIs and SDKs. Platform: https://tzpro.io.
TzGo: Tezos Go SDK
TzGo is our official Tezos Go SDK. It's designed with a focus on correctness, stability, and compliance with the Tezos protocol. The SDK is free to use in commercial and non-commercial projects with a permissive license. It supports binary and JSON encodings for all Tezos types including Micheline smart contract data and all transaction formats.
TzGo is perfectly suited for high-performance apps and services that read from and write to the Tezos blockchain. The library is structured into packages that provide multiple layers of building blocks for maximum freedom of choice. All types and interfaces are engineered to be easily composable. Application programmers can directly use low-level types for greater control of details and communication patterns or use more convenient high-level functionality which hides details and allows the sending of several RPC calls in the background.
Currently, TzGo is compatible with all Tezos protocols up to v17 Nairobi.
TzGo Core Packages
- Low-level Types Library (to handle hashes, addresses, keys, signatures, & other on-chain types)
- Micheline Library (to decode and translate data found in contract calls, storage, & bigmaps)
- RPC Library (to access the Tezos Node RPC)
- Codec Library (to construct and serialize operations)
- Contract Library (for smart contract calls and tokens)
- Signer Library (to sign transactions local or remote)
- Helpers (i.e. an efficient base58 en/decoder, hash maps, etc.)
TzGo Links
- Docs: https://docs.tzpro.io/sdks/tzgo
- Repository: https://github.com/blockwatch-cc/tzgo
TzCompose: Automation Framework
TzCompose is a tool for defining and running complex transaction sequences on Tezos. It is part of the TzGo SDK. With TzCompose, you use a YAML file to configure pipelines from different kinds of tasks and then run a single command to execute these pipelines. It works on all Tezos networks and makes it easy to clone contracts and transaction sequences between them.
Developers use it for:
- smart contract deployment and maintenance
- traffic generation for protocol and application testing
- automating test-case setups
- cloning contract deployments and setup logic between networks
TzCompose Links
- Documentation: https://docs.tzpro.io/sdks/tzgo/tzcompose
- Repository: https://github.com/blockwatch-cc/tzgo/tree/master/cmd/tzcompose
TzIndex: Tezos Indexer
Blockwatch TzIndex is our battle-tested Tezos indexer. Available as open-source software since 2019, TzIndex has not only remained a constant as a reliable Tezos indexing solution, it also inherently supports decentralization as it can be run on both personal laptops and enterprise-grade servers. Furthermore, cross-compatibility between the TzIndex API and the hosted TzStats Data API contributes to a great developer experience by allowing for seamless switching between the two.
Core Features
- supports protocols up to Nairobi (v017)
- indexes and cross-checks full on-chain state
- feature-rich REST API with objects, bulk tables and time-series
- auto-detects and locks Tezos network (never mixes data from different networks)
- indexes all accounts and smart-contracts (including genesis data)
- follows chain reorgs as they are resolved
- can passively monitor for new blocks
- self-heals broken node connections (retries until node RPC comes back up)
- API supports CORS and HTTP caching
- high-performance embedded data-store
- flexible in-memory caching for fast queries
- automatic database backups/snapshots
- configurable HTTP request rate-limiter
- flexible metadata support
TzIndex Links
- Documentation: https://github.com/blockwatch-cc/tzindex/blob/master/README.md
- Repository: https://github.com/blockwatch-cc/tzindex
TzPro: Tezos Infrastructure
TzPro is a suite of powerful APIs and SDKs to access the Tezos network. With TzPro, you can easily access the entire landscape of Wallets, Tokens, DeFi and NFT protocols on Tezos. It offers the most comprehensive API solution for Tezos DeFi and NFT ecosystems as it unifies access to the broadest set of protocols and markets available today.
It offers a unified data model for common building blocks such as tokens, DEX pools, staking farms, lending protocols, NFT markets and identity solutions. Activity from different protocol implementations is indexed and mapped to this unified model so that you can seamlessly query live and historic data on all positions, trades, prices, wallet balances, transfers and more across many supported protocols.
TzPro combines 3 layers of APIs under a single roof:
- Tezos RPC (backed by load balanced Rolling and Archive mode nodes)
- Tezos Index API (our well-known legacy API for Tezos Layer 1 data)
- TzPro Token, DeFi, NFT and Identity APIs
The TzPro APIs
To best capture the broad range of protocol ecosystems on Tezos in an easy to navigate form, we split the TzPro API into sectors. As blockchain use cases and Tezos itself evolve, we're adding support for more sectors and extend existing ones:
- 🌮 Tezos Index API – transactions, wallet and contract state, bakers info, etc.
- 🦊 Tezos Token API – everything about financial assets, NFTs, LPTs, domains, minting, transfers, metadata.
- 🦄 Tezos DeFi API – in-depth activity, positions, prices across all DEX, farming and lending protocols.
- 🐳 Tezos NFT API – sales, listings, auctions, prices and analytics across all NFT markets.
- 🦓 Tezos Identity API – Domains, Profiles, smart contract metadata and curated metadata on well known wallets.
- 💰 Tezos Price API – fiat prices, token prices, NFT prices.
- ⚙️ Tezos RPC – ground-truth & mempool data from rolling or archive nodes with the ability to simulate and broadcast transactions.
Read the TzPro developer documentation on docs.tzpro.io for details on all TzPro API endpoints.
Support
We love to hear what you're building with Blockwatch. Come talk to us on our Discord dev support server, message us on X, or send a mail to hello at blockwatch.cc. For software licensing, contact us via licensing at blockwatch.cc.