ChainFlip — Установка ноды
--
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