Гайд по встановленню ноди Drosera
Drosera - займається захистом і усуненням вразливостей на різні екосистеми, а також пом'якшенням наслідків атак на криптопроєкти.
- Інвестували: 4.75M$
- Інвестори: Santiago R. Santos, Arrington Capital, Greenfield Capita та інші
- Характеристики: 2 CPU / 4GB RAM / ~20GB SSD
- Орендувати сервер: Сloudblast.io, Aeza
- Чат і канал із підтримкою: https://t.me/+MhR1Y8cXq_5iYmM6, https://t.me/+l0OxVdWZEXFhMDMy
Підготовка
- Встановлюємо MobaXterm
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
Якщо бачите Hello from Docker! тоді все ок
Trap
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 source /root/.bashrc
Розміщення контракту і Trap
mkdir my-drosera-trap cd my-drosera-trap
- Змінюємо
Github_Email&Github_Username на свої: Якщо немає Github то зареєструйтеся - тиць
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
source $HOME/.bashrc
forge build
- Йдемо в кран гугла і запитуємо Holesky ETH на гаманець, який будемо використовувати для ноди. Так само є POW кран.
DROSERA_PRIVATE_KEY=ВАШ_ПРИВАТНИК drosera apply
- Коли попросять підтвердження пишемо ofc і тиснемо enter. Якщо команда довгий час не виконується 1-2 хв, то перезапустіть її ще раз, доки не отримаєте таке:
Перевіряємо Trap
- Підключаємо наш гаманець на сайті
- Підключаємо гаманець на який отримували токени (гаманець ноди)
- Натискаємо на Traps Owned для перегляду наших Traps
- Клікаємо на нашу Trap, щоб її відкрити. Далі натискаємо Send Bloom Boost і закидаємо Holesky ETH у неї: (я закидаю 0.5 Holesky ETH )
drosera dryrun
Встановлення та налаштування Оператора
Для оператора ви можете використовувати той самий гаманець, що й раніше для ноди, або використовувати інший.
nano drosera.toml
private = true whitelist = []
private_trap = true whitelist = ["Operator_Address"]
- Змінюємо попередній rpc seed-node на новий - https://relay.testnet.drosera.io
- Замінюємо Operator_Address на публічну адресу вашого гаманця, закриваємо файл CTRL+X, вводимо Y для збереження і enter
2) Обновляем Trap конфигурацию:
DROSERA_PRIVATE_KEY=ВАШ_ПРИВАТНИК drosera apply
Коли попросять підтвердження пишемо ofc і тиснемо enter. Після очікування відправлення транзакції повертаємося в Дашборд на сторінку нашого Trap і бачимо, що з'явився значок Private
Встановлення CLI Оператора
cd ~
# Download curl -LO https://github.com/drosera-network/releases/releases/download/v1.17.2/drosera-operator-v1.17.2-x86_64-unknown-linux-gnu.tar.gz # Install tar -xvf drosera-operator-v1.17.2-x86_64-unknown-linux-gnu.tar.gz
./drosera-operator --version
sudo cp drosera-operator /usr/bin
drosera-operator
docker pull ghcr.io/drosera-network/drosera-operator:latest
Міняємо ВАШ_ПРИВАТНИК на приватний ключ гаманця для оператора, той самий, що вказували вище в гайді під час додавання оператора в білий список.
drosera-operator register --eth-rpc-url https://ethereum-holesky-rpc.publicnode.com --eth-private-key ВАШ_ПРИВАТНИК
Отримаємо повідомлення в логах про реєстрацію Оператора - Operator registered.
- Відкриваємо порти (якщо потрібно)
- ОБЕРЕЖНО, якщо у вас на сервері ще щось є фаєрвол буде блокувати інші проекти, використовуйте тільки якщо у вас чистий сервер і ви не плануєте туди нічого лишнього встановлювати
# 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
Встановлення та запуск оператора
git clone https://github.com/0xmoei/Drosera-Network
cd Drosera-Network
cp .env.example .env
nano .env
ETH_PRIVATE_KEY на приватний ключ Оператора
VPS_IP на IP вашого vps сервера
- Щоб зберегти:
CTRL+X,Y&ENTER. - Є можливість редагувати замінити порти та rpc (якщо потрібно)
docker-compose.yamlфайл:
nano docker-compose.yaml
- Список RPC:
https://holesky.drpc.org
https://endpoints.omniatech.io/v1/eth/holesky/public
https://holesky.gateway.tenderly.co
https://ethereum-holesky-rpc.publicnode.com
https://1rpc.io/holesky - Щоб зберегти:
CTRL+X,Y&ENTER. - Запуск оператора
docker compose up -d
docker logs -f drosera-node
Натискаємо в Opti in для конекту вашого оператора до Trap та підтверджуємо транзакцію в гаманці
Після цього у нас у дашборді мають почати йти блоки
Ви можете побачити безліч ERROR, але команда в діскорді заявляє, що це окей для даної стадії тестнету, та в подальшому вирішать дану проблему
Додаткові команди:
# Зупинити вузол cd Drosera-Network docker compose down -v # Перезапустити вузол cd Drosera-Network docker restart drosera-node # Переглянути логи docker logs -f drosera-node
Оновлення Trap
cd $home && cd my-drosera-trap && nano drosera.toml
- Змінити попередній rpc seed-node на новий - https://relay.testnet.drosera.io
curl -L https://app.drosera.io/install | bash source /root/.bashrc droseraup
DROSERA_PRIVATE_KEY=ВАШ_ПРИВАТНИК drosera apply
Оновлення оператора
cd && cd Drosera-Network && docker-compose down
curl -L https://foundry.paradigm.xyz | bash
source /root/.bashrc
foundryup
docker pull ghcr.io/drosera-network/drosera-operator:latest
docker-compose up -d
Заміна ethereum_rpc
cd $home && cd my-drosera-trap && nano drosera.toml
https://holesky.drpc.org
curl -L https://app.drosera.io/install | bash source /root/.bashrc droseraup
DROSERA_PRIVATE_KEY=ВАШ_ПРИВАТНИК drosera apply
Вирішення проблем з пам'яттю
Помітив, що сильно забивається пам’ять через логування — у мене нода важила понад 200 GB, що явно ненормально, вирішення даної проблеми описав нище.
cd && cd Drosera-Network && docker-compose down
nano docker-compose.yaml
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"docker compose up -d
docker logs -f drosera-node