Active
November 26, 2022

Zeisha | Deruny testnet

PROJECT DESCRIPTION

Zeisha is a new Zero Knowledge blockchain infrastructure. Zeisha offers a new concept called "Zero Contracts". Zero contracts are the equivalent of smart contracts in some major blockchain systems such as Ethereum. These contracts will be expressed as mathematical constraints instead of virtual machine bytecodes such as the Ethereum virtual machine.

Zeeka will incorporate concepts previously used as privacy layer or L2 solutions on other chains into the core of the new blockchain, aiming to create a more scalable network with better privacy.

Rules

  • Participants are required to keep themselves updated regarding the announcements published on our Discord and Twitter.
  • You have to update your node software when asked. Outdated nodes will not receive their rewards.
  • In order to control the height progress of the testnet, we have put a hard-coded height limit on our software. The height limit is currently set to: 43200 blocks (About one month).
  • During the testnet, we may be required to resync our nodes or restart building blocks from height 0. Do not panic! We will keep track of all participants' contribution even after fresh starts!

Requirements

  • In order to be a miner, besides working on a PoW puzzle, you will also need to execute the MPN contract on each block you generate. The Zeishazoro software is a CPU/GPU-executor of MPN contract. In order to run zoro, you'll need a machine with at least 32GB of RAM. If you want to be competitive miner you'll also have to competitive CPU. (In future versions, GPU will be used instead of CPU)
  • Recommendations from the Node (VPS/VDS/DS):
    4 CPUs, 8 GB RAM, 100 GB SSD, Ubuntu 20.04 Suitable servers: Hetzner-CPX31

1. PREPARATIONS

First you need to know how to rent a server, follow this link 🔗 Then how to log into your server using Putty here.

If you are already good with both, then let's proceed.

1a. Update Packages

sudo apt-get update && sudo apt-get upgrade -y

1b. Open the Ports

sudo ufw allow 8765 && sudo ufw allow 8766 && sudo ufw allow 22
sudo ufw enable 

1c. Download the essentials

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

1d. Install rust

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

Then;

source "$HOME/.cargo/env"

2. INSTALL BAZUKA

2a. Clone the bazuka repo:

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

2b. Compile and install:

cd bazuka && cargo install --path .

If you have already initialized bazuka in an older testnet, you first need to remove your previous initialization by running:

rm ~/.bazuka.yaml

2c. Initialize your node:

If you already have a 12-word mnemonic phrase, you can pass it through this flag. If not provided, a new wallet will be generated for you. Keep the mnemonic word list somewhere safe!

Replace YOUR OLD MNEMONIC PHRASE with your previously saved mnemonics

bazuka init --bootstrap 31.210.53.186:8765 --mnemonic "YOUR OLD MNEMONIC PHRASE"

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

bazuka init --bootstrap 31.210.53.186:8765

Ensure to save your Mnemonics safely and never reveal it to anyone. A loss of your mnemonics will mean you can NOT get access to your wallet.

Configuration

Edit the ~/.bazuka.yaml file

vim ~/.bazuka.yaml

press i

on the section

external: "[2a01:4f8::1]:8765"

replace with IPAddr with your IP address

external: "IPAddr:8765"

The press the esc key, after that type :wq and press enter to save and exit the editor



2d. Start your node

tmux
bazuka node start

Do not close this window, you will be coming back to it

You should get a result that looks like this;

Listening: 0.0.0.0:8765
Internet endpoint: x.xxx.xxx.x:8765
Network: deruny
Height: 1 Timestamp: 1684768072 Node count: 0 Peer count: 0 Mempool: 0 Balance: 0.0
2023-05-22T15:07:52Z: INFO: Syncing peers...
2023-05-22T15:07:52Z: INFO: Syncing clocks...
2023-05-22T15:07:52Z: INFO: Syncing mempools...
Height: 1 Timestamp: 1684768077 Node count: 1 Peer count: 0 Mempool: 0 Balance: 0.0
2023-05-22T15:08:02Z: INFO: Syncing clocks...
Syncing blocks with: 31.210.53.186:8765 (Peer height: 44)
Height: 1 Timestamp: 1684768082 Node count: 1 Peer count: 1 Mempool: 0 Balance: 0.0
2023-05-22T15:08:02Z: INFO: Invalid/expired validator-claim from ed738f0553ea724e9ca1160aa274450c0067d318a7988e0ef3edbea41888e12c4d. Signature validity: true
2023-05-22T15:08:02Z: INFO: Got headers 1-17...
2023-05-22T15:08:03Z: INFO: Got header 0...
Height advanced to 17!

