Welcome to the Tezos Developer Documentation!¶
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.
The source code of Tezos is placed under the MIT Open Source License.
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.
Tezos Babylonnet is a test network for the Tezos blockchain with a faucet to obtain free tez (see Get free tez). It is updated and rebooted rarely and it is running the same code as the Mainnet. 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.
We offer support for Babylonnet on IRC.
The Tezos Babylonnet (test) network will be live as long as Mainnet will be running the Babylon protocol.
Zeronet is the most cutting-edge development network of Tezos. It is restarted without notice, possibly several times a day. This network is mostly used internally by the Tezos developers and may have different constants from Babylonnet or Mainnet, for example it has shorter cycles and a shorter interval between blocks. We offer no support for the Zeronet.
The best place to start exploring the project is following the How Tos in the introduction.
- Key Management
- Sandboxed mode
- History modes
- Tezos Software Architecture
- The peer-to-peer layer
- The validation subsystem
- 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
- Domain specific data types
- Domain specific operations
- Concrete syntax
- JSON syntax
- Full grammar
- Reference implementation
- Proof-of-stake in Tezos
- The Voting Process
- JSON/RPC interface
- The Error Monad
- Michelson Anti-Patterns
- How to start reading protocol Alpha
- Economic protocol sandboxing
- How to test a protocol proposal
- Profiling the Tezos node
- Flexible Network Sandboxes
- Python Execution and Testing Environment
- How to contribute
- Merge Team
- Protocol 003_PsddFKi3
- Protocol 004_Pt24m4xi Athens
- Protocol 005_PsBabyM1 Babylon
- Protocol 006_PtCartha Carthage
- Building documentation locally
- Online OCaml Documentation
- Command Line Interface
- RPCs - Index
- RPCs - Full description
- RPC Errors
- P2P message format
- Block header (shell)
- Operation (shell)
- Block_header (alpha-specific)
- Operation (alpha-specific)
- contract_id (22 bytes, 8-bit tag)
- entrypoint (Determined from data, 8-bit tag)
- public_key (Determined from data, 8-bit tag)
- public_key_hash (21 bytes, 8-bit tag)
- inlined.endorsement.contents (5 bytes, 8-bit tag)
- operation.alpha.contents (Determined from data, 8-bit tag)