Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
: The Digital Commonwealth
Curated list of resources: books, videos, articles about Tezos.
* - Helpful guide to all related Tezos chats.
- This is meant to be a concise guide to the principles and values we hope to see embodied by the Tezos network. A longer, more...
**** (June 2020) - The most comprehensive data study ever made on the Staking Relations and Culture in Tezos. Are bakers and delegators able to build trustful long-term relationships?
Found an awesome package, article, blog, video etc.? Send me a pull request! Just follow the . Thank you!
What is being built on Tezos?
Confirmation time on exchanges
Wallet error codes
Wallet support who to ask
Find out when you are supposed to receive rewards, the tools required, and timing expected.
Are you sure your Tezos baker pays for all staking rewards? Check it out on https://baking-bad.org/
Search by Alias, Hash or Number on https://tzstats.com/
The Blockmatics team will release a course to train developers to write Tezos smart contracts in SmartPyWrite secure smart contracts with ease
Alphanet was the test network before Babylonnet. At the end of its life, it was running the Athens protocol. Bootstrap nodes were shut down after the Babylon protocol was activated on Mainnet.
Website:
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 ).
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 to familiarize themselves without risks.
More informations:
There are several test networks for the Tezos blockchain with a faucet to obtain free tez (see ). 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 .
Alliance is the leading property developer in UK, who has announced tokenizing GBP 500 M of UK real estate, and partnering with the Tezos Foundation, tZero and digital securities advisory boutique, Megadolon, for its first digital security project, the River Plaza in central Manchester (GBP 43 M)
Website:
The Silicon Valley Coin, representing an interest in Andra Capital’s Open-Ended Fund, is a tradable digital security based on Tezos and breaks the mold of traditional venture capital investing by leveraging blockchain technology
Website:
Brazil’s fifth largest bank, together with Dalma Capital, a prominent Dubai asset manager, announced plans to utilize the Tezos blockchain for security token offerings of assets worth more than USD 1B
Website:
Announcement:
Enabling the market to create and trade digital securities using blockchain technology.
Website:
An XTZ faucet operated by the Tezos Foundation to procure free XTZ for testing purposes on mainnet.
This faucet allows developers and users to request Tezos tokens (tez) to be used on the Tezos main network. This is real (mainnet) tez and has a market value. Please drink responsibly:
Built-in Multinetwork Node alias: carthagenet
Run Docker image: wget -O carthagenet.sh https://gitlab.com/tezos/tezos/raw/latest-release/scripts/tezos-docker-manager.sh
Carthagenet is a test network running the Carthage protocol. Carthagenet will run until Carthage is replaced by another protocol on Mainnet.
On Carthagenet, the following constants differ from Mainnet:
preserved_cycles
is 3 instead of 5;
blocks_per_cycle
is 2048 instead of 4096;
blocks_per_voting_period
is 2048 instead of 32768;
time_between_blocks
is [ 30, 40 ]
instead of [ 60, 40 ]
;
test_chain_duration
is 43200 instead of 1966080;
quorum_min
is 3000 (i.e. 30%) instead of 2000 (i.e. 20%);
Baanx - Baanx has developed a proprietary platform for mobile banking applications including a wallet, payment rails and KYC / AML and operates as a distributor for third parties. Tezos will be integrated as a payments currency.
Equisafe - Create asset standards and a smart contract package for the issuance and compliant transfer of financial instruments on the Tezos blockchain
StableTez - StableTez is an effort by Tezos community members, services partners, and financial-backers of the project to provide Tezos-on-chain stable assets for financial instruments and for economically-efficient Tezos-token trading
Vertalo - Supports the ongoing asset management needs of private companies, broker-dealers, and investors and will use Tezos as the default blockchain for its clients
Building a Proof-of-Concept iOS application that will demonstrate how to use its TezosSwift library, which is forked from Keefer Taylor’s TezosKit.
Website: https://www.ackee.cz/blog/en/tag/tezos/
Secure your various crypto assets with one secret on an offline device. Website: https://airgap.it/
Cryptonomic is an NYC-based company committed to decentralization and digital sovereignty, providing TezosKit.
Website: https://cryptonomic.tech/
Secure your various crypto assets with one secret on an offline device.
Website: https://airgap.it/
Cryptonomic is an NYC-based company committed to decentralization and digital sovereignty, providing, Conseil is a multi-chain industrial-grade blockchain indexer written in Scala, currently focused on Tezos.
Website: https://cryptonomic.tech/
To become a baker you need a minimum of one roll which is currently 8,000 Tez. You can register your account as a baker <TODO>
Blocks are formed every minute (60 seconds) on average.
<script async src="https://telegram.org/js/telegram-widget.js?9" data-telegram-post="tezosplatform/268317" data-width="20%"></script>
No. Technically bakers only need to be available when it is their turn to bake or endorse a block.
Bakers are assigned rights in advance for the blocks they need to bake and endorse. These are determined by randomized snapshots taken during the cycle. Each cycle one of the several snapshots is selected and baking rights are distributed based on weigh (amount staking). This data can be called through the node RPC or through an API call like this:
curl "https://api.tzstats.com/tables/rights?address=tz1aqcYgG6NuViML5vdWhohHJBYxcDVLNUsE&cycle=250&limit=100"
This is the API used if you are curious: https://tzstats.com/docs/api/index.html#rights-table
Step 1: Set up a Node; following this Step by Step Guide.
Step 2: Download the Full or rolling mode Snapshot File
Step 3: Copy the file into /tezos folder
Step 4: “./tezos-node snapshot import *Blockhash*.full”
Step 5: Delete the *Blockhash*.full file after succesful import.
Step 6: Start the Node “./tezos-node run –rpc addr 127.0.0.1:8732″
Download the Full or rolling mode Snapshot File.
Copy the file into the /tezos folder
Update your Tezos Node with
git checkout mainnet && git pull && make build-deps && eval $(opam env) && make
Step 4: If your node is running, stop the Node with Ctrl-c
Step 5: Backup your current ./tezos-node folder
(Especially the identity.json and peers.json)
Step 6: Delete your ./tezos-node Folder
Step 7: “./tezos-node snapshot import *Blockhash*.full”
Step 8: Delete the *Blockhash*.full file after succesful import
Step 9: Copy the backuped identity.json and peers.json into the ./tezos-node folder
Step 10: Start the Node “./tezos-node run –rpc addr 127.0.0.1:8732”
The Tezos Foundation stands as part of the community in support of the Tezos protocol and ecosystem
Website: https://tezos.foundation/
TQ Tezos works to advance the Tezos ecosystem by creating open source software and other public goods, providing support to projects and companies building on Tezos, and connecting the global Tezos community.
Website: https://tqtezos.com/
Nomadic Labs houses a team focused on Research and Development. Our core competencies are in programming language theory and practice, distributed systems, and formal verification.
Website: https://nomadic-labs.com/
North American non-profit foundation dedicated to organizing grassroots community interests. Tezos Commons provides programs for community building, education, promotion, and collaborative open-source software initiatives.
Website: https://tezoscommons.org/
Researches and develops a number of technologies to help advance the Tezos project.
Website: https://metastate.dev/
Cryptonomic is an NYC-based company committed to decentralization and digital sovereignty, providing tools and smart contracts which enable higher level decentralized and consortium applications.
Website: https://cryptonomic.tech/
Built with ConseilJS and powered by the Conseil API
The tool is a meta explorer designed to make smart contract development easier by surfacing interaction data through a straightforward frontend and high-level data abstractions
Tezblock strips away features that can cloud a user’s experience and introduce friction when users try to understand chain data
TezTracker is a Tezos block explorer built to add greater analytical capabilities and insights about Tezos on-chain activity for users
A beautiful explorer for tezos data
A lightweight, API-first, account oriented block explorer for the Tezos blockchain.
TQ Digital Assets Portal - This documentation aims to help developers streamline the implementation, integration, and use of digital assets on Tezos.
Tezos Developer Documentation - A complete Tezos documentation resource for developers.
TezEdge Tezos documentation - A documentation resource by the TezEdge team.
TQ Tezos Wiki - A Tezos wiki by the TQ Tezos team. Learn about Tezos basics, proof-of-stake in Tezos, governance, smart contracts, and more.
TezosNotifierBot is a popular Telegram bot used to monitor various events on the Tezos blockchain, such as transactions, delegations, missing block endorsements, double baking, etc. Website: https://tzsnt.fr/about Telegram: https://t.me/TezosNotifierBot
If you have not already found your baker(s) please read to learn about the market place. We recommend storing in cold storage, hardware wallet, such as Ledger, Trezor, or AirGapped where you control your funds. We do not recommend staking on an exchange because you are giving up custody of your keys to a third-party. If you want to stake with an exchange see Staking Tezos on Exchanges below.
Galleon:
Kukai:
Airgap:
Trustwallet:
Exodus:
Do Not Delegate to the Exchange's tz1 wallet address as you will receive no rewards. All exchanges require users to deposit their XTZ into their exchange account.
Information and support contacts for staking per exchange:
Investment firm focused on digitizing tangible assets, announced its plan to tokenize its pipeline of real estate assets in excess of USD 1B on the Tezos blockchain
Website:
Fundament is building end-to-end infrastructure for digital securities including distribution channels to end-users. Tezos is the default blockchain offered for Fundament’s products
Website:
Globacap is a London-based primary issuance and administration platform for digital securities, regulated by the UK’s FCA (Financial Conduct Authority). Tezos will be offered as the preferred underlying blockchain for all issuances
Website:
Securitize is a platform to deliver trusted global solutions for creating compliant digital securities, including funds, equity, fixed income and real estate, and has integrated Tezos to its offering
Website:
Taurus Group is a Swiss financial services company building a next-generation platform to trade, invest and protect digital assets. Taurus will promote Tezos as its blockchain technology partner and will integrate Tezos as blockchain for digital securities issuances on its platform
Website:
Tezos-based insurance platform
Website: GitHub:
Leading security token issuance and management platform, announced that it officially supports issuance of security tokens on the Tezos blockchain.
Website:
Getting Started Tutorials
- Cryptonomic’s tech stack makes it easy to develop and deploy Tezos applications.
- These tutorials by Claude Barde walk-through how to use the Michelson programming language and write smart contracts on Tezos.
- Online workshops from the development teams of tools such as Truffle, Magic, SmartPy, LIGO, and more.
Tezos is an open-source platform for assets and applications that can evolve by upgrading itself. Stakeholders govern upgrades to the core protocol, including upgrades to the amendment process itself.
Self-amendment allows Tezos to upgrade itself without having to split (“fork”) the network into two different blockchains. This is important as the suggestion or expectation of a fork can divide the community, alter stakeholder incentives, and disrupt the network effects that are formed over time. Because of self-amendment, coordination and execution costs for protocol upgrades are reduced and future innovations can be seamlessly implemented.
In Tezos, all stakeholders can participate in governing the protocol. The election cycle provides a formal and systematic procedure for stakeholders to reach agreement on proposed protocol amendments. By combining this on-chain mechanism with self-amendment, Tezos can change this initial election process to adopt better governance mechanisms when they are discovered.
Proposed amendments that are accepted by stakeholders can include payment to individuals or groups that improve the protocol. This funding mechanism encourages robust participation and decentralizes the maintenance of the network. Fostering an active, open, and diverse developer ecosystem that is incentivized to contribute to the protocol will facilitate Tezos development and adoption.
Tezos offers a platform to create smart contracts and build decentralized applications that cannot be censored or shut-down by third parties. Furthermore, Tezos facilitates formal verification, a technique used to improve security by mathematically proving properties about programs such as smart contracts. This technique, if used properly, can help avoid costly bugs and the contentious debates that follow.
Participants (“nodes”) in decentralized, peer-to-peer networks provide the necessary computational resources that keep a network up and running. Proof-of-Stake (PoS) is the mechanism by which the various participants in Tezos reach consensus on the state of the blockchain. Unlike other PoS protocols, any stakeholder can participate in the consensus process in Tezos and be rewarded by the protocol itself for contributing to the security and stability of the network. Additionally, PoS is less costly than other consensus mechanisms and lowers the barriers to entry for involvement.
In PoS, a security deposit is required to participate in the consensus process and avoid being diluted by inflation. As in proof-of-work, the consensus protocol relies on an honest majority for its security which is incentivized directly by the Tezos protocol by penalizing dishonest behavior and rewarding honest behavior. If a participant behaves dishonestly, they can lose their deposit. Users who do not wish to participate directly in the consensus protocol have the option to delegate their rights to other users to participate on their behalf.
Anchorage team expands the scope of its open-source library to support creating and invoking Tezos smart contracts in the Go programming language.
Website: https://github.com/anchorageoss/tezosprotocol
Builds software to help improve Tezos smart contracts development: BetterCallDev - a tool to help developers manage all of their Tezos projects.
Website: https://baking-bad.org/
Providing tools and technical support for block validators who maintain the Tezos blockchain.
Website: https://obsidian.systems/
By Guillem Rieu, a Paris-based OCaml and Tezos developer. PeerPatron is a Tezos-based crowdfunding and patronage platform that uses smart contracts to provide a decentralized alternative to platforms like Patreon. In addition to its work on PeerPatron, the team will release open-source tools such as dapp and smart contract templates, ReasonML libraries, tutorials, and full documentation.
Website: https://www.peerpatron.com/
Integration of Truffle tools with Tezos protocols and languages. Help make developing Tezos applications easier by lowering barriers to entry.
Website: https://www.trufflesuite.com/
Tplus is a tool that helps you manage tezos environments (sandboxes and public nodes ) for use for development on top of Tezos, it comes with a easy to use Web-Interface.
Website: https://tplus.dev/tplus
Website: https://play.google.com/store/apps/details?id=it.airgap.wallet&hl=ln
An open source Tezos desktop wallet .
Website: https://github.com/Cryptonomic/Deployments/wiki/Galleon:-Releases
Website: https://kukai.app/ Documentation: https://docs.kukai.app/
Website: https://www.ledger.com/ledger-live/
Website: https://simplestaking.com/
Website: https://www.ejara.io/
Website: https://www.ledger.com/
Website: https://trezor.io/
Babylonnet was a test network which ran the Babylon protocol. It was spawned after the injection of the proposal for Babylon. It ended its life on March 31st, 2020 as Carthage replaced Babylon on Mainnet on March 5th, 2020.
Website: https://tezos.gitlab.io/introduction/test_networks.html#babylonnet
Various Tezos wallets that you may use to interact with your accounts on the Tezos blockchain.
Notice Tezbox is no longer actively supported. Learn how to migrate to a supported wallet using the guide below.
A cryptocurrency wallet is a device, physical medium, program or a service which stores the and can be used to track ownership, receive or spend .
It should be noted that the cryptocurrency itself is not in the wallet. In the case of Tezos and cryptocurrencies derived from it, the cryptocurrency is stored across a distributed network and maintained in a publicly available called the . The wallet is merely an interface to interact with the chain, and you can move freely between them provided they operate by similar standards. You are not usually restricted to the wallet with which you created your account.
Below is a list of wallets supporting Tez (XTZ) by platform in alphabetical order.
The National Gendarmerie (fight against cybercrime) has just implemented the world's first "smart contract" coded by a government authority.
News: Website:
Research and Development company working on Blockchain solutions for the Future of Transportation, aiming to transform Urban Mobility and Improve Traffic with Micro Payments for Connected and Autonomous Vehicles.
Website:
Misualizer is a tool that allows users to visualize all possible behaviors of Tezos smart contracts and trace all of their internal transactions to get complete pictures of different entry points.
Website:
Development of Dexter, a decentralized exchange protocol on Tezos (DEX).
Website:
Checker is a research project focused on building software that implements financial logic designed to attach the value of a cryptocurrency to an external index, that is, a "robocoin".
Website:
Connect your contracts post-signature to APIs and enterprise systems.
Website:
Designated Contract Market (DCM) allows for the “official” exchange of futures and options on the basis price (Previous Article) Approval as a DCM contains within it the standardized legal framework and structure of the tradable basis price contract. This contract will be traded utilizing the Tezos protocol.
Website:
Establishes a marketplace for dialogue and synergies between experts from the fields of mobility, research and Information and Communication Technology (ICT).
Website:
By Rafael Lima: Rafael is a Tezos developer based in Brazil. Throughout this project, Rafael will build an application on Tezos geared towards users in the e-sports community that will allow them to take part in crowdfunding and crowdsourcing initiatives by creating campaigns to support goals, events, and championships.
Help guide new members into the Tezos community and serve as an active repository of various Tezos resources.
Website:
Secondary markets by geographic region.
Crypto exchanges are secondary markets that allow you to exchange either fiat, digital assets, or both. These are third-party for-profit companies that may or may not be able to service users of a specific region.
Bitpanda.com
Learn more about atomic swaps on
Dexter by CamlCase (Coming Soon)
Python | PyTezos - Python SDK
GoLang | Go Tezos - Go library, USA - Go Tezos is a GoLang driven library for your Tezos node
Javascript, Typescript | ConseilJS - library for building apps in TypeSript and JavaScript
Javascript | Sotez - JavaScript library - JavaScript library for simply and intuitively interacting with the Tezos blockchain.
Typescript | Taquito - TypeScript library suite
Kotlin, Java | KotlinTezos - Android/Kotlin toolbox
Java | TezosJ - Android Java SDK
Java | TezosJ Plain Java - Java software development kit
.NET | Netezos - .Net Standard 2.0 library
Haskell | Morley - Developer tools for Michelson
Products actively under development are TezosJ, a Java SDK for Tezos, and TAPS, an automatic payment system for Tezos bakers
Website: https://tezos.rio/
Cryptonomic is an NYC-based company committed to decentralization and digital sovereignty, providing ConseilJS, a multi-chain client-side library written in TypeScript, currently focused on Tezos, and available through NPM.
Website: https://cryptonomic.tech/
Developments are done in OCaml or Rust, and then integrated with other software in any language (C, C++, Python, Java, etc.).
Website: https://www.ocamlpro.com/
Building integrations to the following Tezos SDK projects as a start. JavaScript — Integration with EzTz from the TezTech team.
Website: https://pokt.network/
Taquito: https://tezostaquito.io/ , https://github.com/ecadlabs/taquito
Taquito is a TypeScript library suite for development on the Tezos blockchain. Taquito is written in an idiomatic TypeScript style, and includes a set of ready-made React components. Perfect for any JavaScript project on the front- or back-end with minimal dependencies, Taquito has no reliance on any stack by default, except the Tezos Node. Taquito comes complete with a well-documented API using TypeDoc, continuous integration tests against the Tezos Node; versioned releases published to npmjs.org. It is one of Tezos developers favorite library suite to use in the ecosystem as it is used by TQTezos, Ligo, TruffleSuite, and Nomadic Labs.
NeTezos: https://github.com/baking-bad/netezos
Simply stated, NeTezos is a .Net Standard 2.0 library for working with Tezos. It was created and maintained by Baking Bad. It is full of helpful information for those working with the .Net Standard.
AirGapIt: https://github.com/airgap-it/airgap-coin-lib
The AirGapIt library is well maintained by the creators of the AirGap wallet on Tezos. It’s a library that offers a unified API to prepare, sign and broadcast for Tezos among other cryptocurrencies. It is a protocol-agnostic library that allows easy handling of the most important tasks relating cryptocurrencies and blockchains. The library consists of a shared interface for all implements protocols. This is especially useful in the context of AirGap.
<script src="https://asciinema.org/a/14.js" id="asciicast-14" async></script>
$ teztool create <name> --network mainnet --rpc-port 8732 --history-mode archive
# you can also pass arguments and flags to the tezos-node run command, like:
$ teztool create <name> --network mainnet --rpc-port 8732 --history-mode archive --extra-flags "--singleproccess"
# or just run this and teztool will ask for all input:
$ teztool create
$ teztool <name> start
sudo chown -R $USER:staff ~
$ teztool <name> snapshot import <file>
$ teztool <name> start
# Building a Node w/teztool
git clone https://gitlab.com/nomadic-labs/teztool.git
cd ./teztool
go build -o teztool *.go
mv teztool /usr/local/bin/teztool
# Past to .bash_profile
echo >> export > .bash_profile
#alias teztool='docker run -it --rm -v $PWD:/mnt/pwd --network host -e DIND_PWD=$PWD -v /var/run/docker.sock:/var/run/docker.sock registry.gitlab.com/nomadic-labs/teztool:latest'
#alias teztool-update='docker pull registry.gitlab.com/nomadic-labs/teztool:latest'
asciinema rec --title="Build a Tezos Rolling Storage Node in < 2 min" --yes
# Ain't no code for that yet, sorry
echo 'You got to trust me on this, I saved the world'
Tezos is a self-amending blockchain software which uses an on-chain process to propose, select, test, and activate protocol upgrades without the need to hard fork. In practice, this enables Tezos to improve itself over time via a structured, yet decentralized process while preserving a high level of consensus.
Tezos also allows stakeholders to upgrade the amendment process itself. As a result, details of the mechanism described below represent the current mechanism and are subject to change. This page will evolve as the network evolves.
Baking is how blocks are produced and validated on a Tezos blockchain using Liquid Proof-of-Stake. Bakers (also known as "delegates") obtain the right to create (i.e. bake) a block when a roll of tokens (1 roll = 8,000 ꜩ) they own (or that is delegated to them) is randomly selected to produce or validate a block.
As the maintainers of a Tezos network, bakers are also the voters in a Tezos formal upgrade process, with their votes proportional to the size of their stake (including delegations).
To speed up computations for deciding which delegates are selected to bake, the Tezos ledger tracks tokens for staking and governance purposes as "rolls". Rolls are aggregated at the delegate level, which means a baker’s baking power is proportional to the amount of tokens delegated to them, rounded down to the nearest roll. A roll is currently set to 8,000 ꜩ.
If someone does not have 8,000 ꜩ or does not want to set up computing infrastructure to bake blocks, they may delegate their tokens to a baker. The baker does not own or control the delegated tokens in any way. In particular, it cannot spend them. However, if and when one of these tokens is randomly selected to bake a block, that right will belong to the baker. In practice, bakers usually share the additional revenue generated from the delegated tokens with the coin holder.
The amendment process can be broken into four discrete periods: the Proposal Period, the Exploration Period, the Testing Period, and the Promotion Period. Each of these four periods lasts eight baking cycles (i.e. 32,768 blocks or roughly 22 days, 18 hours), comprising almost exactly three months from proposal to activation.
As summarized in the flowchart diagram below, any failure to proceed to the subsequent period reverts the network back to a Proposal Period. In other words, failure to proceed restarts the entire amendment process.
The Tezos amendment process begins with the Proposal Period, during which bakers can submit proposals on-chain using the proposals operation, which involves specifying one or multiple protocol hashes, each one representing a tarball of concatenated .ml/.mli source files.
Bakers may submit up to 20 proposals in each Proposal Period. When submitting a proposal, the baker is also submitting a vote for that proposal, equivalent to the number of rolls in its staking balance at the start of the period.
For those wanting to follow along, Tezos Agora and other Tezos block explorers such as TzStats allow you to watch incoming proposals.
Other bakers can then vote on proposals by submitting proposals operations of their own. As described in the whitepaper, the Proposal Period vote is done via approval voting, meaning each baker may vote once on up to 20 proposals. Think of it as a form of “upvoting.”
At the end of the Proposal Period, the network counts the proposal votes. For any proposal to be considered valid, it must have enough upvotes to meet a 5% quorum. If the most upvoted proposal has at least 5% of the number of possible votes supporting it, the proposal proceeds to the Exploration Period. If the 5% quorum is not met, no proposals have been submitted, or there is a tie between proposals, the amendment process resets to a new Proposal Period.
In the Exploration Period, bakers may vote on the top-ranked proposal from the previous Proposal Period using the ballot operation. Bakers get to vote either "Yay", "Nay", or "Pass" on a specific proposal. "Pass" just means to abstain from voting for or against a proposal. As in the Proposal Period, a baker's vote is based on the number of rolls in its staking balance at the start of the period.
At the end of the Exploration Period, the network counts the votes. If voting participation meets the quorum, and an 80% supermajority of non-abstaining bakers approves, the proposal proceeds to the Testing Period.
If the voting participation fails to achieve the quorum or the 80% supermajority is not met, the amendment process restarts to the beginning of the Proposal Period.
Regardless of the outcome of the vote, the quorum is updated based on past participation rates.
If the proposal is approved in the Exploration Period, the Testing Period begins with a testnet fork that runs in parallel to the main network for 48 hours.
This Testing Period is used to determine whether a proposal is a worthy amendment to the protocol. The testnet fork ensures the upgrade does not corrupt the blockchain network; should the upgrade be adopted, the network would continue making valid state transitions.
At the end of the Testing Period, the Promotion Period begins. In this period, the network decides whether to adopt the amendment based on off-chain discussions and its behavior during the Testing Period. As in the Exploration Period, bakers submit their votes using the ballot operation, with their votes weighted proportionally to the number of rolls in their staking balance.
At the end of the Promotion Period, the network counts the number of votes. If the participation rate reaches the quorum and an 80% supermajority of non-abstaining bakers votes “Yay,” then the proposal is activated as the new mainnet.
Regardless of the outcome of the vote, the process reverts back to the Proposal Period and the quorum is updated based on past participation rates.
A proposal submitted during a Proposal Period needs to reach a quorum (minimum participation rate) in order to advance to the Exploration Period.
Quorum requirement: The number of votes for the most upvoted proposal divided by the number of possible votes must be greater than or equal to 5%.
A vote during a voting period (Exploration & Promotion) needs to reach both a supermajority and a quorum (minimum participation rate) in order to succeed.
Supermajority requirement: The number of "Yay" votes divided by the number of "Yay" and "Nay" votes must be greater than or equal to 80%.
Quorum requirement: The number of "Yay", "Nay", and "Pass" votes divided by the number of possible votes must be greater than or equal to the current quorum.
Unlike the supermajority requirement which is fixed at 80%, the quorum requirement is updated at the end of each voting period using the following formula, where Q is the quorum in the voting period and q is the participation rate in the voting period:
In other words, the quorum tries to match the exponential moving average of the past participation rate.
$ tezos-client submit proposals for <delegate> <proposal1> <proposal2> ...
$ tezos-client submit ballot for <delegate> <proposal> <yay|nay|pass>
$ tezos-client show voting period
The Voting Process from Nomadic Labs
Amending Tezos from Jacob Arluck
After running successfully through all the steps of this training session, you will be able to run a Tezos node (test network/sandboxed), use the Michelson emacs mode, and compile pieces of code in both LIGO and SmartPy.
A general presentation of the Tezos blockchain, including its history, its components, and an overview of the current economic protocol.
A more in-depth presentation of the so-called "economic protocol", the part of Tezos that can be changed through an amendment procedure. This will include:
Proof of Stake (PoS) versus Proof of Work (PoW)
Liquid PoS and delegation
Emmy+: Tezos consensus algorithm
On-chain governance: the amendment procedure
Anatomy of an operation and different types of operations
Anatomy of a block and how operations and blocks are encoded
Smart contracts overview and gas computation
Using docker to easily deploy a node from scratch
Running a backer on zeronet/babylonnet
Secure your keys with the tezos-signer
Using tezos-signer
and a ledger
Creating a secure production ready infrastructure
front-ends nodes
private mode
hsm ?
Introduction to Michelson
Explain how to read a Michelson contract
Simulate a Michelson contract with
A simple example on formally verifying Michelson contracts
Introduction to Pascal LIGO language (theory)
Explain how to read a LIGO contract
Provide a simple annotated LIGO contract for people to deploy
Change the LIGO contract to add a few feature
Deploy the LIGO contract using the tezos-client
What is a block explorer, how it is made and potential pitfalls
What is an indexer
How to read your data using a block explorer
Explore existing block explorers
What to look for and how to use them
How do we monitor the Tezos network?
Different types of monitors
Backer-oriented
Development-oriented
Which RPCs to call
How to create a basic monitor with and
Introduction to Taquito: basic module structure
Setup a simple reason project with Taquito
Interact with a previously deployed LIGO smart contract
Reason Taquito bindings
Setup the inMemory signer
Setup the signer (with a ledger??)
Get the balance of a smart contract
Execute a transaction
Build on the Taquito presentation
Add React to the mix: setup a Reason/React project using Taquito
Going thought the structure of a React component
Add bells and whistles
CSS and final touches
Deploy the application with Docker on babylonnet or zeronet
With the , Kiln now supports running the Kiln Node in full mode! This history mode is more lightweight than the archive mode previously supported. Existing Kiln users who want to upgrade their Kiln Node will need to take a few easy steps outlined in this guide to upgrade.
Depending on the speed of your machine and the recency of your snapshot, this upgrade process will take some time. It would be best to time it when you don’t have many baking or endorsing rights! 1 to 2 hours should do.
Before you begin upgrading the node you should download the snapshot you’ll be starting your node from. Doing this first helps minimize your node’s downtime and thus the chances of missing a bake or endorsement.
You should get your snapshot form a source you trust. Some reputable community members make these available, such as , , and . You can also have someone else you know who has a node export one for you. Either way, it is important that you 1) trust the location you get your snapshot from and 2) verify the snapshot with a 3rd party. We’ll touch on number 2 later on.
Now that you have your snapshot, you can delete the existing archive Kiln Node. As of this writing (July 2019) an archive node uses 188GB, so this will clear out a lot of disk space! You will not be able to recover this data once it is deleted, but don’t worry — your Kiln Node will be in sync with the network again soon.
To delete the node, click the menu icon in the top right corner of the Kiln Node’s tile. Select ‘Remove Node’ from the dropdown menu. In the modal that appears, click ‘Stop and Remove Node’.
Now that you’ve removed the Kiln Node, you can re-add it using the snapshot you downloaded earlier. Click ‘Add Nodes’ in the left column to begin. In the modal that appears, click ‘Start Node’ on the far left to add a Kiln Node. That will open a modal with the options to initialize chain data from a snapshot or via peer-to-peer download from genesis. Click ‘Select Snapshot File’, select the snapshot from your machine and click ‘Add Node’ to start the import process! This step will take some time, depending on you machine’s specifications.
Once the snapshot has finished uploading, you are in the closing stretch! All that’s left is to verify the snapshot. Click ‘Start Verification’ to begin.
This will open a modal with details about the snapshot for you to verify. Be sure to read the instructions on this modal! You want to make sure this snapshot’s block hash — the hash of the highest block of the snapshot — is part of the chain’s history and is at the block level that you expect. This brief but important step helps protect the integrity of the Tezos blockchain.
Once you’ve verified the snapshot and hit ‘Start Node’, you’re done! Kiln will automatically generate an identity for your node and begin syncing.
The longer your node is running, the more disk space it will use. Over time, if you would like to reduce the amount of disk space your Kiln Node uses, you can repeat this process to free up space again.
Let us know if you have questions or run into any issues! You can reach us at [email protected], tweet us @obsidian_llc, join our slack group (just ask for an invite), or post your question on ! We’d be happy to help.
Overview of different videos, articles, blogs, infographics, and websites to learn about Tezos.
(31.03.2017)
(02.09.2019) - By Arthur Breitman
(19.08.2018) - By Arthur Breitman
(21.03.2017) **- By Arthur Breitman
(10.07.2020)
(08.07.2020)
(16.06.2020)
(04.05.2020)
(06.03.2020)
(27.05.2020)
(08.01.2020)
Tezos is a cryptocurrency and blockchain designed for safety, open participation, and upgradeability. Learn how it works and you’ll earn up to $6 in XTZ.
Learn more on
**[Listen on Apple Podcast]() ******
TezTalks started as a live event in 2019 designed to highlight the vision of the builders, innovators, and entrepreneurs that are building tomorrow's Tezos ecosystem. TezTalks Radio Podcast and TezTalks Live were launched in 2020 to open this experience to our digital native global community.
Pascal, OCaml, ReasonML |
Python |
Haskell |
Language of Tezos Smart Contracts |
Domain-Specific |
| Scaml
| Albert
| Juvix
Cryptonomic is an NYC-based company committed to decentralization and digital sovereignty, providing tools and smart contracts which enable higher level decentralized and consortium applications.
Website:
Team being the LIGO programming language, a friendly smart contracts language for Tezos.
Website:
Research and develop improvements to the popular Lwt OCaml library, which is used in the Tezos codebase.
Website:
Implement a non-fungible token (NFT) as well as support the development of the Tezos Satoshi’s Treasure Hunt. IPFS, ReasonML, Smart Contracts, Opensource, DAPPs, Tutorials and more.
Website:
The Blockmatics team will release a course to train developers to write Tezos smart contracts in SmartPy.
Website:
Cryptoverse Wars is a fun interactive code school developed by BUIDL Labs that teaches developers how to write smart contracts in SmartPy.
Website:
Developed by Smart Chain Arena, is an intuitive and effective language that gives developers the tools needed to write smart contracts using Python syntax that compiles down to Michelson.
Website:
Builds software to help improve Tezos smart contracts development: Michelson – a Jupyter (interactive notebook) kernel based on a custom Michelson interpreter with runtime type checking, syntax coloring, and basic autocomplete functionality.
Website:
Formal semantics and reference implementation of Michelson in the K Framework. Building off of its , Runtime Verification will create a formal verification framework for Michelson by extending its existing unit testing framework to handle the case of symbolic unit tests.
Website:
IntelliJ support for the Tezos platform. It provides smart support for the Michelson language: parsing, code highlighting, formatting, code completion, live templates, and more.
Website:
Implement a secure, trustworthy and open-source Tezos node in the Rust programming language, a popular language with a focus on safety.
Website:
Researches and develops a number of technologies to help advance the Tezos project.
Website: &
Universities and Research Centers working on Tezos
Tezos Labs by Baking Bad: an interactive Tezos developer training program to help onboard more developers to the Tezos ecosystem.
Website: https://baking-bad.org/
Leading provider of blockchain specific education and training. So far, B9lab has trained about 250 new Tezos developers).
Website: https://b9lab.com/
Interactive code school that will onboard new Tezos developers by teaching them to write SmartPy smart contracts.
Website: https://github.com/buidl-labs/crypto-code-school-inside-tezos
By Jacques Garrigue, a professor at the Graduate School of Mathematics of Nagoya University. Throughout this project, Jacques and his team will make OCaml type inference more robust, modular, and verifiable by modularizing the OCaml type checker using constraint-based type inference and certifying it using the Coq proof assistant.
Website: https://www.math.nagoya-u.ac.jp/~garrigue/
Two-year research and development project on possible sharding implementations for Tezos.
Website: https://arxiv.org/abs/1909.08458
Develops educational tools, content, and activities to help a growing number of students learn about programming, and the technologies underpinning Tezos.
Website: http://www.france-ioi.org/
Contract Orchestration for Ocaml, a project to ensure a smooth interaction between OCaml and Michelson.
Website: https://www.uni-freiburg.de/
Website: https://www.iitm.ac.in/
Exploring: 1) potential attacks against on-chain governance in Tezos, including attack development and discovery 2) detection of attacks while they’re happening 3) recovery mechanisms of attacks at the protocol level 4) potential dangers and counter-measures of off-chain governance
Website: https://www.imperial.ac.uk/
Inria establishes dedicated labs and commit research teams to work on cryptography, formal verifi cation, distributed systems, with Tezos and blockchain technology in general.
Website: https://www.inria.fr/en
Conducts research on the current, simple Michelson type-checking to develop static verification techniques for Michelson and higher-level Tezos smart contract languages.
Website: https://www.kyoto-u.ac.jp/en/
The “Learn-OCaml” project aims to increase the usage of OCaml in education and promotes its mainstream adoption.
Website: https://ocaml-sf.org/
OCTO team will build and launch Tezos Academy, a freely available online platform that will teach LIGO smart contract development in a fun and user-friendly manner.
Website: https://www.octo.com/en/
Tezos Kitchen, by Stove Labs, will produce a comprehensive and up-to-date curriculum of content where developers can learn how Tezos can be utilized for a variety of use-cases.
Website: https://stove-labs.com/
Tezos Academy is a fun interactive tutorial developed by OCTO Technology on how to code smart contracts in LIGO.
Website: https://tezosacademy.io/
The first project involved research on the implementation of Tezos for event logging of robots in factory environments. The second project explored tools for the static analysis of smart contracts in Michelson.
Website: https://www.ubi.pt/en/
Collection of worldclass academic, non-profit, and corporate collaborators building open-source hardware for the blockchain ecosystem.
Website: https://www.vdfalliance.org/
Agile Ventures is an in-house software development team and consultancy group that has worked on a number of projects since 2016, most recently , a collection of Tezos API endpoints. Following its research phase of (see its ), the Agile Ventures team will implement a functional prototype of a Tezos Domains dApp and smart contracts on a Tezos testnet with a sample wallet integration and a GraphQL endpoint allowing clients to query the data within Tezos Domains with ease.
Website:
The Anyblock Analytics team will add Tezos blockchain data to its public index to be queried by anybody free of charge using Elasticsearch DSL and SQL, making data on the Tezos blockchain more accessible to both developers and end-users.
Website:
Anchorage team expands the scope of its open-source library to support creating and invoking Tezos smart contracts in the Go programming language.
Website:
Archetype provides a predefined set of security properties and enables one to specify contract properties with logic formulas.
Website:
CLI-based application that is capable of downloading, configuring and running a Tezos node. The application will be plugin based so that it can be easily extended for a wide variety of use cases.
Website:
Blockcurators GmbH operates , an on-chain tipbot that can be used across a variety of platforms such as Twitter, Discord, Slack, and Telegram. This project will integrate Tezos to CoinKit to enable tipping via tez, facilitating the use of tez as money.
Website:
Implement Plasma, a layer-2 scaling technique to increase transaction throughput on blockchains.
Website:
Software engineering company dedicated to research and development of the Tezos core protocol and smart contracts.
Website:
Software & services consultancy that delivers and manages projects in the areas of software development, systems engineering, open-source development.
Website:
Nzinghaa Lab, the team behind Ejara, will develop and integrate smart contracts to its product to enable secure wallet backup and key recovery, Bitcoin-Tezos atomic swaps, and a cross-chain key registration and recovery system on Tezos.
Website:
Universities for E-Voting. Organize an electoral vote across 10-20 different universities in 2020 using a common Tezos-based application that is in development.
Website:
Produced a protocol-level trigger and events platform (IFTTT - “If This Then That”) for the Tezos blockchain, supporting automated API methods and trigger-based functions for applications.
Website:
Open-source a high-level analytics, alerting, and governance tool for the Tezos ecosystem, Tezos bakers and delegates. Data Hub. This project integrates Tezos into to provide developers easier access to Tezos blockchain data without having to run their own nodes.
Website:
Hakjoo Oh is an Associate Professor at the Computer Science department of Korea University. Hakjoo and his team will build a fully automated tool for verifying and testing the correctness of Tezos smart contracts.
Website:
Madfish Solutions builds several products for the Tezos community such as , a Tezos wallet and browser extension, and , a decentralized exchange protocol for Tezos-based digital assets. The team also develops , a transpiler to migrate Solidity smart contracts to , and will continue to improve it to make it more useful for developers migrating to Tezos.
Website:
MIDL.dev is a staking services company that is building an open-source suite of that will make it easier for community members to implement complete baking infrastructure in a replicable and secure manner.
Website:
NEOFACTO team will build an and ensure that it is prepared to be actively maintained in the future.
Website:
Payzos is a set of plugins for different e-commerce platforms that lets users set up a Tezos-as-a-payment-method for their online stores. Payzos seeks to make it easier to transact in tez, facilitating the use of tez as money and helping to drive Tezos adoption among retailers and online merchants.
Website:
Blockchain and smart contracts development team that created an initial version of a liquidity pool smart contract accompanied by a basic client to demonstrate the contract’s functionality and tutorials explaining the implementation.
Website:
Build open-source software to fight document fraud (e.g. faked invoices) by storing a document’s proof of authenticity on the Tezos blockchain.
Website:
Tezos Reward Distributor is one of the most widely used baking rewards payout tools for Tezos bakers. It helps bakers to reduce the stress of being a baker by simplifying and automating the task of distributing baking rewards to their delegators.
Website:
TezQuery
By Pierre Genevès, a French developer with expertise in recursive queries and prior experience at IBM Watson Research Center, EPFL, CNRS. Throughout this project, Pierre and his team will build a query engine that evaluates not only SQL queries but also powerful (recursive) queries on the graph structure of the Tezos blockchain.
Website:
Website:
Tool built by Catsigma that allows users to interact with applications built on the Tezos blockchain.
Website:
Service that rates public bakers and monitors the node performance of non-public bakers.
Website:
Swift SDK (software development kit) that powers Tezos on iOS and macOS.
Website:
Kiln, by , is a tool for both baking and monitoring on the Tezos network. It provides a locally hosted graphical interface, binaries for tezos-client, tezos-node, tezos-baker, and tezos-endorser, and it builds a cache of chain data from the nodes to which it connects.
For step-by-step instructions on how to get started, see our medium post . We also post release notes to the .
System requirements are dependent on whether you plan on running a Tezos node in Kiln, which is necessary for baking.
Note: If you are running a node using our Docker Image, note that Docker's default memory allocation is 2GB. Increasing this to 8GB is highly recommended.
Disk: The monitor uses PostgreSQL for all storage. The entire database typically uses about 1-2GB.
Memory: Idle memory usage is typically under 1GB. When initializing history (usually right after start-up or adding your first node) memory can spike to about 3GB for a short time.
CPU: Running with at least 2 cores is recommended.
Kiln bakes with a local node, which increases system requirements.
Disk: A node running in Kiln will sync with the Tezos blockchain, which is currently ~70GB. SSD is highly recommended over HHD.
Memory: Recommendated RAM for running a Tezos Node is 8GB. We recommend at least 10GB RAM to account for the node, baker, endorser, and Kiln’s processes.
CPU: Running with at least 2 cores is recommended.
Kiln can be built from source on linux distributions and Obsidian Systems provides:
pre-built Docker images hosted on .
pre-built deb files
pre-built ova files
Click the link in the left column to learn more about that Kiln distribution.
Kiln, in conjunction with , can be used to bake. Kiln runs the node, baker, and endorser locally while monitoring them to notify the user of common issues and events.
Baking requires the Kiln node to be fully synced with the Tezos blockchain. Once the node is synced, click ‘Add Baker’ in the left sidebar. Then click ‘Start Baking’ and follow the instructions provided.
Once you’ve registered as a delegate, it will take time for you to earn baking and endorsing rights. As soon as Kiln detects you have rights, your next right will be displayed.
Kiln monitors nodes, bakers, and the Tezos network to keep bakers fully informed. The dashboard displays a tile with relevant information for all the nodes and bakers it is monitoring, and it alerts the user of any issues that it may encounter.
Kiln produces a notification if an update is pushed to the Tezos network. For instance, if a user is monitoring mainnet with Kiln, they will be notified if mainnet is updated.
Kiln produces a notification if a monitored node:
Is on the wrong network
Is not on the fittest branch
Falls behind the current head block level
Cannot be reached by the Monitoring Software (e.g. is offline)
Reports fewer than a specified number of active peer connections
Kiln produces a notification if a monitored baker:
Misses a baking or endorsing opportunity
Is accused of double baking or double endorsing
Has been deactivated due to inactivity or will be within one cycle
Note: To monitor a baker, you must be monitoring a node. Public Nodes provide general information about the network, but they do not provide full block history or baking and endorsing rights, which are required for monitoring a baker.
In addition to in-app alerts, users can configure Kiln to send Telegram alerts or use their SMTP Mail Server to send alerts to the email addresses of their choice. Notification pathways can be configured on the Settings page.
For more information, see notes on configuring Telegram and Email notifications below.
Click Add Node in the left panel. Then click Start Node on the left side of the modal. Kiln will generate an identity for a local node with the RPC port 8733 and immediately begin syncing with the blockchain. If this port is already in use, Kiln will have difficulty monitoring this node (the port can be modified by command line options). The Kiln Node can be stopped or restarted through the options menu on the Node's tile on the Dashboard.
Click Add Node from the left panel and enter the address of the node you would like to monitor under Monitor via Address. Then click Add Node. For example, if you would like to add a local node with an RPC interface on the default port of 8732
, you can enter http://localhost:8732
*. You can add any node URL to which you know the RPC address. If you do not know the RPC address of the node or if the node wasn't started with --rpc-addr
, the monitor will not be able to retrieve information from the node.
* If you're running the monitor from Docker on macOS, localhost
will not point to your host's network. Instead you can use host.docker.internal
instead of localhost
, e.g. http://host.docker.internal:8732
. localhost
will also not work on Linux if you run the container without --network host
, but you can't use host.docker.internal
in this case.
Once you’ve added at least one node or a Public Node, the Dashboard header will show the network status.
Note: This assumes that you are running at least one Tezos node. Options for running a node include:
Building from Source - The best place to start is . There are also several community guides, some of which you can find .
Using Docker - The docker image for Tezos can be found on . They also provide a for retrieving the images. We do not yet have instructions on connecting the Tezos node and baking monitor Docker containers, but you can either set this up yourself or connect our Docker container to a node you built from source.
Using Obsidian’s Tezos Baking Platform - See the Tezos Baking Platform's for instructions.
Click Add Node from the left panel and click one of the tiles under Connect to a Public Node. Clicking again will disable the Public Node.
Click Add Baker from the left panel and input the public key hash (PKH) of the baker you would like to monitor. Kiln will then use Monitored Nodes to gather information about that baker from the blockchain. This initial query can take up to a few hours.
Note: To monitor a baker, you must be monitoring a node - public nodes are not sufficient. Public Nodes provide information about the current head block, but they do not provide full block history of baking and endorsing rights.
Click Settings from the left panel then click Connect Telegram and follow the instructions in the popup. Telegram notifications can be sent to a group or directly to a single user.
Click Settings from the left panel and provide the SMTP configuration for your SMTP server in the form under Email. Add an email address to receive alerts and click Save Settings.
There are instances where Kiln’s front end will stop updating, but the backend will continue functioning properly. For instance, resolving a notification will not cause the notification to disappear until the page is refreshed. Stopping and restarting Kiln fixes this issue.
We encourage users to join our Baker Slack (by emailing us for an invite at ) to provide feedback and let us know what improvements you’d like to see next!
( (*synced from gitlab))
- Official Website
TezTalks started as a live event in 2019 designed to highlight the vision of the builders, innovators, and entrepreneurs that are building tomorrow's Tezos ecosystem. TezTalks Radio Podcast and TezTalks Live were launched in 2020 to open this experience to our digital native global community.
The Norn Community Russia, created the Tezos Notifier bot for Tezos users using Telegram. This is one of the favorite bots used to keep track of addresses and transactions associated with that wallet address.
Website:
Website:
The Tezos India Foundation are the creators behind Tezsure and are working on an oracle solution called Oro. Tezos India aims "to have the best reach in the country with 1.3 billion people, the Tezos India Foundation hosts events in seven different cities: Delhi, Mumbai, Bangalore, Hyderabad, Pune, Chennai and Ahmedabad.”
Website:
Tezos Israel is an innovation lab that serves the Israeli ecosystem in educating, training, and onboarding blockchain technology.
Website:
Tezos Japan support all Tezos activities in Japan with support, and help with promotion of Tezos project and grant of subsidies through various organizations, universities, research institutes.
Website:
Tezos Korea is a Korean Tezos community that helps Korea users navigate the Tezos ecosystem. They run a community organizer forum that provide updates for the community including some troubleshooting in the Korean language.
Website:
Tezos Southeast Asia is an independent non-profit association run from Singapore. TSA provides support to the Tezos protocol and ecosystem.
Website:
Tezos Ukraine is a public organization, and is headquartered in Kyiv. Tezos Ukraine is behind the Tezos Giga Node Project among other projects in the works. They are a younger organization that has been constantly improving and building on the Tezos blockchain including being one of the driving forces behind Ukraine’s central bank digital currency project.
Website:
Distribution
Supports Baking?
Operating Systems
Released?
Yes
Linux
Yes
No
Linux / Mac
Yes
Linux Distribution (.deb)
Yes
Debian / Ubuntu
Yes
VM Package (.ova)
Yes
Any
Alpha Available
Mac Distribution
Yes
Mac
Est. Q4 2019
Guides support compiling Mainnet on Debian, Ubuntu, and macOS. Windows and Windows Linux Subsystem is currently not supported.
This procedure is thoroughly tested on Debian 9.4. It is reported to work on Ubuntu 18.04 and 16.04 as well; look for special notes below though. It also works on MacOS 10.13.5 if you skip directly to the step for installing Opam.
These steps are reported to work on Raspberry Pi 3B and 3B+ running Ubuntu 18.04 as well. An external hard drive is required.
Security Warning
These directions are for a quick build of a Mainnet server. Nothing is done here to harden the security of the server. Since the tezos code is complex and communicating with potentially malicious peers, consider that anything on the server could be exposed or exploited.
2020-01-13: Make Opam installation directions more general, allowing for Opam 2.0.5
2018-08-31: Added libhidapi-dev as a system package dependency.
Login to new Debian or Ubuntu system and update its base packages. (In the following, replace "192.155.xxx.xxx" with the actual IP address of your server).
ssh [email protected]
apt-get update
apt-get dist-upgrade -y
Create a user account for building and running tezos. The tezos
is name is arbitrary; pick your favorite -- just don't build and run services as root. If you already have a user account you can use that instead. Note that the make build-deps
step requires sudo rights when it first runs, to install some system packages via apt-get.
adduser tezos
adduser tezos sudo
reboot
ssh [email protected]
If you are on Ubuntu 16, do this to be able to install bubblewrap and latest version of git. Everyone else, ignore this.
sudo add-apt-repository ppa:ansible/bubblewrap
sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
Similarly, if you are on Debian 9, do this to upgrade git to version 2.18.0. You need the debian "stretch-backports" source enabled to do this. If the following command fails, see the "Add backports to your sources.list" section at https://backports.debian.org/Instructions/ and follow the steps there; then try this again.
sudo apt-get -t stretch-backports install git
If you are on Centos 7.5 some of the system package names are different. Use this instead of the apt-get
just below:
sudo yum install epel-release
sudo yum install bzip2 screen wget rsync gcc m4 make unzip patch libev-devel libev hidapi-devel gmp-devel bubblewrap git
If you are on Arch Linux/Manjaro the above applies with pacman
:
sudo pacman -Syu
sudo pacman -S patch unzip make gcc m4 git g++ aspcud bubblewrap curl bzip2 rsync libevdev gmp pkgconf hidapi
Install the system packages needed to start building tezos binaries. The actual build scripts will install more packages.
sudo apt-get install -y patch unzip make gcc m4 git g++ aspcud bubblewrap curl bzip2 rsync libev-dev libgmp-dev pkg-config libhidapi-dev
(If you're on MacOS, you can start here.)
Install OPAM utility needed to build the OCaml code. Version 2.0.0 or later of opam is required. See https://opam.ocaml.org/doc/Install.html for alternative installation steps.
If asked, just accept the default of installing to /usr/local/bin. Installing there depends on the 'tezos' user having sudo rights as we arranged above.
sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)
Visit https://github.com/ocaml/opam/releases/. Find the newest stable 2.0.x release (2.0.5 works at the time of writing, January 2020) and download the binary executable for your architecture. Move that executable file to /usr/local/bin/opam and use chmod a+x
to make it executable.
Now that opam is installed, initialize it. (Allow it to update .profile, etc, at your own discretion).
opam init --bare
eval $(opam env)
If you are running in the Windows 10 Linux Subsystem you may need to add --disable-sandboxing
to the call to opam init
above. Otherwise you may be blocked by brwap
errors as bubblewrap does not currently work in that environment.
Note that the make build-deps
step below builds a local opam environment within the build directory, so we no longer need to set up a switch as we did before.
Get the mainnet source code.
git clone -b mainnet https://gitlab.com/tezos/tezos.git
cd tezos
Install OCaml dependencies (and some system package dependencies too). An error message about "No repository tezos found" is normal when running this step for the first time; you can ignore that error. If you see an error like "Could not update repository "tezos": Commit found, but unreachable: enable uploadpack.allowReachableSHA1InWant on server" then you need to start over and install a newer version of git. See above about upgrading git in Ubuntu 16 and Debian 9.
make build-deps
Compile the binaries. Since the build-deps step above created an _opam directory with an opam switch for tezos, update the environment again before compiling to be sure we've got the right opam configuration.
eval $(opam env)
make
Configure the node identity. In the mainnet the "difficulty" used in generating the node identity must be at least 26. That is the default now in the identity generate
command.
./tezos-node identity generate 26.
Run the node. (I also like to run the node inside a screen(1)
session (without nohup
or &
) so that the process persists in the foreground and I can detach and come back to it later in another ssh session.)\
nohup ./tezos-node run --rpc-addr 127.0.0.1:8732 &
The node will take a while to sync, bringing in the blockchain data from the peers. To see its progress you can run the following command which shows the head block known so far and will exit when the node is fully synced:
./tezos-client bootstrapped
Look for the timestamp
value in the output from that. When that value gets to within a minute or so of the current date and time then your node is synced. The expected network/chain_id value is NetXdQprcVkpaWU
.
It's possible to start up your node with a copy of the chain data that is (typically) just a few days old. See the directions at https://tezosshots.com/.
./tezos-client add address my_account
./tezos-client activate fundraiser account my_account with
The my_account
name/alias above is arbitrary, but conventional.
Note: you can also import your private key info, but that is not necessary in order to claim the donation account:
./tezos-client import fundraiser secret key my_account
Also: if your goal is only to activate your Tezos account and claim the tez from the fundraiser, it’s much easier to just use stephenandrews online utility at https://stephenandrews.github.io/activatez/ .
See the Tezos baking howto by @dakk.
In the top code directory, ~/tezos, run eval $(opam env)
. Then try again.
After doing eval $(opam env)
, do opam update && opam upgrade
. Then try again.
Sometimes it helps to remove the entire ~/.opam directory and start over again from the opam init
step. Slow, but it gives a clean start for OPAM packages. Note that if you are building alphanet or other from the same user, this also wipes out the OPAM context for that work too.
rm -rf ~/.opam
The make build-deps
step pins many packages to particular versions. If you want a clean start short of removing ~/.opam, you can remove all those pins:
opam pin list -s | xargs opam pin remove
If you get 0 connections, verify that your node identity was built with sufficient difficulty:
./tezos-node identity check
On macOS make build-deps
sometimes fails since it cannot build OCaml compiler. You may get the following error
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><> 🐫
[ocaml-base-compiler.4.08.1] found in cache
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><> 🐫
[ERROR] The compilation of ocaml-base-compiler failed at
"/Users/ameten/.opam/opam-init/hooks/sandbox.sh build ./configure
--prefix=/Users/ameten/.opam/4.08.1 CC=cc ASPP=cc -c".
∗ installed base-bigarray.base
∗ installed base-threads.base
∗ installed base-unix.base
#=== ERROR while compiling ocaml-base-compiler.4.08.1 =========================#
# context 2.0.5 | macos/x86_64 | | https://opam.ocaml.org#b679cc38
# path ~/.opam/4.08.1/.opam-switch/build/ocaml-base-compiler.4.08.1
# command ~/.opam/opam-init/hooks/sandbox.sh build ./configure --prefix=/Users/ameten/.opam/4.08.1 CC=cc ASPP=cc -c
# exit-code 65
# env-file ~/.opam/log/ocaml-base-compiler-5420-ffb3fd.env
# output-file ~/.opam/log/ocaml-base-compiler-5420-ffb3fd.out
### output ###
# /Users/ameten/.opam/opam-init/hooks/sandbox.sh: line 9: cd: /Users/ameten/.ccache: No such file or directory
# sandbox-exec: empty subpath pattern
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><> 🐫
┌─ The following actions failed
│ λ build ocaml-base-compiler 4.08.1
└─
┌─ The following changes have been performed (the rest was aborted)
│ ∗ install base-bigarray base
│ ∗ install base-threads base
│ ∗ install base-unix base
└─
# Run eval $(opam env) to update the current shell environment
Switch initialisation failed: clean up? ('n' will leave the switch partially
installed) [Y/n] Y
Sandbox executable complains that there is not place to store compiler cache. You don't have /Users/username/.ccache
on your system. Install ccache
using your favourite package manager. Command for Homebrew:
If ccache
is installed, but you don't have /Users/username/.ccache
, run the following command to create the directory:
When you have /Users/username/.ccache
you should be able to install OCaml compiler using opam
.
opam switch create 4.08.1
Once you have OCaml compiler in opam
, you should be able to run make build-deps
although it will install its own OCaml compiler.
To rebuild with the latest Mainnet code you can move or remove the "tezos" directory and start again from the git clone
step. As an alternative you can update in place as follows.
git fetch
git reset --hard origin/mainnet
git clean -dxf
eval $(opam env)
make build-deps
make
Details here:https://github.com/Blindripper/FAQ/blob/patch-1/Rebuilding_Mainnet.md
Baking info: https://gist.github.com/dakk/bdf6efe42ae920acc660b20080a506dd
Docker images: https://hub.docker.com/r/tezos/tezos/tags/
Docker script: https://gitlab.com/tezos/tezos/blob/mainnet/docs/introduction/howtoget.rst Copy to mainnet.sh and run as usual.
Korean version : https://blog.naver.com/justmustone/221310459511
Korean version : Raspberry Pi 3 https://blog.naver.com/justmustone/221310583691
Written by @fredcy with help from the tech chat room and others.
In this Guide, we will look at how to run a Tezos Node with Docker on Linux, this Guide is primarily meant for people who want to run a public node to use the RPC API, or as a baking fronted node, or similar.
Docker is a platform that allows users to run applications as “Containers” without the need to compile Source Code, you simply download a ready-made container image and start it, the same Container Image can run on many different operating systems, so there is no need to manually deal with OS-specific dependencies and libraries, this is by far the easiest way to run a tezos node.
Official docker images for tezos are premade and can be found here:
https://hub.docker.com/r/tezos/tezos
In the “Tags” section of this website, you will find all current versions of Tezos, we will have a look at this later, let’s make sure you have a running Docker setup first
Installing Docker on any modern Linux Distribution is quite easy, all we need to do is open a terminal and type this command:
$ curl https://get.docker.com | bash
After this we have to make sure your current user is allowed to execute docker commands, we can do that with:
$ usermod -aG docker $USER
For this change to take effect you will have to log out and log in again, after that you are able to create a test docker container with:
$ docker run hello-world
If this command succeeds, you have installed docker correctly, to make things easier here is a video of the entire process:
At this point we can start a tezos node with one single command:
$ docker run --rm -it tezos/tezos:mainnet tezos-node
This is just a test to see that everything works, this will tell docker to download the official tezos image from dockerhub and run the tezos-node command inside the docker container.
The command uses two special flags, the first one is –rm, this flag tells Docker to delete the container after it has exited, we usually don’t want this but for a testing container, this is ok.
The second flag is -it, which makes sure docker attaches the container to your open terminal, later when we want to run docker in the background we have to omit this.
After some time your tezos node will have found enough connections to other nodes and start syncing blocks, if it does not start immediately have patience, it should look like this:
In this section we will look at different Options and Settings we can tweak when running a Tezos Node with Docker, and also install Prometheus and Grafana, a comprehensive Monitoring System.
First, we will need to enable “Swarm Mode” of our docker installation. Swarm Mode allows docker to do many awesome things like Load-balancing across multiple machines, we will not take advantage of many of those great features in this Guide, we just use it because it makes our life a lot easier, so let’s enable docker swarm:
$ docker swarm init
This will generate Output about how to add other machines for more complicated setups, we will ignore this.
We are gonna need a location where the tezos node will store its data, so let’s create a directory for that:
$ sudo mkdir /data && sudo mkdir /data/tezos
and set permissions for that folder:
$ sudo chown $USER /data/tezos
In the above directory, we will create a config.json file that holds all configuration options for tezos, a minimal config.json looks like this:
{ "p2p": {"listen-addr": "[::]:9732" } }
Here are three common options we can set in the config:
Tezos supports 3 different history modes, these affect the amount of storage needed by your node and how much information is available in the RPC API.
These mores are:
full stores all data since the beginning of the chain but removes archived data
rolling most lightweight, only stores data since the last snapshot.
archive stores everything, requires a lot of Storage space
You can set the mode in the config like this:
{ “shell”: {“history_mode”: “full”} }
Here you can specify the inital peers your node will connect to, specify them like this:
{ “p2p”: {“bootstrap-peers”: [ip1:port1, ip2:port2,…]} }
In private mode your node will not connect to nodes other than your bootstrap peers, Bakers often do this to hide their IP and only connect to one ”Frontend Node” that is hosted somewhere else, enable it with:
{ “p2p”: {“private-mode”: true } }
You can view all possible config options with this command:
$ docker run --rm -it tezos/tezos:mainnet tezos-node config --help
We will save our docker setup in a file so we can keep track of the configuration, so create a docker-compose.yml file with the following content:
version: "3"services:
mainnet:
image: tezos/tezos:mainnet
command: ["tezos-node"]
hostname: node
ports:
- "8732:8732"
- "9732:9732/udp"
volumes:
- "/data/tezos:/var/run/tezos/node"
deploy:
resources:
limits:
cpus: '1'
memory: 4096M
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 10
In this file we define:
what image to use
what the start command is
what ports we want to have available ( RPC Port and P2P port )
where to store the tezos data
the maximum resource limits to 1 CPU and 4096 MB Ram
and how to restart the node if it fails
Now we can deploy our setup with:
$ docker stack deploy -c docker-compose.yml tezos
and can check if the node is running with either docker ps
or docker service ls
, and we can see the node logs with
$ docker service logs tezos_mainnet -f
While we wait for our Node to start syncing Blocks, lets setup our Monitoring System.
For this we will use the Grafana + Prometheus Stack from https://github.com/stefanprodan/swarmprom, so lets git clone this project…
$ git clone https://github.com/stefanprodan/swarmprom.git
$ cd swarmprom
…create a run.sh file with the following content…
ADMIN_USER=admin \
ADMIN_PASSWORD=admin \
docker stack deploy -c docker-compose.yml mon
..and start the monitoring setup:
$ chmod +x run.sh
$ ./run.sh
Wait a minute for everything to download and start, then open your browser and access your monitoring dashboard at http://localhost:3000, it should look like this:
We now have a running Tezos Node + Monitoring System, there is a lot more to get into that are beyond the scope of this Guide and depend on your Use-Case, for example, Grafana can be set up to send you Slack notifications in case your nodes throws an error, Or if you run this on a public server you should not expose your RPC port to the world like we did in this Guide, to do this change the port section in the docker-compose to:
ports:
- mode: host
target: 8732
published: 8732
For more information on all RPC calls I recommend looking at the official documentation here:https://tezos.gitlab.io/tezos/api/rpc.html
And for all other questions I recommend you join us in our matrix/riot chat on https://tzchat.org/ :)