Low occupancy
By appointment only
6ft or more between machines
Machines cleaned after every client
Multiple air purifiers
Average workout takes 10 minutes
Hand-sanitizer upon entering
No one sick permitted to workout

How to Solo Bake Tezos – A Step-by-Step Guide

Jump right to the Tezos node setup guide…

WHY IS A GYM TALKING ABOUT THE TEZOS BLOCKCHAIN?

​The quick answer is we're not your conventional gym. By combining state-of-the-art technology with an evidence-based approach to exercise, our clients get measurable results in minimal time while creating an enormous amount of data with every workout.​​

Over the last three-plus years, we've witnessed numerous transformations where clients exercise for less than 45-minutes a week, some as little as 10-minutes a week, and see better results than they ever have.

By using software and analytics to track improvements in strength, intensity, aerobic fitness, body composition, and other KPIs, we've laid the foundation to use science and technology to help combat the current and unsustainable health crisis.

health and longevity

WHERE DOES TEZOS FIT IN?

From the beginning, the goal for us was more than just being a smartgym with thousands of locations around the world.

Similar to how Audi, BMW, Daimler, and Porsche are exploring the Tezos blockchain for use with autonomous vehicle safety standards, or how the French Army's Cybercrime Division is using it to track judicial costs for operational purposes, we envision a world where your exercise, body composition, wearables, healthcare, and health insurance data can all be connected using the Tezos blockchain.

OUR PRIMARY MISSION

  • Expand Quantify Fitness around the world through a combination of company-owned locations and franchises.
  • Leverage a data-driven evidenced-based approach to exercise and nutrition that is tailored to each individual to help extend healthspan.
  • Leverage blockchain technology to bring more transparency to healthcare and health insurance in the United States by reducing fraud and waste, with the end goal to make coverage more affordable and prevent bankrupting future generations with out-of-control healthcare costs.

WHY USE TEZOS?

  1. ​Tezos is designed for safety, open participation, and upgradeability. Other blockchains lack a smooth way to coordinate decisions and upgrades, resulting in splits in the community, network forks, and slower innovation.
  2. Tezos uses formal verification to mathematically prove the correctness of code, prevent bugs, prevent cyber-attacks, and ensure it will behave as intended.
  3. Tezos uses liquid proof-of-stake to secure the network, verify transactions, and distribute rewards. Participants are rewarded based on how many tez they are baking, not based on mining power.
  4. Tezos uses an on-chain self-amending governance process to allow token holders to vote on protocol upgrades without the need to fork. It is the first blockchain to upgrade itself successfully (multiple times now) without requiring a fork.
  5. To ensure the long term stability of the blockchain and the long term trust of businesses that want to build on it, Tezos takes power away from the hands of a small group of developers and puts it in the hands of the global community.
  6. Finally, as of July 31, 2019 the Tezos Foundation had over $650M available to help grow the ecosystem, including issuing grants to ensure the long-term success of Tezos. Committed to operating with the highest degree of integrity, the Tezos Foundation also hired “Big Four” financial firm PriceWaterhouseCoopers to act as an external auditor and examine at the organization’s finances and operations. This was the first time a large-scale blockchain organization has been accepted as an audit client by a Big Four firm. The Tezos Foundation's first Biannual Update can be found here.

WHY CREATE THIS GUIDE TO BAKING TEZOS?

Tezos already has around 500 baking nodes, which is a lot more than other proof-of-stake blockchains, but increasing the number of nodes helps decentralize and secure the network. Also, by setting up a personal node and solo baking, you can avoid the fees most delegation services charge as well as make sure your vote is included when it comes to protocol upgrades.

Thanks to the help of Jovan Smith from the Tezos community, our founder Josh Jarrett was able to set up his own solo baking node. To pay it forward, Josh put together this step-by-step guide. If you need more support, you can contact Jovan and inquire about his services. The Riot Tezos Discussion Room is also a good place to ask questions.

BAKING SETUP

  • ​Mac with macOS Sierra or later
  • Xcode downloaded and installed from the Apple App Store
  • 8 GBs RAM
  • 100 GB SSD
  • Ledger Nano S
  • Reliable internet connection
  • At least 8,000 XTZ (1 roll) in your wallet linked to your Ledger Nano S

Before getting started, it's important to point out the steps below are based on what we're familiar with and comfortable with. There are other ways to build your Tezos Baking setup using other operating systems like Linux or with third-party tools like Kiln. You can research those if that's something you're interested in. Using the Ledger hardware wallet also isn't required but if you don't use one you need to be extremely careful to protect your private keys. This guide assumes you're using a Ledger device.

TEZOS NODE SETUP

1. OPEN TERMINAL

To set up your Tezos baking node, copy and paste the red commands below (individually) into Terminal on your Mac

