Forta
Требования
- Metamask с сетями ETH и Polygon.
Как добавить сеть Polygon? Через Chainlist.org - 20$ в сети ETH
- 2500 токенов $FORT в сети Polygon на 1 сканер
Перевод токенов из сети ETH в Polygon производится при помощи https://wallet.polygon.technology/bridge/ - Несколько $Matic в сети Polygon
Установка
Установка обновлений и необходимых пактов
sudo apt update -y && sudo apt install jq ncdu tmux ca-certificates curl gnupg lsb-release -y
Включаем сервис по синхронизации времени
sudo systemctl enable systemd-timesyncd # включаем сервис синхронизации времени sudo systemctl start systemd-timesyncd # запускаем этот сервис timedatectl status # проверяем синхронизацию
Ниже необходимо сменить <YOURPASS> и <YOURWALLET> на свои.
Где кошелек - Ваш метамаск адрес.
А пароль - придумайте сами.
Важно! <> тоже нужно убрать, иначе ничего не получится.
echo "export FORTA_PASSPHRASE=<YOURPASS>" >> ~/.bash_profile # <YOURPASS> меняем на свой echo "export FORTA_OWNER_ADDRESS=<YOURWALLET>" >> ~/.bash_profile # <YOURWALLET> Адрес метамаск где хранятся токены форт, то есть адрес владельца echo "export FORTA_RPC_URL=65.108.236.160:8545" >> ~/.bash_profile # адрес эфир ноды с портом 8545 echo "export FORTA_DIR=$HOME/.forta" >> ~/.bash_profile # папка где будет храниться форта source ~/.bash_profile # загружаем сохраненные переменные
. <(wget -qO- https://raw.githubusercontent.com/letsnode/Utils/main/installers/docker.sh) # устанвливаем докер
docker version # проверяем версию докера, нужна версия старше 20.10, сейчас 20.10.14 или 20.10.17 будет
tee /etc/docker/daemon.json > /dev/null <<EOF { "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 } ] } EOF
systemctl restart docker # перезапускаем докер
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
sudo tee /etc/systemd/system/forta.service > /dev/null <<EOF [Unit] Description=Forta After=network-online.target Wants=network-online.target systemd-networkd-wait-online.service StartLimitIntervalSec=500 StartLimitBurst=5 [Service] Restart=on-failure RestartSec=15 Environment="FORTA_DIR=$FORTA_DIR" Environment="FORTA_PASSPHRASE=$FORTA_PASSPHRASE" ExecStart=/usr/bin/forta run [Install] WantedBy=multi-user.target EOF
Сделаем доп. папку из которой будет подтягиваться пароль
sudo mkdir /lib/systemd/system/forta.service.d tee /lib/systemd/system/forta.service.d/env.conf > /dev/null <<EOF [Service] Environment='FORTA_DIR=$FORTA_DIR' Environment='FORTA_PASSPHRASE=$FORTA_PASSPHRASE' EOF
Инициализируем форту(создадим кошелек)
forta init --passphrase $FORTA_PASSPHRASE
tee ~/.forta/config.yml > /dev/null <<EOF chainId: 1 scan: jsonRpc: url: http://$FORTA_RPC_URL trace: jsonRpc: url: http://$FORTA_RPC_URL registry: jsonRpc: url: https://rpc.ankr.com/polygon EOF
Данный конфиг подойдет только для сети ETH, если Вам хочется иметь сканер в другой сети, смотрим конфиги тут: https://docs.forta.network/en/latest/scanner-quickstart/#scanning-other-chains
После установки конфига необходимо отправить 0.1 матика на адрес, который мы получили после команды forta init
Ждем ~ 1 минуту пока упадет матик на кошелек.
forta register --owner-address $FORTA_OWNER_ADDRESS
Опять ждем ~1-2 минуты. Стейкаем токены на форту при помощи https://app.forta.network/staking
Вводим адрес сканера(не кошелька), и жмем Stake
Вводим кол-во токенов, потом жмем Approve tokens
Может появиться Approve tokens еще раз, тогда надо либо еще раз на нее нажать или повторить предыдущие шаги.
В случае если появилась кнопка Add Stake, то нажимаем на нее.
Перезапускаем демона и включаем форту
systemctl daemon-reload systemctl enable forta systemctl start forta
forta status #Узнать статус сканера
forta account address #узнать адресс аккаунта
journalctl -u forta -f -o cat #проверить логи сканера форта