Node Installation Guide - zellular-xyz/zsequencer GitHub Wiki

Generate Keys

Follow these instructions to install the eigenlayer cli to generate the BLS and ECDSA key files for your node:

eigenlayer operator keys create --key-type ecdsa zellular
eigenlayer operator keys create --key-type bls zellular

Install Dependencies

python3, cmake, g++ and MCL library for pairing-based BLS cryptography

sudo apt install -y python3 cmake g++
sudo apt install libgmp3-dev
wget https://github.com/herumi/mcl/archive/refs/tags/v1.93.zip
unzip v1.93.zip
cd mcl-1.93
mkdir build
cd build
cmake ..
make
make install

Install Requirements

wget https://github.com/zellular-xyz/zsequencer/archive/refs/tags/latest.zip
unzip latest.zip
cd zsequencer-latest
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Setup Environment

Create an environment file based on the .env.example:

cp .env.example .env

Then modify the .env file with the appropriate parameters:

ZSEQUENCER_BLS_KEY_FILE=~/.eigenlayer/operator_keys/zellular.ecdsa.key.json
ZSEQUENCER_BLS_KEY_PASSWORD=[your password for ecdsa key file]
ZSEQUENCER_ECDSA_KEY_FILE=~/.eigenlayer/operator_keys/zellular.bls.key.json
ZSEQUENCER_ECDSA_KEY_PASSWORD=[your password for bls key file]

[!NOTE] The only required variables to set are the path to BLS & ECDSA key files and their passwords.

Run the Node

Use the following command after creating the .env file as explained above:

python run.py

Testing

The following example runs a local network with 3 nodes and sends 100,000 transactions for sequencing:

python examples/runner.py --test general

To modify parameters such as the number of nodes, their stake, confirmation threshold percentage, the number of transactions, etc edit the examples/runner.py file.