Гайд по установке ноды « Fuel Sequencer»
Что такое Fuel?
Fuel — это операционная система, созданная специально для Ethereum Rollups. Она помогает ускорять и улучшать работу блокчейнов без компромиссов.
Как это работает?
FuelVM
FuelVM — это виртуальная машина, которая берет лучшие идеи из экосистемы Ethereum. Она использует улучшения, которые невозможно было внедрить в Ethereum Virtual Machine (EVM) из-за обратной совместимости.
Главное преимущество FuelVM — параллельное выполнение транзакций. Это значит, что блокчейн обрабатывает данные быстрее, используя сразу несколько ядер процессора, а не одно, как большинство блокчейнов. В результате FuelVM обрабатывает больше транзакций и выполняет сложные вычисления быстрее.
Язык программирования Sway
Fuel разработал свой язык программирования Sway — он похож на Rust, но создан специально для смарт-контрактов.
- Безопасность и строгий контроль ошибок (как в Rust)
- Удобство написания смарт-контрактов (как в Solidity)
- Оптимизированную работу с блокчейном
Ниже приведена краткая информация, которая поможет вам начать работу с нодой для блокчейна Fuel Sequencer.
Для получения более подробной информации обратитесь к репозиторию установки.
Системные требования
Настройка портов
По умолчанию для работы Fuel нужны следующие порты:
Эти модули обмениваются данными между собой, поэтому если ты изменишь порты, то нужно обновить настройки в других местах:
🔹 Если изменил порты у Sequencer → измени настройки в параметрах запуска Sidecar.
🔹 Если изменил порт у Sidecar → измени настройки в конфигурации Sequencer.
🔹 Если изменил порты Ethereum → обнови параметры запуска Sidecar.
Важно: если этого не сделать, модули просто не смогут соединиться друг с другом.
Гайд по установке ноды
1. Установите Go (GoLang)
Для работы Fuel вам нужно установить Go (версия 1.21 или выше).
ver="1.23.1" wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" rm "go$ver.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile source $HOME/.bash_profile
go version
2. Запустите Ethereum Full Node
Для оптимальной работы Sequencer, вам нужно запустить собственную Ethereum Mainnet ноду. Использование сторонних сервисов для Ethereum не рекомендуется.
Рекомендуемая инструкция для установки Ethereum ноды:
3. Скачайте и настройте Sequencer
Теперь скачиваем бинарный файл и начальный файл конфигурации для Sequencer.
cd $HOME wget -O fuelsequencerd https://github.com/FuelLabs/fuel-sequencer-deployments/releases/download/seq-mainnet-1.2-improved-sidecar/fuelsequencerd-seq-mainnet-1.2-improved-sidecar-linux-amd64 chmod +x fuelsequencerd mv ~/fuelsequencerd ~/go/bin/
fuelsequencerd version #вывод: seq-mainnet-1.2-improved-sidecar
fuelsequencerd init <node-name> --chain-id seq-mainnet-1
wget -O $HOME/.fuelsequencer/config/genesis.json https://files.block-pro.net/mainnet/fuel/genesis.json
wget -O $HOME/.fuelsequencer/config/addrbook.json https://files.block-pro.net/mainnet/fuel/addrbook.json
4. Настройка конфигурации (app.toml)
Откройте файл конфигурации app.toml в директории ~/.fuelsequencer/config/ и установите параметры:
minimum-gas-prices = "10fuel"
enabled = true address — адрес, где будет работать Sidecar (address = "localhost:8080")
5. Настройка конфигурации (config.toml)
Откройте файл config.toml и выполните следующие настройки:
persistent_peers = "c92a832384b2b676c5b0f317acfb6c0d49846e80@fuel-mainnet-peer.block-pro.net:60756,b3052ca64950786499d56ade68593a555e383ad4@fuel-mainnet-peer.itrocket.net:63656,d48507eb9c8fc6cab278da8b64548496134562dc@141.95.11.200:26656,9584099276b4baf2d6fdf07d4eb9dec40564bba5@185.107.68.171:26656,bbb5f1939278b75efbc213067cc8226591353fc4@65.108.133.32:26656,5d75cca90b178f2b782ce57b0067c0ec8512354c@65.109.70.89:41656,0d7efe1a993e548acccba23358de50a87f5ac841@176.103.222.150:26656,445952b74b508ba5915f3c2f0a8d169a409f174b@57.129.64.92:26656,9bc530d3715a57b4e4f987e75343a67a747b4626@95.217.204.58:29656,9eb2801d1dde4b9ff0be3427092cc2548e973d71@176.103.222.162:26656,40369a07f904d01262141353b5b8fcc8fae2b9da@65.109.53.189:26656,9ad948216644797315b9dfd4851abc2a87235f29@37.27.129.24:14656"
max_tx_bytes = 1258291 max_txs_bytes = 23068672
6. Настройка сжатия (pruning)
Для эффективного управления хранилищем данных, настройте параметры сжатия:
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.fuelsequencer/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.fuelsequencer/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"19\"/" $HOME/.fuelsequencer/config/app.toml
7. Запуск Sequencer через systemd
Чтобы запускать Sequencer как фоновый сервис, используйте systemd.
sudo tee /etc/systemd/system/fuelsequencerd.service > /dev/null <<EOF [Unit] Description=Sequencer Node After=network-online.target [Service] User=$USER WorkingDirectory=$HOME/.fuelsequencer ExecStart=$(which fuelsequencerd) start --home $HOME/.fuelsequencer Restart=on-failure RestartSec=5 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload sudo systemctl enable fuelsequencerd sudo systemctl restart fuelsequencerd && sudo journalctl -u fuelsequencerd -fo cat
8. Запуск Sidecar
Для запуска Sidecar в фоне используйте сервисную настройку через systemd.
sudo tee /etc/systemd/system/sidecard.service > /dev/null <<EOF
[Unit]
Description=Sidecar
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.fuelsequencer
ExecStart=$HOME/go/bin/fuelsequencerd start-sidecar \
--host "0.0.0.0" \
--sequencer_grpc_url "127.0.0.1:9090" \
--eth_ws_url "ws://127.0.0.1:8546" \
--eth_rpc_url "http://127.0.0.1:8545" \
--eth_contract_address "0xBa0e6bF94580D49B5Aaaa54279198D424B23eCC3"
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOFПерезагрузите systemd и запустите сервис:
sudo systemctl daemon-reload sudo systemctl enable sidecard sudo systemctl restart sidecard && sudo journalctl -u sidecard -fo cat
Теперь ваш Sequencer и Sidecar настроены и работают в фоновом режиме!
Запуск валидатора Fuel
1. Создание кошелька
Для работы валидатора потребуется адрес Sequencer. Создать новый кошелек можно с помощью команды:
fuelsequencerd keys add <ИМЯ>
Либо восстановить из мнемонической фразы:
fuelsequencerd keys add <ИМЯ> --recover
После выполнения команды появится адрес вида fuelsequencer1l7qk9umswg65av0zygyymgx5yg0fx4g0dpp2tl и мнемоническая фраза. Сохраните её в безопасном месте!
Генерация Ethereum-совместимого адреса
Чтобы получить совместимый с Ethereum адрес, выполните команду:
fuelsequencerd keys parse <АДРЕС>
bytes: FF8162F37072354EB1E222084DA0D4221E93550F human: fuelsequencer
Добавьте 0x перед bytes, и получите нужный адрес:
0xFF8162F37072354EB1E222084DA0D4221E93550F
2. Пополнение аккаунта
Для работы валидатора необходимо пополнить аккаунт FUEL-токенами и ETH для оплаты газовых комиссий.
- FUEL Token:
0x675B68AA4d9c2d3BB3F0397048e62E6B7192079c - Sequencer Interface (Bridge):
0xca0c6B264f0F9958Ec186eb2EAa208966187D866
Перед пополнением кошелька необходимо разрешить Fuel Token Contract проводить транзакции. Для этого:
- Откройте Etherscan контракт FUEL-токена.
- Используйте функцию
approve (0x095ea7b3). - В поле Spender (адрес) введите:
0xca0c6B264f0F9958Ec186eb2EAa208966187D866. - В поле Value (uint256) укажите количество токенов, добавляя 9 дополнительных нулей.
Бриджинг токенов (перевод на Sequencer)
- Откройте Sequencer Interface (Bridge) на Etherscan.
- Подключите Ethereum-кошелек (нажмите Connect to Web3).
- Используйте функцию
depositFor (0x36efd6f). - В поле Amount (uint256) введите количество токенов, добавляя 9 нулей.
- В поле Recipient address вставьте ваш Ethereum-совместимый адрес (например,
0xFF8162F37072354EB1E222084DA0D4221E93550F). - Нажмите Write, подтвердите транзакцию.
Транзакция займет около 20 минут.
Проверка баланса
После завершения перевода, проверьте баланс в блок-эксплорере, введя ваш Sequencer-адрес.
3. Создание валидатора
Для этого потребуется минимум 1 FUEL, а также дополнительные токены для оплаты комиссий.
Создание конфигурации валидатора
Создайте файл validator.json и добавьте в него:
{
"pubkey": {"@type":"/cosmos.crypto.ed25519.PubKey","key":"<PUBKEY>"},
"amount": "1000000000fuel",
"moniker": "<ИМЯ_ВАЛИДАТОРА>",
"identity": "<ОПЦИОНАЛЬНО>",
"website": "<ВАШ САЙТ>",
"security": "<ВАШ EMAIL>",
"details": "<ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ>",
"commission-rate": "0.05",
"commission-max-rate": "0.10",
"commission-max-change-rate": "0.01",
"min-self-delegation": "1"
}Получение публичного ключа
fuelsequencerd tendermint show-validator
Скопируйте ключ и вставьте его в поле pubkey в validator.json.
Запуск команды для создания валидатора
fuelsequencerd tx staking create-validator path/to/validator.json \
--from <ИМЯ_КОШЕЛЬКА> \
--gas auto \
--gas-prices 10fuel \
--gas-adjustment 1.5 \
--chain-id seq-mainnet-1