Tockchain Testnet Guide for Node Operators

Join the Tockchain public testnet and gain early access to the infrastructure powering the next generation of stablecoins

Laptops & Servers.png

Introduction

Welcome to the Tockchain Public Testnet!

Project Tockchain is a research initiative for a standalone Layer 1 blockchain with native Qubic integration. If our research proves successful, Tockchain will serve as the foundation for Valis Stablecoins. VUSD, our first stablecoin, will be issued on both Qubic and Tockchain.

This guide will walk you through the steps to set up and run your own node on the Tockchain testnet.

If you would prefer to participate as a user instead of running a node, check out the “Tockchain Testnet Guide for Users” for instructions.

By running a node, you will contribute to the network’s resilience and performance at scale.

Become a Node Operator

Interested in becoming a node operator for the Tockchain testnet? Follow these steps to get started:

  1. Review This Guide: Familiarize yourself with the hardware, connectivity, and knowledge requirements outlined here to ensure you’re prepared.
  2. Join the Valis Discord: Join the Valis Discord and contact Spelunker (Discord Username: _spelunker_) to request becoming a node operator.
  3. Wait for Approval: Once approved, you'll receive the “Node Operator” role, granting you access to the private #op-node-operators channel on the Valis Discord.
  4. Provide Your Email: Share the email address you’d like to use for Valis collaboration tools with Spelunker. Note that this email will be visible to other collaborators in shared Notion documents or Google Sheets. For privacy, consider using a dedicated alias (e.g., not your personal or work email).
  5. Complete Your Node Operator Page: Once you receive a link to your “Node Operator” page, fill in your node information.
  6. Follow the Guide: Proceed with the remaining steps in this guide to set up and run your node on the Qualification Testnet. Once qualified, you may join the Core Testnet.

Unix Basics for Node Operators

Learn the Basic Unix Commands

You’ll use a Unix-based server (like Linux). Don’t worry if you’re new. We’ll guide you!

New to Unix? Don’t worry, here’s a quick guide. These basics will help you set up your node:

Command Use Example
sudo Runs a command as an admin sudo ./generator
ls Lists files ls
ls <filename> List information about a specific file ls valis.conf
cd Switches folders cd ~/valis
chmod +x Makes a file runnable (executable) chmod +x vcli
./<binaryname> Runs a file from your current folder ./vcli
ping Tests your internet. ping google.com

<aside> ❓

Tip: Stuck? Try adding --help to the command (e.g., ./vcli --help) or ask in the #op-node-operators channel on the Valis Discord.

</aside>

<aside> ⚠️

In code blocks, text like <password0> or <address0> is highlighted in a different color and means “replace this with your value” (e.g., “MySecurePass123” for a password). Don’t type the < > symbols.

</aside>

Understand the Prompts

The Command Line Interface (CLI) can show two different types of prompts to you:

<aside> ❓

Tip: If you’re unsure where you are, check the prompt. If it shows:

</aside>

For more help when issues arise, see “Troubleshooting” at the end of this guide.

Get Help with an AI Assistant

To assist with your setup and answer questions about Unix commands or basic node operation, we recommend using an AI assistant (use Grok for best results). This will save our small team’s time, allowing us to focus on Tockchain-specific support in the #op-node-operators channel on the Valis Discord.

How to Use an AI Assistant:

  1. Download the “Tockchain AI Reference”: Visit the “Downloads” section of this guide, download the .md file, and save it to your computer.
  2. Upload to an AI: Load the file into Grok 3 (recommended) as a knowledge base. You can do this by uploading the .md file when interacting with the AI or pasting its contents, depending on the platform.
  3. Ask Your Questions: Use the AI to ask questions about Unix commands, setup steps, or troubleshooting (e.g., “How do I use chmod +x?” or “What does sudo mean?”).
  4. Escalate to Discord if Needed: If the AI can’t resolve your issue or you have questions about Valis software, transaction types, or testnet performance, contact us in the #op-node-operators channel on the Valis Discord.

<aside> 📌

