Step By Step: How To Install Ziesha Node, Incentivized Testnet Pelmeni-3(Ended)

Seengo
10 min readFeb 1, 2023

--

Learn how to run a node on Ziesha Network, mine Ziesha and join to incentivized testnet, Earn rewards and benefits.

What is Ziesha?

Ziesha (ℤ) is a new layer-1 cryptocurrency which uses Zero Knowledge proofs as the back-end of its smart-contracts, focusing on a more scalable (Yet maintainable) blockchain by compressing transactions through zkRollup-like circuits. In order to keep the protocol simple, the smart-contracts are expressed as mathematical constraints instead of bytecodes of a virtual machine.

Ziesha Official Discord

Ziesha Website

My Telegram Group ( Ask Your Questions)

My Telegram Channel

My Twitter

Order Your Ledger Wallet (Support me)

Introduction to Ziesha Network

Ziesha is a new layer-1 cryptocurrency which uses Zero-Knowledge proofs as the back-end of its smart-contracts, focusing on a more scalable (Yet maintainable) blockchain by compressing transactions through zkRollup-like circuits. In order to keep the protocol simple, the smart-contracts are expressed as mathematical constraints instead of bytecodes of a virtual machine. Ziesha incorporates a special, built-in smart-contract in its genesis block, called the Main Payment Network (MPN), which is a simple payment circuit, allowing Ziesha to verify correct execution of hundreds of transfers inside a single Groth16 proof. Miners are required to execute this contract as a part of their block creation process.

Part 01: How Order And Configure Your VPS Server

You need to rent a VPS server at first , VPS servers have some advantages:

  1. High Availability
  2. High Scalability
  3. Multi Locations
  4. Easy to Config
  5. Cheap

Note: Hetzner datacenter presents hourly paymnet option.

Minimum Hardware Requirements

CPU: 2vCore, RAM: 4 GB RAM , SDD: 20GB, OS: Ubuntu 20.04

1.If you don’t have a account in a server provider, use this link to sign up and earn €⁠20 for new sining up

Hetzner Datacenter

2.Click on continue button

3. In the hetzner website click on sign up button

4. Click on REGISTER NOW button

5. Fill the form and continue

6. Do KYC and enjoy it.

7. Click on <+ New project> and add a name project then in new page, click on Add Server

8. Choose your location, OS and hardware based on minimum requirements then write your VPS name and click on <create and buy> button

Note:An email will be sent about your VPS server like: IP and Password, check your mail box and use the informations to connect to VPS

Part 02: How to Connect To Your VPS

MacOs: To connect via SSH from this operating system, first open the Terminal window. You can find this tool by going to “Application->Utilities->Terminal”.

Windows: you can use many tools like putty and MobaXterm

1.Download one and lunch the application

2.Use informations which has been sent to your email address

3.Copy IP and enter in app and click on Open button

4.Click on “Accept” bottun , Enter your username and password which sent by Hetzner

Note: To paste any command that you have already copied just right-click where you want to paste the command

5.Enter or paste your password again and type new password and retype it again.

Finally you are on server, now you have permission to write or paste commands.

You should paste or type step by step the following commands that I have written.

My Telegram Group ( Ask Your Questions)

My Telegram Channel

My Twitter

Order Your Ledger Wallet (Support me)

Part 03: Preparation

1.Update & Upgrade Server

Before you get start, need to update and upgrade server

sudo apt update && apt upgrade -y

2. Install Prerequisties For Your Sevrver

sudo apt install -y build-essential libssl-dev cmake screen git

3.Create New Terminal

sudo screen -S ziesha

4.Install The Rust Toolchain

sudo curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

When command prompt asks you enter number 1 and press ENTER on the keyboard.

5. Check Rust PATH

Make sure Rust binaries are present in your PATH before compiling:

source "$HOME/.cargo/env"

Part 04: Install The Node

1.Clone The bazuka Repo:

sudo git clone https://github.com/ziesha-network/bazuka

2.Compile and install:

cd bazuka
cargo install --path .

Part 05: Configuration

1.Initialize The Node

Now if you want to join the pelmeni testnet, you first have to initialize your node. If you have already initialized bazuka in an older testnet, you first need to remove your previous initialization by running:

sudo rm -rf ~/.bazuka ~/.bazuka-wallet ~/.bazuka.yaml ~/.uzi-pool-history ~/.uzi-pool-miners

If you don’t have a mnemonic phrase and you would like bazuka to generate one for you:

bazuka init --network pelmeni --bootstrap 65.108.193.133:8765

Note: save your mnemonic phrase into a Notepad file and keep them safe. Your rewards will go into this public-key, in the future mainnet.

2.Config Firewall

sudo ufw allow 8765
sudo ufw allow 8765/tcp
sudo ufw allow 8766
sudo ufw allow 8766/tcp
sudo ufw allow 22
sudo ufw allow 22/tcp
sudo ufw enable

3.Config The Node

Config the .bazuka.yaml file and add some parameters:

sudo nano $HOME/.bazuka.yaml

Change texts based on sample, replace your IP address with <Your IP Address> , add bootstrap IPs(Use bootstraps of example), edit network (change to pelmeni-3).

