Zen Testnet: Linux Install Guide

Skunk_Ink
The Sia Blog
Published in
4 min readDec 18, 2023

--

Pre-requisites

To ensure you will not run into any issues with running renterd, it is recommended your system meets the following requirements:

Network Access: renterd needs a stable internet connection and open network access in order to store and retrieve data on Sia’s Zen Testnet.

Operating System Compatibility: You must download the correct renterd binary for your version of Linux. If you are not sure which version you are on, you can run uname -m in a terminal to find out.

  • x86_64Linux AMD64
  • aarch64Linux ARM64

Hardware Requirements: A stable setup that meets the following specifications is recommended. Not meeting these requirements may result in preventing slabs from uploading and can lead to a loss of data.

  • A Linux distro with systemd (Ubuntu, Debian, Fedora, Arch, etc)
  • A dual-core CPU
  • 16GB of RAM
  • An SSD with at least 128GB of free space.

⚠️ To ensure proper functionality, we are recommending 16GB RAM. This is because renterd will keep full slabs in memory when uploading. A full slab is 120MB, and a single upload may hold two or three slabs in memory. However, it is possible to run renterd with less RAM than this, and it may work fine depending on the use case.

Installing renterd

Open a Terminal using Crtl + Alt + T.

ℹ️ If you cannot open a Terminal using the above method, try one of the other methods listed here.

Once the Terminal loads, run the following command to download and install the latest testnet version of renterd to your /usr/local/bin directory.

  • Install renterd for Linux AMD64 systems:
wget https://sia.tech/downloads/latest/renterd_zen_linux_amd64.zip &&\
unzip -j renterd_zen_linux_amd64.zip renterd &&\
sudo mv renterd /usr/local/bin/renterd_testnet &&\
rm -fr renterd_zen_linux_amd64.zip
  • Install renterd for Linux ARM64 systems:
wget https://sia.tech/downloads/latest/renterd_zen_linux_arm64.zip &&\
unzip -j renterd_zen_linux_arm64.zip renterd &&\
sudo mv renterd /usr/local/bin/renterd_testnet &&\
rm -fr renterd_zen_linux_arm64.zip

ℹ️ You’ll be prompted to authorize this action by providing your system password. You will not see anything when you type this in. Press Enter once you have entered your password.

Creating a wallet

renterd uses BIP-39 12-word recovery phrases. To generate a new wallet recovery phrase, run the following command:

renterd_testnet seed

A new 12-word recovery phrase will be generated. Make sure to store it in a safe place, as you will need this phrase to recover your wallet.

Setting up a systemd service

Now that you have a recovery phrase, we will create a new system user and systemd service to run renterd securely on startup.

First, we will create a new system user with useradd and disable the creation of a home directory. This is a security precaution that will isolate renterd from any unauthorized access to our system. We will then use usermod to lock the account and prevent anyone from logging in under the account.

sudo useradd -M renterd_testnet &&\
sudo usermod -L renterd_testnet

Now, we will create a new folder under /var/lib/ titled renterd and give it the appropriate permissions. This folder will be utilized specifically to store data related to the renterd software. Open the Terminal Emulator and run the following commands:

sudo mkdir /var/lib/renterd_testnet &&\
sudo chown renterd_testnet:renterd_testnet /var/lib/renterd_testnet &&\
sudo chmod o-rwx /var/lib/renterd_testnet

Next, create a file name renterd.yml file under /var/lib/renterd/

sudo nano /var/lib/renterd_testnet/renterd.yml

Now, modify the file to add your wallet seed and API password. The recovery phrase is the 12-word phrase you generated in the previous step. Type it carefully, with one space between each word, or copy it from the previous step. The password is used to unlock the renterd web UI; it should be something secure and easy to remember.

⚠️ your_access_key can be anywhere from 16 to 128 characters long.
your_private_key must be exactly 40 characters long.

seed: your seed phrase goes here
http:
password: your_api_password
autopilot:
heartbeat: 5m
s3:
enabled: true
disableAuth: false
address: "localhost:9885"
keypairsV4:
your_access_key: your_private_key

Once you have added your recovery phrase and password, save the file with ctrl+s and exit with ctrl+x.

Next, we’ll create a new system service to run renterd on startup:

sudo nano /etc/systemd/system/renterd_testnet.service

Once the editor loads, copy and paste the following into it.

[Unit]
Description=Sia renterd testnet
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/renterd_testnet
WorkingDirectory=/var/lib/renterd_testnet
Restart=always
RestartSec=15
User=renterd_testnet

[Install]
WantedBy=multi-user.target
Alias=renterd.service

You can now save the file with ctrl+s and exit with ctrl+x.

Running renterd

Now it is time to start the service

sudo systemctl start renterd_testnet

Your renterd service should now be running. You can check the status of the service by running the following command:

sudo systemctl status renterd_testnet

If the service was set up correctly, it should say “active (running).”

You can now access the Zen Testnet using the renterd web UI by opening a browser and going to http://localhost:9880.

Enter the API password you created in your renterd.yml to unlock the renterd web UI.

Congratulations, you have successfully set up renterd on the Zen Testnet. You can now move on to Configuring your renterd settings.

--

--