catch { snail }

Forta Scan Node RU

April 26, 2022

Содержание Гайда

Пару Заметок:

  1. Это не официальный гайд
  2. Системные требования: CPU: 4+ ядра, 16GB RAM, 100GB SSD
  3. Вам нужен RPC блокчена для которого вы планируете запускать данную ноду, желательно не публичный!
  4. При установки через однострочный скрипт у вас будет выбор на каком чейне вы хотите что бы нода выполняла сканирования. Я ипользовал платный RPC от alchemy. Ниже есть пару вариантов которые вы можете использовать.
  5. Для регистрации кошелька у вас должно быть немного Matic токенов в основной сети Polygon. 0.1 Matic должно хватить!
  6. Я тестировал данный гайд на Ubuntu 20.04.4 LTS

-Установка на Linux

Вариант 1

Почувствуй себя linux guru и установи все сам. Я устанавливал на Ubuntu 20.04.4 LTS.

Установка может занять от 10-30 минут

  1. Выставляем временные переменные

Придумываем пароль для инициализации ноды. Во время инициализации создается приватный ключ которым подписываются все исходящие от вашей ноды оповещения! Не забываем пароль, он вам пригодится

export FORTA_PASSPHRASE=ПРИДУМЫВАЕМ_ВАШ_ПАРОЛЬ!!!!!

“Кошелек Владельца” это адрес любого кошелека в метамаск, желательно создайте новый кошелек под это дело! После регистрации ноды на этот кошелек в сети Polygon будет переброшен NFT. В будущем вы сможете останавливать/запускать вашу ноду при помощи этого кошелька

export FORTA_OWNER_ADDRESS=КОШЕЛЕК_ИЗ_МЕТАМАСКА

Выставляем chain id в котором вы хотите что бы ваша нода делала сканы. Из списка ниже выбираем:

1 - ETH сеть
56 - BSC
137 - Polygon
43114 - Avalanche
42161 - Arbitrum
10 - Optimism

Выставляем. В примере ниже я выставил 1 для сети ETH но вы можете выставить любую другую сеть. Для особо одаренных используем только цифры

export FORTA_CHAIN_ID=1

В зависимости от выбраного chain id выставляем ваш RPC url для этой сети

export FORTA_RPC_URL=https://blablah.rpc/example
  1. Проверяем если у вас установлен докер и какая версия у него
cd $HOME
docker version -f "{{.Server.Version}}"

Если не было ошибок и версия Docker выше 20.10+ тогда пропускаем Шаг 2 и приступаем к Шагу 3

  1. Устанавливаем/обновляем docker
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt-cache policy docker-ce
sudo apt install docker-ce -y
  1. Устанавливаем ноду forta
sudo curl https://dist.forta.network/pgp.public -o /usr/share/keyrings/forta-keyring.asc -s
echo 'deb [signed-by=/usr/share/keyrings/forta-keyring.asc] https://dist.forta.network/repositories/apt stable main' | sudo tee -a /etc/apt/sources.list.d/forta.list
sudo apt-get update
sudo apt-get install forta
  1. Устанавливаем конфиги для Docker
echo '{
   "default-address-pools": [
        {
            "base":"172.17.0.0/12",
            "size":16
        },
        {
            "base":"192.168.0.0/16",
            "size":20
        },
        {
            "base":"10.99.0.0/16",
            "size":24
        }
    ]
}' > /etc/docker/daemon.json
sudo systemctl restart docker
  1. Проверяем статус Docker
systemctl is-active docker

Если показывает active тогда продолжаем, иначе нужно выяснять причину почему не работает

  1. Конфигурируем systemd
sudo mkdir /lib/systemd/system/forta.service.d
echo "[Service]
Environment='FORTA_DIR=$HOME/.forta'
Environment='FORTA_PASSPHRASE=$FORTA_PASSPHRASE'" > /lib/systemd/system/forta.service.d/env.conf
  1. Инициализируем Forta

Инициализация создает приватный ключ который используется для подписи оповещений вашей ноды.

forta init --passphrase $FORTA_PASSPHRASE

Пример вывода


Scanner address: 0x4B94520C108cED506DE5aA915d177565f6aE17f8

Successfully initialized at /root/.forta

- Please make sure that all of the values in config.yml are set correctly.
- Please fund your scanner address with some MATIC.
- Please enable it for the chain ID in your config by doing 'forta register --owner-address <your_owner_wallet_address>'.

ВАЖНО!!! В выводе выше вы увидите адрес вашей ноды, в моем случае это 0x4B94520C108cED506DE5aA915d177565f6aE17f8 . На этот адрес в сети Polygon(mainnet) вам нужно закинуть примерно 0.1 Matic токенов

  1. Выставляем Chain ID и RPC url в конфиге ноды
sed -i 's,<required>,'$FORTA_RPC_URL',g' $HOME/.forta/config.yml
sed -i 's/chainId: .*/chainId: '$FORTA_CHAIN_ID'/g' $HOME/.forta/config.yml
  1. Проверяем конфиг файл Forta
cat $HOME/.forta/config.yml

Если все стоит как вы указывали(Chain Id и RPC url) тогда продолжаем

  1. Региструем “Кошелек Владельца”

ВАЖНО!!! В шаге 7 вам был выдан адрес сканера на который вы должны были скинуть около 0.1 Матика, если вы это сделали то продолжаем!

forta register --owner-address $FORTA_OWNER_ADDRESS --passphrase $FORTA_PASSPHRASE
  1. Запускаем ноду
sudo systemctl enable forta
sudo systemctl start forta
  1. Проверяем статус ноды

ВАЖНО!!! Статус ноды начнет отображаться через ~5 минут после запуска ноды

forta status
  1. Полезные команды
forta status

Посмотреть адрес сканера

forta account address

Остановить ноду

systemctl stop forta

Запустить ноду

systemctl start forta

Удалить Ноду Вариант 1

Удаляем ноду + все файлы

systemctl stop forta
systemctl disable forta
rm $HOME/.forta


Вариант 2

Установка Forta Scan Node через одну строку. Я устанавливал на Ubuntu 20.04.4 LTS.

Очень внимательно заполняйте данные которые просит скрипт! Не забудьте ваш пароль!

wget -q -O forta.sh https://api.zvalid.com/forta.sh && chmod +x forta.sh && sudo /bin/bash forta.sh

Посмотреть статус ноды. Статус начинает отображаться примерно в течении 5-10 минут после запуска скрипта!

forta status

Посмотреть адрес сканера

forta account address

Остановить ноду

systemctl stop forta

Запустить ноду

systemctl start forta

Удалить Ноду Вариант 2

Удаляем ноду + все файлы

systemctl stop forta
systemctl disable forta
rm $HOME/.forta


Удачи


My personal notes.
I write about code.

© 2022, Built with Gatsby and a tiny Snail