Welcome to the Tezos Developer Documentation!¶
The Project¶
Tezos is a distributed consensus platform with meta-consensus capability. Tezos not only comes to consensus about the state of its ledger, like Bitcoin or Ethereum. It also attempts to come to consensus about how the protocol and the nodes should adapt and upgrade.
Developer documentation is available online at https://tezos.gitlab.io/ and is automatically generated from the master branch.
The website https://tezos.com/ contains more information about the project.
All development happens on GitLab at https://gitlab.com/tezos/tezos
The source code of Tezos is placed under the MIT Open Source License.
Latest Release¶
The current version of Tezos is Version 8.3.
The Community¶
The website of the Tezos Foundation.
Tezos sub-reddit is an important meeting point of the community.
Several community-built block explorers are available:
https://tzkt.io (Baking focused Explorer)
https://baking-bad.org (Reward Tracker)
https://better-call.dev (Smart-contract Explorer)
A few community-run websites collect useful Tezos links:
More resources can be found in the Technical Support page.
The Networks¶
Mainnet¶
The Tezos network is the current incarnation of the Tezos blockchain. It runs with real tez that have been allocated to the donors of July 2017 ICO (see Activate fundraiser account - Mainnet).
The Tezos network has been live and open since June 30th 2018.
All the instructions in this documentation are valid for Mainnet however we strongly encourage users to first try all the introduction tutorials on some test network to familiarize themselves without risks.
Test Networks¶
There are several test networks for the Tezos blockchain with a faucet to obtain free tez (see Get Free Tez). It is the reference network for developers wanting to test their software before going to beta and for users who want to familiarize themselves with Tezos before using their real tez.
See the list of test networks in test network.
Getting started¶
The best place to start exploring the project is following the How Tos in the introduction.
Introduction tutorials:
User documentation:
- Key Management
- Sandboxed mode
- Mockup mode
- Proxy mode
- History modes
- History modes in a nutshell
- Setting up a node in full mode
- Setting up a node in rolling mode
- Setting up a node in archive mode
- Preserving additional cycles
- Switching between node’s modes
- Snapshots
- Node Configuration
- Multinetwork Node
- Various
Shell doc:
- Tezos Software Architecture
- The validation subsystem
- The storage layer
- Synchronisation heuristic
- The peer-to-peer layer
- P2P message format
- Block header (shell)
- fitness.elem
- Operation (shell)
- Block_header (alpha-specific)
- Operation (alpha-specific)
- alpha.scripted.contracts
- alpha.contract_id (22 bytes, 8-bit tag)
- alpha.entrypoint (Determined from data, 8-bit tag)
- X_0
- N.t
- public_key (Determined from data, 8-bit tag)
- public_key_hash (21 bytes, 8-bit tag)
- fitness.elem
- alpha.block_header.alpha.full_header
- alpha.inlined.endorsement.contents (5 bytes, 8-bit tag)
- alpha.inlined.endorsement
- alpha.operation.alpha.contents (Determined from data, 8-bit tag)
- Micheline
- Command Line Interface
- RPCs - Index
- RPCs - Full description
008 Edo doc:
- Michelson: the language of Smart Contracts in Tezos
- Semantics of smart contracts and transactions
- Language semantics
- Introduction to the type system and notations
- Core data types and notations
- Core instructions
- Operations
- Domain specific data types
- Domain specific operations
- Macros
- Concrete syntax
- Annotations
- Entrypoints
- JSON syntax
- Examples
- Full grammar
- Reference implementation
- Proof-of-stake in Tezos
- Sapling integration
- The Voting Process
- Glossary
- Command Line Interface
- RPCs - Index
- RPCs - Full description
009 Florence doc:
- Michelson: the language of Smart Contracts in Tezos
- Semantics of smart contracts and transactions
- Language semantics
- Introduction to the type system and notations
- Core data types and notations
- Core instructions
- Operations
- Domain specific data types
- Domain specific operations
- Macros
- Concrete syntax
- Annotations
- Entrypoints
- JSON syntax
- Examples
- Full grammar
- Reference implementation
- Proof-of-stake in Tezos
- Sapling integration
- The Voting Process
- Glossary
- Command Line Interface
- RPCs - Index
- RPCs - Full description
Alpha Development Protocol doc:
- Michelson: the language of Smart Contracts in Tezos
- Semantics of smart contracts and transactions
- Language semantics
- Introduction to the type system and notations
- Core data types and notations
- Core instructions
- Operations
- Domain specific data types
- Domain specific operations
- Macros
- Concrete syntax
- Annotations
- Entrypoints
- JSON syntax
- Examples
- Full grammar
- Reference implementation
- Proof-of-stake in Tezos
- Sapling integration
- The Voting Process
- Glossary
- Command Line Interface
- RPCs - Index
- RPCs - Full description
Developer Tutorials:
- JSON/RPC interface
- The
data_encoding
library - The Error Monad
- Michelson Anti-Patterns
- How to start reading protocol Alpha
- Economic protocol sandboxing
- Overview of Testing in Tezos
- Flexible Network Sandboxes
- Python Execution and Testing Environment
- Tezt: OCaml Tezos Test Framework
- How to Test a Protocol Proposal
- Profiling the Tezos node
- Benchmarking with Snoop
- How to contribute
- Merge Team
- Coding guidelines
- The documentation subsystem
Protocols: