ChainFlip — Установка ноды

Душа Спекулянта
5 min readNov 28, 2022

--

1. Требования

Официальные:
4 СPU
8 GB RAM
50 GB SSD

  • Cтавьте на Ubuntu 20.04. Есть проблемы с Ubuntu 22.04
  • На свой страх и риск можете использовать Hetzner CPX31 (16 EU/M)
  • Рекомендую Dedicated Ryzen 5 Server на Webtropia — (45 EU/M)
  • Рекомендую для удобства SSH терминал — MobaXTerm.

2. Подготовка сервера

sudo apt update && sudo apt upgrade -y

sudo apt install make clang pkg-config libssl-dev libclang-dev build-essential git curl ntp jq llvm tmux htop screen unzip cmake -y

sudo apt install gpg -y

sudo apt install logrotate

3. Устанавливаем ноду

sudo mkdir -p /etc/apt/keyrings

curl -fsSL repo.chainflip.io/keys/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/chainflip.gpg

gpg --show-keys /etc/apt/keyrings/chainflip.gpg
#Должен показать вывод ниже 👇
pub rsa3072 2022-11-08 [SC] [expires: 2024-11-07]
BDBC3CF58F623694CD9E3F5CFB3E88547C6B47C6
uid Chainflip Labs GmbH <dev@chainflip.io>
sub rsa3072 2022-11-08 [E] [expires: 2024-11-07]

3.1 Устанавливаем необходимые пакеты

echo "deb [signed-by=/etc/apt/keyrings/chainflip.gpg] https://repo.chainflip.io/perseverance/ focal main" | sudo tee /etc/apt/sources.list.d/chainflip.list

sudo apt-get update

sudo apt-get install -y chainflip-cli chainflip-node chainflip-engine

4. Создаем ключи для ETH

При помощи Metamask cоздайте новый кошелек и вытащите из него приватный ключ. Этот новый кошелек будет участвовать в текущем тестнете. Подключитесь к Goerli (Görli) cети и запросите 0.2 ETH на свой новый кошелек через Faucet.

sudo mkdir /etc/chainflip/keys

echo -n "YOUR_VALIDATOR_WALLET_PRIVATE_KEY" | sudo tee /etc/chainflip/keys/ethereum_key_file
#Замените YOUR_VALIDATOR_WALLET_PRIVATE_KEY на новый приватный ключ, который создали.

4.1 Cоздаем ключи для Сhainflip

chainflip-node key generate

Должны получить вывод, как на картинке ниже. Обязательно сохраните!

Делаем переменную и добавляем ChainFlip адресс.

SECRET_SEED=YOUR_CHAINFLIP_SECRET_SEED
#Замените SECRET_SEED=YOUR_CHAINFLIP_SECRET_SEED на ваш сгенерированый секретный сид.

echo -n "${SECRET_SEED:2}" | sudo tee /etc/chainflip/keys/signing_key_file

4.2 Генерируем NodeKey.

sudo chainflip-node key generate-node-key --file /etc/chainflip/keys/node_key_file

cat /etc/chainflip/keys/node_key_file
#Вывод обязательно сохраните в безопасное место

5. Настраиваем нашу ноду

Для начало вам нужно пройти в Infura, и создать проект на Goerli. После выташить два адресса (HTTPS и WEBSOCKETS), которые потом нужно будет вставить в редакторе. Следуйте по картинкам.

Infura выдаст нам два Эндпоинта. Теперь нам нужно вставить их в фаил и запустить ноду.

sudo mkdir -p /etc/chainflip/config

sudo nano /etc/chainflip/config/Default.toml

Откроется редактор, куда вы должны вставить все что ниже и отредактировать фаил. Замените следующие строчки:

  • IP_ADDRESS_OF_YOUR_NODE на IP адресс вашего сервера.
  • WSS_ENDPOINT_FROM_ETHEREUM_CLIENT на то, что предлогает Infura в строчке WSS Endpoint
  • HTTPS_ENDPOINT_FROM_ETHEREUM_CLIENT на то, что предлогает Infura в строчке RPC Endpoint
# Default configurations for the CFE
[node_p2p]
node_key_file = "/etc/chainflip/keys/node_key_file"
ip_address="IP_ADDRESS_OF_YOUR_NODE"
port = "8078"