2e. Become a validator

bazuka wallet register-validator --commission 0.09

2f. Staking

Get your wallet and validator info

bazuka wallet info --validator

Self delegate using the command below

bazuka wallet delegate --to [YOUR VALIDATOR ADDRESS] --amount [AMOUNT]

You probably have some funds already in your wallet, since we put your previous testnet rewards inside the genesis block of this testnet!

If you don't want to be a validator and just want to stake, you can just stake your funds to your favorite validators by running the command on step 2.

2g. Auto-Redelegation

Redelegate 80% of your reward

bazuka wallet auto-delegate --ratio 0.8 --to [validator_address]

3. MINING

It's important to note that there are two options for miners in Zeisha Network,

  • Mine in a mining pool
  • Mine as a solo- miner

you need to have a Nvidia GPU and you'll need a machine with at least 32GB of RAM to be able to mine as a solo miner!

If your machine fall short of these criteria, it's advisable to join a mining pool and follow the guide 4A else you can follow guide 4B below

A. Mine Ziesha (In a mining pool!)

On windows B
i. Install/update uzi-miner on your system

git clone https://github.com/ziesha-network/uzi-miner
cd uzi-miner
cargo update

Now install;

cargo install --path .

Wait till the installation is over.

ii. Join the mining pool and start mining

Head to the discord channel #ipaddress channel and register ur Ip address.
Also go to #mining-pools you will find adverts by pool owners. Send any one of them a DM with your wallet address, they will send you the IP_OF_THE_POOL and the MINER_TOKEN
Replace them correctly in the code below.

tmux 
uzi-miner --pool --node IP_OF_THE_POOL:8766 --threads 32 --miner-token MINER_TOKEN

B. Mine Ziesha (As a solo-miner!)

i. Make sure Bazuka is the latest version

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

ii. Install the MPN executor (zoro)

Make sure you have your GPU drivers installed. (Currently, only NVIDIA GPUs are supported!)

sudo apt install ocl-icd-opencl-dev

Then;

git clone https://github.com/ziesha-network/zoro
cd zoro
cargo install --path .

iii. Download the proving parameter

wget https://api.rues.info/update.dat
wget https://api.rues.info/withdraw.dat
wget https://api.rues.info/deposit.dat

iv. Run zoro beside your node: (This will use your Nvidia GPU for mining!)

Replace "SEED PHRASE FOR THE EXECUTOR ACCOUNT" with your executor seed phrase

zoro --node 127.0.0.1:8765 --seed "SEED PHRASE FOR THE EXECUTOR ACCOUNT" --network groth-3 \
  --update-circuit-params update.dat --deposit-circuit-params deposit.dat \
  --withdraw-circuit-params withdraw.dat --db $HOME/.bazuka --gpu

v. After a new block is generated, the uzi-miner should start working on the PoW puzzle, so you will also need to have uzi-miner running on your system:

git clone https://github.com/ziesha-network/uzi-miner
cd uzi-miner
cargo install --path .
uzi-miner --node 127.0.0.1:8765 --threads 32

Helpful commands

Removal and Update

rm -rf ~/.bazuka ~/.bazuka-wallet ~/.bazuka.yaml && rm -rf /root/.bazuka
cd bazuka
git pull origin --rebase
cargo update 
cargo install --path . 

Then;

Initialize and Run your node

Replace "firstword secondword ....." with your Mnemonics

bazuka init --bootstrap 31.210.53.186:8765 --mnemonic "YOUR OLD MNEMONIC PHRASE"

Then,

vim ~/.bazuka.yaml

press i, change: external: [xxx.xxxx.xxx] to external: YOUR_IP_ADDR:8765

change YOU_IP_ADDR to your IP -address

press esc, then :x to save.

bazuka node start 

useful links

Official site of the project

Discord | GitHub

Official documentation


THANK YOU