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 Zeisha
zoro
software is a CPU/GPU-executor of MPN contract. In order to runzoro
, 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.
sudo apt-get update && sudo apt-get upgrade -y
sudo ufw allow 8765 && sudo ufw allow 8766 && sudo ufw allow 22
sudo ufw enable
sudo apt install -y build-essential libssl-dev cmake
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
2. INSTALL BAZUKA
git clone https://github.com/ziesha-network/bazuka
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
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
vim ~/.bazuka.yaml
external: "[2a01:4f8::1]:8765"
replace with IPAddr with your IP address
The press the esc key, after that type :wq
and press enter to save and exit the editor
tmux bazuka node start
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
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,
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
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
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
rm -rf ~/.bazuka ~/.bazuka-wallet ~/.bazuka.yaml && rm -rf /root/.bazuka
cd bazuka git pull origin --rebase cargo update cargo install --path .
Replace "firstword secondword ....."
with your Mnemonics
bazuka init --bootstrap 31.210.53.186:8765 --mnemonic "YOUR OLD MNEMONIC PHRASE"
vim ~/.bazuka.yaml
press i
, change: external: [xxx.xxxx.xxx]
to external: YOUR_IP_ADDR:8765
change YOU_IP_ADDR
to your IP -address
bazuka node start