[state_chain]
ws_endpoint = "ws://127.0.0.1:9944"
signing_key_file = "/etc/chainflip/keys/signing_key_file"

[eth]
# Ethereum RPC endpoints (websocket and http for redundancy).
ws_node_endpoint = "WSS_ENDPOINT_FROM_ETHEREUM_CLIENT"
http_node_endpoint = "HTTPS_ENDPOINT_FROM_ETHEREUM_CLIENT"

# Ethereum private key file path. This file should contain a hex-encoded private key.
private_key_file = "/etc/chainflip/keys/ethereum_key_file"

[signing]
db_file = "/etc/chainflip/data.db"

Cохраняем изменения командой CTRL+X,Y,Enter.

6. Запускаем синхронизацию

sudo systemctl start chainflip-node

sudo systemctl enable chainflip-node

sudo systemctl status chainflip-node

tail -f /var/log/chainflip-node.log

ВАЖНО! Ждем полной синхронизации. Иначе вы запорите всю работу. Полная синхронизация будет выглядить так:

После полной синхронизации запускаем второй сервис.

sudo systemctl start chainflip-engine

sudo systemctl enable chainflip-engine

sudo systemctl status chainflip-engine

tail -f /var/log/chainflip-engine.log

В логах у вас будут Errors. Это нормально. Нам теперь нужно застейкать токены в свою ноду.

sudo nano /etc/logrotate.d/chainflip

В редактор вставьте все что ниже

/var/log/chainflip-*.log {
rotate 7
daily
dateext
dateformat -%Y-%m-%d
missingok
notifempty
copytruncate
nocompress
}

Что бы выйти из nano редактора прожмите CTRL+X,Y, Enter.

sudo chmod 644 /etc/logrotate.d/chainflip

sudo chown root.root /etc/logrotate.d/chainflip

7. Клейм токенов и регистрация валидатора

Добавляем токено tFLIP в Metamask. Адрес контракта

0x8e71CEe1679bceFE1D426C7f23EAdE9d68e62650
  • Идем в их Swap Dex и меняем gETH на tFLIP. Нам нужно минимум 10 tFLIP для регистрации ноды.
  • Переходим в их апликацию. Подключаем кошелек с тестовыми токенами и проходим во вкладку My Nodes.
  • Кликаем на кнопку ADD Node. Вам откроется вкладка “Register New Node”
  • В строку “Validator Public Key (SS58)” вбейте свой “SS58” ключ, который вы генерировали в самом начале. В строке Stake укажите то количество токенов, которое хотите застйекать и жмите кнопку Stake. Вам нужно подтвердить две транзакци.

8. Регистрируем валидатора

Регистрируем следующей командой

sudo chainflip-cli \
--config-path /etc/chainflip/config/Default.toml \
register-account-role Validator

Активируем нашего валидатора

sudo chainflip-cli \
--config-path /etc/chainflip/config/Default.toml \
activate

Производим ротацию ключей

sudo chainflip-cli \
--config-path /etc/chainflip/config/Default.toml rotate

Меняем наше имя

sudo chainflip-cli \
--config-path /etc/chainflip/config/Default.toml \
vanity-name my-discord-username

#Замените my-discord-username на ваше имя.

9. Аукцион

В Chainflip есть система аукационов. Аукцион подразумевает выбор вылидаторов каждыую эпоху (14 дней) при этом проходят те ноды валидаторов, которые имеют больше токенов. Так что, даже если вы нафармите 7к токенов (столько нужно токенов на 28 ноября, что бы попасть в активный сет), еще не означает, что вы станете валидаторм.

10. Удаление ноды

sudo systemctl stop chainflip-engine

sudo systemctl stop chainflip-node

sudo rm -rf /etc/apt/keyrings

sudo rm -rf /etc/apt/sources.list.d/chainflip.list

sudo rm -rf /etc/chainflip

sudo rm -rf /etc/logrotate.d/chainflip

*******************************************************

👉Webtropia — Используйте только Dedicated Server
👉SSH терминал MobaxTerm
👉Discord проекта
👉Cайт проекта
👉Официальный гайд
👉Эксплорер ноды
👉Swap Dex

🔰Мой телеграм канал
🔰Мой YouTube канал
🔰Cайт моей команды

--

--