2. INSTALL XCODE COMMAND LINE TOOLS

xcode-select --install

3. SETUP ROOT PASSWORD

sudo passwd root

4. INSTALL HOMEBREW

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

5. INSTALL PACKAGES NEEDED TO BUILD TEZOS BINARIES

brew install wget

brew install git

brew install curl

brew install hg

brew install darcs

brew install luarocks

brew install aacgain

brew install libsodium

brew install unzip

brew install make

brew install gcc

brew install m4

brew install aspcud

brew install bzip2

brew install rsync

brew install pkg-config

brew install hidapi

6. OPAM INSTALLATION

wget https://github.com/ocaml/opam/releases/download/2.0.0/opam-2.0.0-x86_64-darwin

You'll have to enter your root password after the next command:
sudo mv opam-2.0.0-x86_64-darwin /usr/local/bin/opam

sudo chmod a+x /usr/local/bin/opam

echo "f25a98ff5a45bd2ad7ce1b9496503c505ca8cd38525dcd11be04b9203e54cbff /usr/local/bin/opam"|shasum -a 256 -c

opam init --bare

Answer the following prompts with y

  • Do you want opam to modify ~/.bash_profile? [N/y/f] (default is ‘no', use ‘f' to choose a different file)
  • A hook can be added to opam's init scripts to ensure that the shell remains in sync with the opam environment when they are loaded. Set that up? [y/N]

eval $(opam env)

git clone -b mainnet https://gitlab.com/tezos/tezos.git

7. BUILD THE TEZOS NODE

cd tezos

make build-deps

eval $(opam env)

make

./tezos-node identity generate 26.

./tezos-node upgrade storage

./tezos-node run --rpc-addr 127.0.0.1:8732 --no-bootstrap-peers --bootstrap-threshold 14 --connections 14 --peer 54.92.155.47:9732 --peer 13.251.135.60:9732 --peer 3.90.202.73:9732 --peer 13.250.141.110:9732 --peer 3.90.112.42:9732 --peer 18.184.136.151:9732 --peer 54.173.146.73:9732 --peer 13.251.160.63:9732 --peer 165.227.138.39:9732 --peer 24.90.197.19:9733 --peer 88.99.105.111:9732 --peer 52.188.194.36:9732 --peer 54.213.146.252:9732 --peer 34.232.51.165:9732

Allow Node to Start running for 10-15 minutes until you start seeing blocks being validated, then stop the node by pressing:
control-c

8. LOAD A SNAPSHOT

Instead of waiting for the node to sync from scratch, load a snapshot from a trusted source like tezosshots.com

  1. Download the Full mode Snapshot File
  2. Copy the file into the /tezos folder (the /tezos folder can be found in the user account folder of your Mac)
  3. Copy the identity.json and peers.json files in your ./tezos-node folder to your Desktop (the /tezos-node folder is also found in your user account folder but is hidden by default. While in Finder, press shift-command-period to show hidden folders)
  4. Delete your ./tezos-node folder
  5. In Terminal, enter the following command but replace *Blockhash*.full with the name of the file you downloaded in step 1: ./tezos-node snapshot import *Blockhash*.full
  6. Delete the *Blockhash*.full file after successful import
  7. Copy the identity.json and peers.json from your Desktop back into the new ./tezos-node folder, then delete those backups on your Desktop
  8. Start the Node by entering the following command in Terminal: ./tezos-node run --rpc-addr 127.0.0.1:8732 &

9. SETUP LEDGER NANO S

