How To Run Drosera Network Node Full Guide
How-To-Run-Drosera-Network-Node-Full-Guide
Drosera-Network
In this Guide, we contribute to Drosera testnet by:
- Installing the CLI
- Setting up a vulnerable contract
- Deploying a Trap on testnet
- Connecting an operator to the Trap
Recommended System Requirements
Get VPS From Contabo Click Here
Official Discord
Install Dependecies
sudo apt-get update && sudo apt-get upgrade -y
sudo apt install curl ufw iptables build-essential git wget lz4 jq make gcc nano automake autoconf tmux htop nvme-cli libgbm1 pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev -y
sudo apt update -y && sudo apt upgrade -y for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done sudo apt-get update sudo apt-get install ca-certificates curl gnupg sudo install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update -y && sudo apt upgrade -y sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Test Docker sudo docker run hello-world
Trap Setup
1. Configure Enviorments
curl -L https://app.drosera.io/install | bash
source /root/.bashrc
droseraup
curl -L https://foundry.paradigm.xyz | bash
source /root/.bashrc
foundryup
curl -fsSL https://bun.sh/install | bash
2. Deploy Contract & Trap
mkdir my-drosera-trap
cd my-drosera-trap
Replace Github_Email & Github_Username:
git config --global user.email "Github_Email" git config --global user.name "Github_Username"
forge init -t drosera-network/trap-foundry-template
curl -fsSL https://bun.sh/install | bash bun install
forge build
skip warnings!
DROSERA_PRIVATE_KEY=xxx drosera apply
- Replace
xxxwith your EVM walletprivatekey(Ensure it's funded withHolesky ETH) - Enter the commamd, when prompted, write
ofcand press Enter.
3. Check Trap in Dashboard
1- Connect your Drosera EVM wallet: https://app.drosera.io/
2- Click on Traps Owned to see your deployed Traps OR search your Trap address.
4. Bloom Boost Trap
Open your Trap on Dashboard and Click on Send Bloom Boost and deposit some Holesky ETH on it.
5. Fetch Blocks
drosera dryrun
Operator Setup
1. Whitelist Your Operator
cd my-drosera-trap nano drosera.toml
Add the following codes at the bottom of drosera.toml:
private_trap = true whitelist = ["Operator_Address"]
- Replace
Operator_Addresswith your EVM walletPublic Addressbetween " " symbols - Your
Public Addressis yourOperator_Address.
DROSERA_PRIVATE_KEY=xxx drosera apply
Your Trap should be private now with your operator address whitelisted internally.
2. Operator CLI
cd ~
# Download curl -LO https://github.com/drosera-network/releases/releases/download/v1.16.2/drosera-operator-v1.16.2-x86_64-unknown-linux-gnu.tar.gz # Install tar -xvf drosera-operator-v1.16.2-x86_64-unknown-linux-gnu.tar.gz
Test the CLI with ./drosera-operator --version to verify it's working.
# Check version ./drosera-operator --version # Move path to run it globally sudo cp drosera-operator /usr/bin # Check if it is working drosera-operator
3. Install Docker image
docker pull ghcr.io/drosera-network/drosera-operator:latest
4. Register Operator
drosera-operator register --eth-rpc-url https://ethereum-holesky-rpc.publicnode.com --eth-private-key PV_KEY
5. Open Ports
# Enable firewall sudo ufw allow ssh sudo ufw allow 22 sudo ufw enable # Allow Drosera ports sudo ufw allow 31313/tcp sudo ufw allow 31314/tcp
6. Install & Run Operator
Choose one Installation Method:
- Method 1: Install using Docker
- Method 2: Install using SystemD
Method 1: Docker
6-1-1: Configure Docker
If you are currently running via old systemd method, stop it:
sudo systemctl stop drosera sudo systemctl disable drosera
git clone https://github.com/0xmoei/Drosera-Network
cd Drosera-Network
cp .env.example .env
nano .env
6-1-2: Run Operator
docker compose up -d
6-1-3: Check health
cd Drosera-Network docker compose logs -f
No problem if you are receiveing WARN drosera_services::network::service: Failed to gossip message: InsufficientPeers6-1-4: Optional Docker commands
# Stop node cd Drosera-Network docker compose down -v # Restart node cd Drosera-Network docker compose up -d
Now running your node using Docker, you can Jump to step 7.
Method 2: SystemD
6-2-1: Configure SystemD service file
Enter this command in the terminal, But first replace:
PV_KEYwith yourprivatekeyVPS_IPwith your solid vps IP (without anything else)- if using a
localsystem, then replace vps ip with0.0.0.0
sudo tee /etc/systemd/system/drosera.service > /dev/null <<EOF
[Unit]
Description=drosera node service
After=network-online.target
[Service]
User=$USER
Restart=always
RestartSec=15
LimitNOFILE=65535
ExecStart=$(which drosera-operator) node --db-file-path $HOME/.drosera.db --network-p2p-port 31313 --server-port 31314 \
--eth-rpc-url https://ethereum-holesky-rpc.publicnode.com \
--eth-backup-rpc-url https://1rpc.io/holesky \
--drosera-address 0xea08f7d533C2b9A62F40D5326214f39a8E3A32F8 \
--eth-private-key PV_KEY \
--listen-address 0.0.0.0 \
--network-external-p2p-address VPS_IP \
--disable-dnr-confirmation true
[Install]
WantedBy=multi-user.target
EOF
6-2-2: Run Operator
# reload systemd sudo systemctl daemon-reload sudo systemctl enable drosera # start systemd sudo systemctl start drosera
6-2-3: Check Node Health
journalctl -u drosera.service -f
!! No problem if you are receiveing WARN drosera_services::network::service: Failed to gossip message: InsufficientPeers6-2-4: Optional commands
# Stop node sudo systemctl stop drosera # Restart node sudo systemctl restart drosera
Now running your node using SystemD, you can Jump to step 7.
7. Opt-in Trap
In the dashboard., Click on Opti in to connect your operator to the Trap
8. Check Node Liveness
Your node will start producing greeen blocks in the dashboard