listen: "0.0.0.0:8765"
external: "<Your IP Address>:8765"
network: pelmeni
miner_token: PG9ScX0qwxC1R86t5INQgOhUpm4as7
bootstrap:
- "65.108.193.133:8765"
db: /root/.bazuka
#Example
listen: "0.0.0.0:8765"
external: "5.75.167.80:8765"
network: pelmeni-5
miner_token: PG9ScX0qwxC1R86t5INQgOhUpm4as7
bootstrap:
- "65.108.193.133:8765"
- "95.217.177.157:8765"
- "5.75.167.68:8765"
- "65.109.174.196:8765"
db: /root/.bazuka

Press Ctrl+X and type Y then press ENTER on your keyboard.

4.Additional Bootstrap IP (Optional)

If you need more bootstrap IPs, use the link below then copy/paste shown IPs in .bazuka.yaml file(Optional).

Part 06: Start The Node

You are required to provide your Discord neme through the --discord-handle flag. By providing your Discord name, they will be able to authenticate your node, as a part of rewarding process.

1.Find Discord Name

Open Discord and click on your name then copy it.

2.Connect Discord To The Node

After initializing your node you can run it through. Replace your name of your discord acoount with <YOUR DISCORD HANDLE> like the following.

bazuka node start --discord-handle "<YOUR DISCORD HANDLE>"
bazuka node start --discord-handle "Seengo#7076"

Now press Ctrl+A+D to detach session.

Part 07: Check The Node

1.Wallet And Balance

Use the command below to see wallet address and balance.

bazuka wallet info

Note: save wallet addresses and keep them safe.

2.The Node

When you started the node, you are able to find your IP in this website that show you are online. In website page press Ctrl+F and in search bar type your IP address.

3.Send Token

This website is used to send tokens and fuacet, checking balance.

Enter the 12-word seed phrase and click on Login! Button.

Now you are able to check balance and send Ziesha.

Part 08: Mine Ziesha

Node runners are rewarded with TZ according to their uptime also miners are additionally rewarded with TZ for the amount that they mine. Then if you have run a node and started it you have done one of tasks, let’s to do another.

Note: To mining, you need at less 4GB RAM and 2vCPU or more.

Note: Mining involves CPU then more CPU, more rewards

1.Install Miner

Start new session by the command below:

sudo screen -S mine

Install/update uzi-miner on your system:

source "$HOME/.cargo/env"
sudo git clone https://github.com/ziesha-network/uzi-miner
sudo cd uzi-miner
sudo cargo update
sudo cargo install --path .

2.Join A Pool

Go to the link and enter your MPN account address which you saved previous Part07 and click on “Create Miner Token” button then copy your token. We need this token to join a pool.

http://222.71.35.42:8501/

3.Run uzi-mine

Replace your token like the sample:

uzi-miner --pool --node IP_OF_THE_POOL:8766 --threads 32 --miner-token MINER_TOKEN
uzi-miner --pool --node 222.71.35.42:8766 --miner-token "HulTnhGGKumXrF2rXEKtiZpog4fdhd" --threads $(nproc --all)

Press Ctrl+A+D to detach screen session.

Part 09: Control CPU Usage

1.Install App

To prevent the node from turning off shoud control CPU usage by the following commands:

sudo screen -S cpulimit
sudo apt install cpulimit

2.Finding A Program With High Processor Usage

sudo htop

In the shown table find the uzi-miner lines, make a note the PID number of the first line for example in this picture PID number is 2535 then press Ctrl+C to exit the table.

3.Limit CPU Usage

We will limit the program with 2535 PID code to use 90% CPU. You can change the percentage here as you wish. As soon as uzi miner finds the new problem, there may be instant peaks, but CPUlimit takes control and limits it again in 1–2 seconds. Replace <Program PID Number> with you program PID like the example.

sudo cpulimit -p <Program PID Number> -l 90
sudo cpulimit -p 2053 -l 90

Press Ctrl+ A and D to detach screen session.

Note: To check status of the node you can use this command:

bazuka node status

Thanks for your time. If you need some supports, can join our community also can study other active projects.

Part 09: Update

Go to related screen by the following command and stop the node, use keyboard keys Ctrl + C to do that.

screen -r ziesha
Ctrl + C

Then enter the command below to convert your network from pelmeni-4 to pelmeni-5 also you can refer to Part05 -> Number3 to config the .bazuka.yaml file and edit pelmeni parameter. Please check the discord to find out what the latest pelmeni number is.

sed -i "s/pelmeni-4/pelmeni-5/g" $HOME/.bazuka.yaml

Now you can update the node.

cd bazuka
git pull origin master
cargo update
cargo install --path .

After initializing your node you can run it through. Replace your name of your discord acoount with <YOUR DISCORD HANDLE> like the following.

bazuka node start --discord-handle "<YOUR DISCORD HANDLE>"
bazuka node start --discord-handle "Seengo#7076"

Now press Ctrl+A+D to detach session.

My Telegram Group ( Ask Your Questions)

My Telegram Channel

My Twitter

Order Your Ledger Wallet (Support me)

--

--