Our team is small, and Qsilver is focused on developing the Tockchain protocol. Using an AI for basic questions about Unix commands helps us prioritize support for Tockchain-specific issues. Please ask the AI first. If Grok 3 or similar can’t assist, we’re here to help on the Valis Discord!

</aside>

Steps

Step 1: Understand Testnet Versioning

Tockchain uses a two-tier versioning system to track network and software changes clearly:

Please note that Testnet versions (e.g., Testnet 2.0) and software versions (e.g., tockchain-vusd-generator-2.0.0) use separate, independent numbering systems. Do not assume a testnet version matches a software version. Always check the specific requirements in this guide for each testnet phase.

Step 2: Understand Testnet Goals

Each testnet has two types of goals: network goals and feature goals.

The current testnet, 2.0, aims to achieve the following:

Step 3: Understand Testnet Structure

Tockchain operates two separate testnets:

Step 4: Prepare the Hardware and Connectivity

Ensure you are using a dedicated server (no VPS), exclusively for Testnet (no unrelated workloads that could impact performance), running Unix, and meeting the minimum hardware requirements. The server can be self-hosted or colocated with a hosting provider.

Minimum Ideal
Hardware
CPU 8-core
RAM 32GB 64GB for high-volume transactions
Storage 100GB+ SSD (sufficient for several hours of transactions, prunes automatically when full) More storage allows keeping a longer transaction history
Connectivity
IP A static IP is required for a persistent connection.
Bandwidth 200Mbps dedicated with the ability to burst up to 1Gbps A full 1Gbps dedicated connection

<aside> ❓

Tip: A “static IP” is a fixed internet address for your server (unlike a changing one). “Bandwidth” is your internet speed. 200Mbps means fast, reliable connections.

</aside>

Step 5: Install Prerequisites

Ready to install the prerequisites on your Unix-based system? You will use the Unix commands from “Unix Basics for Node Operators” above. Don’t worry. We’ll guide you!

5.1. Set Timezone to UTC

Set your system's timezone to UTC to ensure accurate timestamps for the node.

dpkg-reconfigure tzdata

5.2. Install Dependencies

Install tools your node needs to run and stay secure. These are like building blocks for Tockchain. Don’t worry if the names look technical, we’ll explain.

# Update your system to get the latest tools.
sudo apt update && sudo apt upgrade -y

# Install tools for building, networking, security, and downloading files
sudo apt install -y apache2 gcc gdb cmake nethogs libnanomsg-dev websocketd libgmp-dev uuid-dev libssl-dev curl

These tools help your node compile code, connect to the network, and secure transactions. If you see errors, check your internet is working with ping google.com.

5.3. Install Secp256k1 Library

Secp256k1 is a security tool that helps sign transactions and verify them on Tockchain. Specifically, Secp256k1 is a cryptographic library used for elliptic curve cryptography (ECC). ‘ECC’ is a secure math method for transactions, like a digital lock. This step installs it on your server.

# Clone the secp256k1 library (used for secure transactions).
git clone <https://github.com/bitcoin-core/secp256k1>
cd secp256k1

# Set up for signing transactions securely.
cmake -DSECP256K1_ENABLE_MODULE_RECOVERY=ON .

# Build and install it.
make
sudo make install
sudo ldconfig

# Return to the previous directory.
cd ..

Step 6: Download Tockchain CLI

Your node tools will live in a valis directory. This step sets up the Tockchain CLI tool.

The necessary files will be created in the valis directory and/var/www/html/VUSD. It’s not required to use Apache specifically, but /var/www/html must exist.

# Create a single valis directory in your home folder and move into it.
mkdir ~/valis

# Move into the valis directory.
cd ~/valis

# Download the Tockchain CLI tool.
wget <https://raw.githubusercontent.com/valis-team/tockchain/main/CLI/tockchain-vusd-cli-v2.0.1>

# Rename it to 'vcli' for easier use.
mv tockchain-vusd-cli-v2.0.1 vcli

# Make vcli executable (this lets vcli run as a program).
chmod +x vcli

