Forta Scan Node RU
April 26, 2022
- Официальный Гайд
- Мой discord: drawrowfly#4024
Содержание Гайда
Пару Заметок:
- Это не официальный гайд
- Системные требования: CPU: 4+ ядра, 16GB RAM, 100GB SSD
- Вам нужен RPC блокчена для которого вы планируете запускать данную ноду, желательно не публичный!
- При установки через однострочный скрипт у вас будет выбор на каком чейне вы хотите что бы нода выполняла сканирования. Я ипользовал платный RPC от alchemy. Ниже есть пару вариантов которые вы можете использовать.
- Для регистрации кошелька у вас должно быть немного Matic токенов в основной сети Polygon. 0.1 Matic должно хватить!
- Я тестировал данный гайд на Ubuntu 20.04.4 LTS
-Установка на Linux
Вариант 1
Почувствуй себя linux guru и установи все сам. Я устанавливал на Ubuntu 20.04.4 LTS.
Установка может занять от 10-30 минут
- Выставляем временные переменные
Придумываем пароль для инициализации ноды. Во время инициализации создается приватный ключ которым подписываются все исходящие от вашей ноды оповещения! Не забываем пароль, он вам пригодится
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
- Проверяем если у вас установлен докер и какая версия у него
cd $HOME
docker version -f "{{.Server.Version}}"
Если не было ошибок и версия Docker выше 20.10+ тогда пропускаем Шаг 2 и приступаем к Шагу 3
- Устанавливаем/обновляем 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
- Устанавливаем ноду 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
- Устанавливаем конфиги для 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
- Проверяем статус Docker
systemctl is-active docker
Если показывает active тогда продолжаем, иначе нужно выяснять причину почему не работает
- Конфигурируем 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
- Инициализируем 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 токенов
- Выставляем 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
- Проверяем конфиг файл Forta
cat $HOME/.forta/config.yml
Если все стоит как вы указывали(Chain Id и RPC url) тогда продолжаем
- Региструем “Кошелек Владельца”
ВАЖНО!!! В шаге 7 вам был выдан адрес сканера на который вы должны были скинуть около 0.1 Матика, если вы это сделали то продолжаем!
forta register --owner-address $FORTA_OWNER_ADDRESS --passphrase $FORTA_PASSPHRASE
- Запускаем ноду
sudo systemctl enable forta
sudo systemctl start forta
- Проверяем статус ноды
ВАЖНО!!! Статус ноды начнет отображаться через ~5 минут после запуска ноды
forta status
- Полезные команды
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
Удачи