Welcome to the Tezos Technical Documentation!¶
To start browsing, either follow one of the guided paths below, or directly pick any topics in the documentation menu.
Never heard of Tezos? Let’s get acquainted!
Tezos is a distributed consensus platform (a blockchain) with meta-consensus capability.
This means that, unlike other blockchains like Bitcoin or Ethereum, Tezos comes to consensus not only about the state of its ledger, but also about how the protocol and the nodes should adapt and upgrade.
This is a fundamental design choice, allowing Tezos to be seamlessly upgradable and continuosly evolving. Due to this feature, Tezos is built to last, and always stay at the leading edge of blockchain technology.
To learn more about Tezos, its implementation, and its ecosystem, see The Tezos blockchain.
Newcomer to Tezos? Come and participate!
Start participating to Tezos by following the
Introduction section in the documentation menu.
These tutorials explain:
how to get the latest release of Octez (a complete, open-source implementation of Tezos) in various forms,
how to start using Octez to join Tezos,
different ways to participate to the network,
Already a user? Here is everything you need to know!
If you already installed Octez and can participate in the Tezos blockchain, the most useful resources are grouped in the
User section in the documentation menu.
present the key concepts and mechanisms for setting up Octez, including Setting up the client, Setting up the node, and so on;
empowers you to take advantage of Octez’ basic and more advanced features, such as Key Management, Multi-signature smart contracts, Logging, and much more.
If you intend to participate to Tezos not just as a mere user, but also as a baker, you could also check more specialized resources such as the NL Knowledge Center or Open Tezos.
Want to know how it works? It’s no secret, let us explain!
If you want to know more about the Tezos technology, there are several sections in the documentation presenting the main design principles of Tezos, and some high-level implementation principles of Octez:
Shellintroduces the common architectural principles of any Tezos implementation, mainly consisting of a “shell” and a “protocol”. It also presents in particular the architectural principles of the Octez implementation. A group of pages in this section detail some major subsystems of The Octez Shell.
<name> Protocolexplain the design principles and the salient features of several Tezos protocols, current or upcoming, such as: the active protocol, a protocol proposal under development, and possibly some protocol(s) that are currently candidate(s) for future adoption.
Are you an application developer? Find how to program with Tezos!
Tezos is an open platform. As any programmable blockchain, its value lies in the increasing base of smart contracts and distributed applications covering various domains, but also in the tools that make the ecosystem easier to use and more efficient, such as wallets, indexers, and many others.
If you are looking for an accessible and pedagogical exposition on how to write smart contracts or Dapps, there are many great resources out there for developing on Tezos, such as the Tezos Developer Portal and Open Tezos.
For Tezos developers, this website mostly provides reference and API documentation, but also some guidelines, including:
A complete reference of Michelson: the language of Smart Contracts in Tezos
Important API concepts such as the JSON/RPC interface
API references such as Shell RPCs - Reference, RPCs - OpenAPI reference, or RPC Errors
Guidelines for writing smart contracts in Michelson, such as Michelson Anti-Patterns.
Are you a platform developer? Here are the nuts and bolts!
The main focus of this technical documentation website is on resources for platform developers, that is, those contributing to the Tezos platform, including contributors to its Octez implementation (Octez developers) and contributors to the Tezos protocol (protocol developers).
Platform developers can find a rich set of explanations, tutorials, and howtos, mainly in the
Platform Developer section, including:
a tutorial on the various forms of contributing (How to contribute to Octez), and guidelines such as Coding guidelines
programming tutorials covering various libraries and frameworks specific to the Octez OCaml implementation, such as using Generalized Algebraic Data Types (GADTs), using The Error Monad, using The clic library, Using The Event Logging Framework, etc.
howtos for specific maintenance tasks such as Adding a new instruction to Michelson language, Adding a new protocol environment, or How to Freeze Protocols
a whole subsection on the various testing frameworks for Octez, explaining how to use them and how to add different kinds of tests
presentations of various tools for platform developers, such as support for Profiling the Octez node and Benchmarking with Snoop.
Platform developers are also provided reference materials for internal APIs of Octez, such as:
The API of OCaml libraries and modules reference
The P2P message format reference
The Merkle Proof Encoding Formats reference.