# Note: 

<aside> 📌

This sets up vcli in ~/valis, where all tools (vcli, generator, validator, vpoint), files (valis.conf), and directories (subseeds) live. Run it with ./vcli from here (e.g., ./vcli <password0>). Stay in ~/valis for all steps.

</aside>

Step 7: Generate Wallet & Configuration File

Now, create your wallet and config file in ~/valis. This prepares your node’s identity.

Each node operator must generate their wallet files, along with their public key, address, and IP address.

7.1. Generate Wallet Files

Create a wallet with a seed and address for your node. This step uses vcli in ~/valis.

Run the vcli program to generate wallet files and a new address. This will create a wallet with a seed, public key, and address, which are securely stored in a subseeds directory which will be automatically created in ~/valis in a subseeds directory.

You’ll need to specify a password to encrypt your seed. Don’t type *<password0>* literally. Replace it with your own strong password, using letters and numbers, at least 8 characters (e.g., ./vcli MySecurePass123).

# Run vcli to generate a wallet, replacing <password0> with your strong password (e.g., MySecurePass123).
./vcli <password0>

Running the vcli program will start the vcli binary interactive prompt. If you’re new to Unix, you might think you’re still in the terminal, right? However, you’ll notice you’re no longer seeing the terminal prompt (e.g. user@server:~/valis$). Instead, now you are seeing the vcli binary interactive prompt, which looks like this (vcli>). Make sure you understand how prompts work (see “Unix Basics for Node Operators” at the beginning of this guide).

7.2. Generate a Public Key

Pick your node’s unique address from the wallet seed.

Your public key is like your node’s unique address on the Tockchain network. It’s what identifies your node to others. This public key is generated from a secret seed, which you created in Step 7.1. Keep your seed safe. It’s the key to recovering your address if needed.

If you’re running ./vcli <password0> for the first time (from Step 7.1), vcli will start its binary interactive prompt and offer you 5 options to create your public key (node address). Here’s what each option means and how to use it:

  1. Option 1: Input a 55-character seed to restore an existing address: Paste the exact seed from Step .1 to recover an address.
  2. Option 2: Input “BIP39” (without quotes) to generate a new BIP39 seed: This creates a new seed using the BIP39 standard, which vcli will use to generate a new public key.
  3. Option 3: Input a vanity prefix (up to 7 characters) for a custom address: Type a short prefix (e.g., PARIS) to customize your address (e.g., PARISXXEWR…). This can help identify your node’s location (like your city or data center), but longer prefixes (up to 7 characters) can take longer to generate—be patient!
  4. Option 4: Press Enter (leave blank) for a random seed: This automatically generates a random public key (node address) for you. No input needed.
  5. Option 5: Restore an existing seed longer than 55 characters: Paste an existing long seed if you have one to restore a specific address.

Choose one of these options by typing the required information in the vcli prompt and pressing Enter. vcli will guide you through the process. Don’t worry, it’s interactive and gives clear instructions.

After selecting your option and generating your public key, you’re done with this step for now. Since we haven’t finished setting up your node, type exit or press Ctrl+C to return to the terminal prompt (e.g., user@server:~/valis$). You’ll use vcli again later for transactions (like maketx), but not yet.

7.3. Backup the Seed and Manage Your Password

The seed, private key, and password are all securely encrypted to ensure their protection.

The seed must be retrieved from the encrypted subseeds directory for future use.

<aside> ⚠️

</aside>

Passwords can be of considerable length and should consist of printable text. It is recommended to limit passwords to letters and numbers, as the system has been tested primarily with simpler passwords.

7.4. Initialize the Second Password

For testing the public testnet, the generator and validator nodes are combined into one and must share the same address. To ensure addr0 (generator) and addr1 (validator) match, both addresses must come from the same seed.

In the future, generator and validator nodes will operate separately, each with its own unique address and password. This will enhance flexibility and security for node operators. The valis.conf file already requires two addresses, as it is prepared for this future scenario.

<aside> ⚠️

</aside>