You will need to install Ledger Live from ledger.com and install the Tezos Wallet app and Tezos Baking app to your Ledger device

  1. While your node continues to run, connect your Ledger Nano S and open the Tezos Wallet App, open a new Terminal tab, and enter: ./tezos-client list connected ledgers
  2. Obsidian Systems recommends using the keys generated with curve ed25519. Copy and run the command that is returned from the previous step that includes ed25519 (you'll need to add ./ in front of the command). You can replace the “ledger_xxxxxxxx” with your own alias name. For this guide we'll use baker1. After running the following command you'll need to confirm the public address on your Ledger. Your command will be different but it should be something like, ./tezos-client import secret key baker1 "ledger://likable-aardvark-leafy-okapi/ed25519/0h/0h"
  3. Once the node is fully synced, run the following command and confirm the operation on your Ledger device to make your account a delegate account: ./tezos-client register key baker1 as delegate

10. SETUP LEDGER BAKING APP

Make sure you have the Tezos Baking app open on your Ledger device

Change the network id NetXdQprcVkpaWU and block level 648702 to match the most recent block and network id from tezos.id, then run the command and confirm the operation on your Ledger device

./tezos-client setup ledger to bake for baker1 --main-chain-id NetXdQprcVkpaWU --main-hwm 648702

Where to find the network id and block level on tezos.id

tezos block level

tezos network id

11. RUNNING YOUR BAKER

Leave the Ledger connected with the Tezos Baking app running and keep five tabs open in Terminal

tezos terminal

Terminal Tabs

  1. You Tezos Node Tab should already be running but if you need to restart it use: ./tezos-node run --rpc-addr 127.0.0.1:8732 &
  2. Baker Tab: ./tezos-baker-006-PsCARTHA run with local node ~/.tezos-node baker1
  3. Endorser Tab: ./tezos-endorser-006-PsCARTHA run baker1
  4. Accuser Tab: ./tezos-accuser-006-PsCARTHA run
  5. Spare Tab to run commands

Right now the current protocol is 006-PsCARTHA. When the protocol gets upgraded, you will replace 006-PsCARTHA in the commands above.

You can find the new protocol name by entering the following command in the Spare Terminal tab:

ls

12. ALERTS FOR MISSED BAKES OR ENDORSEMENTS

Use the Tezos Notifier Bot in Telegram to get notified if you miss a bake or endorsement

13. WEEKLY MAINTENANCE

Use tzstats.com to see when you're scheduled to bake or endorse your next block. You can also install a new app for Apple and Android called BakingBuddy to monitor the status of your baking node.

tzstats

Take advantage of opportunities when you have a window of time without any blocks to bake or endorse and keep your macOS operating system updated as well as check for any protocol updates. To check for updates, use the Spare Terminal tab:

pkill tezos-node

git checkout mainnet && git pull && eval $(opam env) && make build-deps && make

brew upgrade

DON'T FORGET TO RESTART ALL OF YOUR TERMINAL TABS (NODE, BAKER, ENDORSER, AND ACCUSER)

14. GARBAGE COLLECTION

Your node will only be around 10 GB in the beginning. Over time that will start to grow in size. If you ever need to free up hard drive space you can follow these instructions.

tezos node size

Go to the first Terminal tab where your node is running and copy the latest block string (see below). Replace BL36YwsgJFwcs7LNLnFxUXxip6NhvbMUVzii7yxoUoWvHewGC32 in the command below with that block string and enter it in the Spare Terminal tab:

tezos block string

./tezos-node snapshot export --block BL36YwsgJFwcs7LNLnFxUXxip6NhvbMUVzii7yxoUoWvHewGC32 FILE.full

Wait for the snapshot to finish exporting, then follow the commands below:

pkill tezos-node

brew upgrade

git checkout mainnet && git pull && make build-deps && eval $(opam env) && make

cd ..

mkdir a

cd .tezos-node

Note the section of the next command that you need to replace from your own machine
mv context identity.json peers.json store version.json /Users/"your user account on your machine goes here"/a

cd ..

You will need to enter your root password after the next command
sudo rm -R .tezos-node

cd tezos

./tezos-node snapshot import FILE.full

cd ..

cd a

Note the section of the next command that you need to replace from your own machine
​mv identity.json /Users/"your user account on your machine goes here"/.tezos-node

cd ..

cd tezos

​You may need to enter your root password after the next command
sudo rm -R FILE.full

cd ..

​You may need to enter your root password after the next command
sudo rm -R a

cd tezos

​DON'T FORGET TO RESTART ALL OF YOUR TERMINAL TABS (NODE, BAKER, ENDORSER, AND ACCUSER)

15. VOTING

If you've taken the time to get this far and set up your own baker, it only makes sense that you'd also participate in Tezos' governance process.

The best place to stay updated on upgrade proposals is at tezosagora.org. There you can learn what's included in a proposal, follow along with the voting process, as well as participate in community discussions.

The Tezos amendment process begins with the Proposal Period. 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.

To submit your proposal votes you must be in Tezos Wallet App on your Ledger device

The command to cast your vote during the Proposal Period (you can visit tezos.id to grab the protocol hash to replace the PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU placeholder below):

./tezos-client submit proposals for baker1 PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU

tezos voting

Next is the Exploration Period, where bakers vote on the top-ranked proposal from the 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. 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.

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.

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.

During the Exploration Period and Promotion Period you will want to cast your vote (yay, nay, or pass). At a minimum you should submit a Pass vote if you don't feel strongly one way or the other to make sure you are participating in the governance process.

To cast your vote during the Exploration or Promotion Periods (you can visit tezos.id to grab the protocol hash to replace the PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU placeholder below):

./tezos-client submit ballot for baker1 PsBABY5HQTSkA4297zNHfsZNKtxULfL18y95qb3m53QJiXGmrbU yay

*sometimes pasting the submit ballot command is finicky. If you have trouble getting your ballot to go through, delete the yay, nay, or pass portion and then re-type it manually. Doing this has worked for me in the past.