Розгортання ноди Avalanche

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розгортання ноди Avalanche
Середній
від 1 дня до 3 днів
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1308
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1221
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    921
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1149
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    611
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    886

Розгортування ноди Avalanche

Avalanche — не одна мережа, а три взаємопов'язані цепи плюс механізм Subnets для кастомних блокчейнів. Перед розгортуванням ноди розумійте, навіщо вона потрібна: для взаємодії з C-Chain (EVM-сумісна, там весь DeFi), P-Chain (platform, управління валідаторами та Subnets), X-Chain (UTXO, обмін активів), або для валідації власного Subnet.

AvalancheGo: єдиний клієнт для всіх цепей

Ноди Avalanche працюють через AvalancheGo — офіційний Go-клієнт. Один процес обробляє всі три цепи одночасно.

Системні вимоги

Тип CPU RAM Disk Bandwidth
Full node (non-validator) 8 ядер 16 GB 1 TB SSD 25 Mbps
Validator 8+ ядер 16 GB 1 TB SSD 25+ Mbps
Archive (C-Chain) 8+ ядер 32 GB 4+ TB NVMe 25 Mbps

C-Chain archive node зберігає повну історію EVM стану — потрібна для історичних eth_call та debug_traceTransaction.

Встановлення

# Офіційний install скрипт
curl -sSfL https://raw.githubusercontent.com/ava-labs/avalanche-docs/master/scripts/avalanchego-installer.sh \
  | sh -s -- --ip dynamic --rpc-port 9650 --http-host 0.0.0.0

# Або вручну
VERSION=$(curl -s https://api.github.com/repos/ava-labs/avalanchego/releases/latest \
  | jq -r .tag_name)
wget "https://github.com/ava-labs/avalanchego/releases/download/${VERSION}/avalanchego-linux-amd64-${VERSION}.tar.gz"
tar xvf avalanchego-linux-amd64-${VERSION}.tar.gz

Конфігурація

// ~/.avalanchego/configs/node.json
{
  "network-id": "mainnet",
  "http-host": "127.0.0.1",
  "http-port": 9650,
  "staking-port": 9651,
  "db-dir": "/data/avalanchego",
  "log-level": "info",
  "log-dir": "/var/log/avalanchego",
  
  // Тільки якщо потрібен публічний RPC
  "http-allowed-hosts": "your-domain.com,localhost",
  
  // Для C-Chain archive mode
  "chain-config-dir": "/data/avalanchego/configs/chains"
}
// /data/avalanchego/configs/chains/C/config.json
{
  "eth-apis": ["eth","eth-filter","net","web3","internal-eth","internal-blockchain","internal-transaction"],
  "pruning-enabled": false,  // archive mode
  "tx-lookup-limit": 0,
  "snapshot-async": true,
  "rpc-gas-cap": 50000000,
  "rpc-tx-fee-cap": 100
}

Systemd unit

[Unit]
Description=AvalancheGo Node
After=network.target

[Service]
User=avalanche
ExecStart=/home/avalanche/avalanche-node/avalanchego \
  --config-file=/home/avalanche/.avalanchego/configs/node.json
Restart=always
RestartSec=10
LimitNOFILE=65536
StandardOutput=append:/var/log/avalanchego/node.log
StandardError=append:/var/log/avalanchego/error.log

[Install]
WantedBy=multi-user.target

Синхронізація та bootstrapping

AvalancheGo використовує state sync (не повний replay з genesis) — нода завантажує актуальний стан з пирів. Час синхронізації: 2–6 годин для full node, 12–24 години для archive.

Моніторимо прогрес:

# Статус bootstrapping
curl -X POST --data '{"jsonrpc":"2.0","id":1,"method":"info.isBootstrapped","params":{"chain":"C"}}' \
  -H 'Content-Type: application/json' \
  http://127.0.0.1:9650/ext/info

# Відповідь: {"result":{"isBootstrapped":true},...} — нода готова

Валідатор: вимоги та стейкинг

Для запуску валідатора потрібен мінімальний стейк 2000 AVAX (на mainnet, ~$60k за цінами 2024). Вимога uptime — 80%: якщо нода падає часто, втрачаєте вознаграждення за валідацію.

# Отримуємо Node ID для стейкинга
curl -X POST --data '{"jsonrpc":"2.0","id":1,"method":"info.getNodeID"}' \
  -H 'Content-Type: application/json' \
  http://127.0.0.1:9650/ext/info

# Використовуємо Node ID при додаванні валідатора через P-Chain
# через гаманець core.app або Ledger

Для валідатора staking port (9651) має бути відкритий публічно — обов'язково для P2P.

Subnet: кастомна блокчейн-мережа

Subnet — це кастомна цепь з власними правилами валідації, VM, токеном для gas. Subnet валідатори повинні також валідувати Primary Network (той же стейк 2000 AVAX).

# Встановлення Avalanche CLI для роботи з Subnets
curl -sSfL https://raw.githubusercontent.com/ava-labs/avalanche-cli/main/scripts/install.sh | sh

# Створення нового Subnet з EVM (сумісною з Ethereum)
avalanche subnet create mySubnet
# Вибираємо: SubnetEVM, налаштовуємо chainId, gas token, genesis

# Деплой на testnet (Fuji)
avalanche subnet deploy mySubnet --fuji

SubnetEVM — форк go-ethereum, адаптований під Avalanche. Підтримує всі EVM-інструменти: MetaMask, Hardhat, Foundry — потрібно тільки додати кастомний RPC endpoint.

Моніторинг ноди

# Вбудовані метрики через API
curl http://127.0.0.1:9650/ext/metrics
# Prometheus-сумісний формат

Grafana dashboard: github.com/ava-labs/avalanchego-grafana.

Ключові метрики:

  • avalanche_{chainID}_handler_chits_sum — швидкість консенсусу
  • avalanche_network_peers — кількість пирів (норма >50)
  • avalanche_{chainID}_vm_eth_rpc_duration_* — RPC latency
  • Disk I/O — C-Chain під навантаженням агресивно читає/пише storage