Chainflip: Installation Guide
Chainflip — это децентрализованный протокол, который позволяет проводить кроссчейн переводы между различными блокчейнами. Chainflip соединит основные экосистемы, такие как Bitcoin, Ethereum, Polkadot, Solana или Cosmos, чтобы пользователи могли перемещаться по растущему многоцепочечному пространству.
Целью проекта является устранение пользовательских барьерьеров для обмена ваших токенов в несколько кликов без дополнительных знаний о криптографии.
Discord
Website
Оглавление
- Подготовка к установке
- Установка ноды
- Создание ключей
- Создание config файла
- Запуск ноды
- Обновление
- Удаление ноды
Подготовка к установке
Характеристики сервера для запуска ноды: 4 CPU, 8 RAM 50 GB SSD. В дальнейшем может понадобиться больше места, поэтому берите с запасом, например Hetzner CPX31.
Заходим в дискорд проекта и регистрируемся в ветке #join-testnet
Также нам понадобится новый кошелек Metamask и приложение в Alchemy.
Для создания кошелька переходим по ссылке и выполняем все инструкции, сохраняем мнемоническую фразу в надежном месте.
Можно сразу запросить токены в дискорде в канале #faucet командой !drip ваш_адрес. Также вам понадобятся токены gETH, запросить их можно с крана.
Для создания приложения в Alhemy выполняем следующие шаги:
- Переходим по ссылке и регистрируемся в Alchemy;
- Нажимаем на кнопку CREATE APP;
Теперь переходим непосредственно к поднятию ноды
Установка ноды
Загружаем GPG ключ из официального репозитория
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
Корректный вывод выглядит следующим образом
Добавляем репозиторий Chainflip в apt, обновляем и устанавливаем пакеты
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
Создание ключей
chainflip-node key generate
Сохраняем полученную информацию в надежном месте!
Создаем каталог для хранения ключей
sudo mkdir /etc/chainflip/keys
echo -n "ваша секретная фраза (secret seed) из вывода предыдущей команды" | sudo tee /etc/chainflip/keys/ethereum_key_file
SECRET_SEED=ваша секретная фраза (secret seed) из вывода предыдущей команды
echo -n "${SECRET_SEED:2}" | sudo tee /etc/chainflip/keys/signing_key_file
Вывод должен показать вашу секретную фразу без первых двух символов (0x)
По очереди выполняем следующие команды и сохраняем оба вывода
sudo chainflip-node key generate-node-key --file /etc/chainflip/keys/node_key_file
cat /etc/chainflip/keys/node_key_file
Выдаем разрешения и очищаем историю
sudo chmod 600 /etc/chainflip/keys/ethereum_key_file sudo chmod 600 /etc/chainflip/keys/signing_key_file sudo chmod 600 /etc/chainflip/keys/node_key_file history -c
Создание config файла
sudo mkdir -p /etc/chainflip/config sudo nano /etc/chainflip/config/Default.toml
Копируем текст ниже в блокнот, вносим изменения в строки ip_address, ws_node_endpoint и http_node_endpoint.
[node_p2p] node_key_file = "/etc/chainflip/keys/node_key_file" ip_address = "ваш_IP" 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 = "ваш_WEBSOCKETS" http_node_endpoint = "ваш_HTTPS" # 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"
Сохраняем изменения сочетанием клавиш Ctrl+X, затем y и Enter
Чтобы узнать свой IP, выполняем команду
wget -qO- eth0.me
Значения параметров ws_node_endpoint и http_node_endpoint мы сохранили в блокнот ранее при подготовке к запуску
Запуск ноды
sudo systemctl start chainflip-node
sudo systemctl status chainflip-node
Проверяем логи и ожидаем завершения синхронизации
tail -f /var/log/chainflip-node.log
Подобные логи указывают, что синхронизация завершена
sudo systemctl start chainflip-engine sudo systemctl status chainflip-engine
sudo systemctl enable chainflip-node sudo systemctl enable chainflip-engine
tail -f /var/log/chainflip-engine.log
- Переходим в Metamask и добавляем токен FLIP в сети Goerli. Контракт токена -
0x8e71CEe1679bceFE1D426C7f23EAdE9d68e62650
- Переходим в приложение Perseverance Staking App
- Переходим во вкладку "My Nodes" и поключаем Metamask
- Нажимаем "+ Add Node"
- В появившемся окне вставляем ваш публичный ключ (SS58), количество токенов, которые хотите застейкать и нажимаем кнопку "Stake"
- Подписываем две транзакции
- Через несколько минут ваша нода появится во вкладке "My Nodes"
Далее необходимо зарегистрировать ключи валидатора
sudo chainflip-cli \ --config-path /etc/chainflip/config/Default.toml \ register-account-role Validator
Нажимаем y и получаем в выводе хэш транзакции
Активируем аккаунт для участие в аукционе
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 ваш_никнейм
Обновление
sudo apt update sudo apt upgrade sudo systemctl restart chainflip-engine
Удаление ноды
Сохраняем файлы из каталога /etc/chainflip/keys
sudo systemctl stop chainflip-node sudo systemctl stop chainflip-engine rm -rf /etc/apt/keyrings rm -rf /etc/chainflip sudo systemctl disable chainflip-node sudo systemctl disable chainflip-engine