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.
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