September 5, 2022

Zeeka: Installation Guide (English Edition)

What is Zeeka?

In simplest words, Zeeka (ℤ) is a cryptocurrency which aims to provide a light and scalable blockchain by extensively using the help of Zero-Knowledge proof technology.

A Zero-Knowledge protocol is a crytographic method by which someone can prove that they know the answer of a problem without actually revealing it.

ℤ - Bazuka!

Bazuka is a wallet and node software for the Zeeka (ℤ) Protocol. Zeeka is a novel layer-1 cryptocurrency which uses Zero-Knowledge proofs as the backend of its smart-contract (I.e Zero Contracts).

Bazuka ensures the availability of latest contract-states, so that they remain public and everybody is able to update and build on them, making Zeeka a more decentralized protocol compared to similar projects.

Website

Twitter

Discord

Whitepaper

Github

Preparing the server

At this stage, the minimum server requirements are 1 CPU, 1 GB RAM, 30 GB SSD. You can put it on Hetzner - CPX11 or hook it up to another node on an existing server. Zeeka uses port 8765.

Update system
sudo apt update && sudo apt upgrade -y
Install dependencies
sudo apt install wget jq git libssl-dev cmake -y
Install Rust
sudo apt install curl build-essential gcc make -y
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.profile
source ~/.cargo/env

Installation and launch

Clone the repository and go to the folder with the node
git clone https://github.com/zeeka-network/bazuka && cd bazuka
git pull origin master
Building binary files
cargo install --path .
Create a new wallet (Keplr for example) and save the mnemonic phrase in a safe place.
Initialize the node, specify the mnemonic phrase of your wallet in the command
bazuka init --seed '<the mnemonic phrase>' --network debug --node 127.0.0.1:8765 
Create a variable with your IP and nickname in discord
ZEEKA_IP=<your IP>
DISCORD_HANDLE=<nickname in discord#numbers>  
Save variables, reload .bash_profile and check variable values
echo "export ZEEKA_IP="${ZEEKA_IP}"" >> $HOME/.bash_profile
echo "export DISCORD_HANDLE="${DISCORD_HANDLE}"" >> $HOME/.bash_profile
source $HOME/.bash_profile
echo -e "\nzeeka_ip > ${ZEEKA_IP}\n"
echo -e "\ndiscord_handle > ${DISCORD_HANDLE}\n"
Create a service file
printf "[Unit]
Description=Zeeka node
After=network.target

[Service]
User=$USER
ExecStart=`RUST_LOG=info which bazuka` node --listen 0.0.0.0:8765 --external $ZEEKA_IP:8765 --network debug --db ~/.bazuka-debug --bootstrap 152.228.155.120:8765 --bootstrap 95.182.120.179:8765 --bootstrap 195.2.80.120:8765 --bootstrap 195.54.41.148:8765 --bootstrap 65.108.244.233:8765 --bootstrap 195.54.41.130:8765 --bootstrap 185.213.25.229:8765 --discord-handle \"$DISCORD_HANDLE\"
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > /etc/systemd/system/zeekad.service
Starting the service
sudo systemctl daemon-reload && sudo systemctl enable zeekad
sudo systemctl restart zeekad
Checking the logs
sudo journalctl -fn 100 -u zeekad
Optional: you can add colors to the log output
sudo apt install ccze
Checking logs in color
sudo journalctl -fn 100 -u zeekad | ccze -A

Creating a Keplr Wallet

  • In Google Chrome or Brave, download the Keplr extension from the link
  • Go to the extension and click "Create new account"
  • Enter the account name and password, save the mnemonic phrase in a safe place
  • We compose our own mnemonic phrase from the proposed words
  • Ready!

Deleting a node

To remove a node, run the following commands
systemctl stop zeekad && systemctl disable zeekad
rm -rf $HOME/bazuka /usr/bin/bazuka /etc/systemd/system/zeekad.service
systemctl daemon-reload

That's all. You're all big smarties. Jump into the project's Discord and post your IPs and log screenshots there.

Yoda’s Nodes Telegram

Yoda’s Nodes Youtube

Yoda’s Nodes Twitter