Setting up a Tezos Node in 5 steps (2026)
This is an update of my 2022 article Setting up a Tezos Node in 5 steps.
Tezos is a Proof of Stake blockchain supporting Smart Contracts and On-chain Governance. The blockchain is supported by nodes which exchange blockchain information and bakers which produce new blocks. Running a node adds to the stability of the network, but you might have a specific application for its use. If you want to bake on Tezos then you will need to run a node. Often blockchain application developers will have their own node to communicate with the network and indexers will maintain their own archive node.
In this short article, we will show you how to set up a Tezos node. Anyone with a modern computer running Linux can set up a node. We have only included the detail to get started. In a future article, we will show you how to set up a baker.
1 - Decide which history mode
Before starting you should determine which of the three main history modes you would like to run:
- Archive - every piece of detail from the first block to the current time, a complete copy of the blockchain;
- Full - detail from the first block to the current time but with transactions rolled up;
- Rolling - enough blocks to stay current with the network.
It’s possible to run a baker with any of these modes. If you are writing an indexing application, you are likely to need an archive node. For most home users, a rolling node is enough.
As I write this an Archive node needs approximately 4.1TB of storage with a growth rate of approximately 1GB/week. A full node will fit on a system with 500GB of storage and a rolling node will fit on a system with 60GB. The disc needs to be a fast SSD drive.
We will assume that you are using PC hardware running Debian 13 (Trixie). It’s possible to run on a Raspberry Pi. For best results make sure you have a fast SSD drive, 4 CPU cores and 16GB of RAM. This will allow you to run a baker and DAL node later as well. An AWS or GCP compute instance with SSD-backed storage is suitable. We’ll also assume that you have root access.
2 - Install the software
The reference implementation of the Tezos Blockchain software is called Octez. Tzinit provides a software repository for Debian and Ubuntu Linux. You can also find these packages for download at packages.tzinit.org. For Debian 13 (Trixie) you can use the APT package manager to install the software.
Make sure that your system is up to date with apt update && apt upgrade then follow the instructions at
the packages site to set up the APT repository and install the software.
Import the GPG key for the repository. This is used to verify the authenticity of the packages.
curl -s "https://apt.tzinit.org/keys/tzinit.asc" | \
sudo gpg --dearmor -o /etc/apt/keyrings/tzinit.gpg
Normally you would trust the key from the repository maintainer, but you can verify it yourself using GPG. We won’t go into the detail of this here. I have signed the GPG key using my personal key and you can verify this if you are worried about the authenticity of the key. The key’s fingerprint is 181E 6294 A077 0AE9 AF01 73B2 1F68 8E12 01D8 19B4.
Set up the APT repository.
echo "deb [signed-by=/etc/apt/keyrings/tzinit.gpg] https://apt.tzinit.org/debian trixie main" \
| sudo tee /etc/apt/sources.list.d/tzinit-octez.list
Then install the client and node software:
sudo apt update
sudo apt install -y octez-client octez-node
Any missing dependencies will be automatically installed by the package manager.
3 - Configuring the node
Our package has a configuration file to help set it up stored at /etc/default/octez-node, but you should not need to edit it. By default we have assumed that the software will run as user tezos and group tezos in a directory called /var/tezos/.tezos-node. Similarly, we will log output into /var/log/tezos. You can change the details in the configuration file to suit your needs.
The directory /var/tezos will need to be a large partition capable of storing the blockchain. The package installation automatically adds a tezos user and group. It also creates the directory /var/tezos/.tezos-node for the node data. But you can move this to a different location if you prefer.
Assume the role of tezos and initialise the node. We have used sensible defaults for a rolling node on the production blockchain (called mainnet). The node will listen on port 9732 to exchange information on the Tezos gossip network and offer an RPC service to local users on port 8732. By running an RPC service, we will be able to connect to the node locally.
sudo su - tezos
octez-node config init --network=mainnet \
--history-mode=rolling \
--net-addr="[::]:9732" \
--rpc-addr="127.0.0.1:8732"
You can change the settings above to suit your needs. For example, you might want to allow the RPC service on your local network so that you can connect your Tezos wallet to a node you maintain.
If you are running on a NATed network and you will run more than one node, then you should use a different port for each node for –net-addr. The network records the node’s public IP address and port, so using the same port for multiple nodes causes conflicts.
4 - Obtaining a snapshot or archive
If you were to start the node now, it would start to download the blockchain from the very first block. On a test network, this will be quick, but on mainnet it will be very slow and will take weeks. For a head-start, we fetch a snapshot and import it. A snapshot is a backup of the blockchain data. Do these operations using the tezos user.
sudo su - tezos
cd $HOME
wget -O snapfile https://snapshots.tzinit.org/mainnet/rolling
octez-node snapshot import snapfile
rm snapfile
For a full node, you will need to use a full snapshot. For an archive node, you will need to use a compressed archive node data directory. You can also reconstruct an archive node from a full node, but this can take a long time.
5 - Starting the node
As root or using sudo, start the node using systemctl. The enable command will ensure that the node starts on boot.
sudo systemctl enable octez-node
sudo systemctl start octez-node
You can now view the progress of the node in the log file. It will sync with the network and fill the gap from the point that the snapshot was taken to the current block. Then you will have a working Tezos node.
tail -f /var/log/tezos/octez-node.log
You can also monitor the progress of the sync with the network using:
octez-client bootstrapped
More information
I have only scratched the surface of the available options here. Please see How to get Tezos and Getting Started with Tezos for other installation options and information on building from source.