Home Baking — Installing and Setting up a Tezos Node

Installing a betanet Tezos Node from Source on Ubuntu 18.4

These are the steps for installing the betanet Tezos node from source on a fresh Ubuntu 18.4. There has recently been a number of updates to the betanet which also required some additional libraries. The instructions are based on the current version git tag review-LA1–964-g51e8f94e.

We tested our home baking install on iMac 4Ghz intel Core i7 with 32GB with a VM that had access to 8GB of memory and 4 processors. We give approximate times, where appropriate, based on this machine. The full install takes about 15 minutes but 2–3 hours to sync up the chain.

Note that the betanet is expected to be the live chain and so all transactions made on betanet will be persevered on the mainnet.

Install the libraries that Tezos is dependent on

sudo apt-get install build-essential git m4 unzip rsync curl bubblewrap libev-dev libgmp-dev pkg-config libhidapi-dev jbuilder

Pull down the source code from the git repository

git clone https://gitlab.com/tezos/tezos.git
cd tezos
git checkout betanet
git describe --tags

This should result in the following tag “review-LA1–964-g51e8f94e” and if you have a later version then these instructions may not be complete.

Install the OPAM the package manager for OCaml (~3 minutes)

cd
sh <(curl -sL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)
opam init --comp=4.06.1
opam switch 4.06.1
opam update
eval $(opam env)

Building Tezos from source (~10 minutes)

cd tezos
make build-deps
eval $(opam env)
make

Node Set-up

Create the node identity

The identity information and chain is stored in the directory ./tezos-node in your home directory.

./tezos-node identity generate

Start-up the node

Run from a terminal (currently takes ~ 2–3 hours to sync)

./tezos-node run --rpc-addr :8732 --connections 10

Run without a terminal and write output to a tezos.log file.

nohup ./tezos-node run --rpc-addr :8732 --connections 10 --log-output tezos.log &

Baking

To run a baker, endorser and accuser.

./tezos-baker-002-PsYLVpVv run with local node ~/.tezos-node <baking_address>
./tezos-accuser-002-PsYLVpVv run
./tezos-endorser-002-PsYLVpVv run <baking_address>

Useful Node Commands

This is a useful alias to set up in order to avoid the annoying warning splash screen. The rest of the commands below assume this alias has been run otherwise replace betanet with ./tezos-client

alias betanet=’TEZOS_CLIENT_UNSAFE_DISABLE_DISCLAIMER=y ./tezos-client’

Generate a key with the alias my_account

The keys are stored in the directory ./tezos-client in your home directory. This is an important directory to backup.

betanet gen keys my_account

Get balance of an account

betanet get balance for my_account

Show wallet addresses and contracts (k addresses)

betanet list known addresses
betanet list known contracts

Create an originate contract for delegating

This will create a k address contract which delegates to a delegate_account

betanet originate account my_originated for my_account transferring 1 from my_account --delegate delegate_account --delegatable

To change your delegate

betanet set delegate for my_originated to another_delegate

Example of transferring XTZ

betanet transfer 1 from my_account to bobs_account --fee 0

Useful Links

Tezos Baker

Tezos Baker Comparison

Cryptium Lab Payout

Benefits and Risks of Home Baking

Setting up a Secure Baker

Baking with a Ledger