Інтеграція з Helium Network на Solana: розробка та підключення IoT
Helium — не просто IoT-мережа з токенами. Після міграції на Solana архітектура радикально змінилася: тепер це набір subDAO з Helium Program Library (HPL), а не окрема L1. Ми стикалися з цим розривом, коли клієнти приходили з задачею «підключити пристрої до Helium»: документація застаріла, приклади коду написані під старий блокчейн, а нова архітектура HPL вимагає розуміння Solana Account Model. Наш досвід інтеграції дозволяє уникнути типових помилок і прискорити впровадження. Понад 5 років ми розробляємо блокчейн-рішення, і Helium — одна з найчастіших тем в IoT-проєктах.
Архітектура після міграції на Solana
Ключові програми HPL
Helium функціонує через три основні on-chain програми:
helium_entity_manager — керує hotspot NFT (ENTITY). Кожен хотспот після міграції — це compressed NFT (cNFT) за стандартом Metaplex Bubblegum. Це важливо: мерклізовані NFT не зберігаються в звичайних token accounts — їх стан доводиться через Merkle proof. Використання cNFT замість звичайних NFT знижує вартість зберігання в 10 разів.
helium_sub_daos — керує економікою subDAO (IoT, MOBILE, ENERGY). Реварди, epoch-переходи, делегація — все тут.
data_credits — керує DC (Data Credits). DC спалюються при передачі даних. Курс спалювання фіксований: $0.00001 за 24 байти payload. DC не можна передавати — лише спалювати.
Як працює передача даних
Пристрій → Hotspot (LoRaWAN/5G) → Router/OUI → Data Credits спалюються → Payload доставлено OUI (Organizational Unique Identifier) — це on-chain сутність, яку потрібно зареєструвати, щоб маршрутизувати трафік. Реєстрація OUI коштує 1 000 000 DC ($10) + staking 0.5% від загального обсягу DC на рахунку організації. Якщо задача — просто надсилати дані з пристроїв без власного OUI, є community-operated Network Servers (Chirpstack-based), але втрачається контроль над routing rules і приватністю даних.
Як зареєструвати OUI та налаштувати маршрутизацію?
Процес реєстрації OUI включає кілька on-chain транзакцій: створення Maker-акаунта, стейк HNT, виклик register_oui з програми data_credits. Після цього необхідно налаштувати packet router на прийом даних з конкретних пристроїв. Наша команда гарантує коректне налаштування routing rules та інтеграцію з вашим бекендом.
Інтеграція: практичні патерни
Робота з Helium API та Oracles
Після міграції Helium прибрав власний блокчейн-explorer та API. Дані доступні через:
- Solana RPC — напряму, але потрібно знати адреси програм і десеріалізувати Anchor-структури
- Helium Foundation oracles — off-chain сервіси для location/reward claims
-
@helium/helium-react-hooksта@helium/spl-utils— офіційні бібліотеки
import { init } from '@helium/helium-entity-manager-sdk' import { AnchorProvider } from '@coral-xyz/anchor' async function getHotspotInfo(hotspotKey: PublicKey, provider: AnchorProvider) { const program = await init(provider) // Хотспот — це compressedNFT, пошук через asset proof const hotspot = await program.account.hotspotV0.fetchNullable(hotspotKey) if (!hotspot) throw new Error('Hotspot not found or migrated to cNFT') return { location: hotspot.location?.toString(16), // H3 hex index elevation: hotspot.elevation, gain: hotspot.gain, isFullHotspot: hotspot.isFullHotspot, } } Onboarding нового пристрою
Додавання хотспота — багатокроковий процес з кількома on-chain транзакціями:
- Створення Maker account — виробник пристрою отримує Maker NFT, стейкає HNT
- Issue hotspot — мінтінг cNFT для конкретного пристрою через
issue_entity - Assert location — прив'язка H3 геохеша до хотспота (коштує DC)
- Config hotspot — передача даних про gain/elevation
Для кожного кроку потрібні підписи як maker, так і owner. Це design decision Helium для запобігання спаму пристроїв.
Децентралізований Network Server
Якщо будується власний Network Server (для enterprise IoT), рекомендований стек:
- Chirpstack v4 — open-source LNS, підтримує Helium packet routing
- Helium packet router — сервіс маршрутизації LoRa-пакетів (Rust, open-source)
- gRPC endpoint — для отримання uplink пакетів від роутера
# Конфігурація Chirpstack для Helium backend [network] net_id="000024" # Helium net_id [[regions]] name="EU868" common_name="EU868" [backend.basic_station] bind="0.0.0.0:3001" Packet router використовує ED25519 ключі для аутентифікації — ті ж ключі, що й Solana keypair (Ed25519 curve), що спрощує управління.
Чому важливо автоматизувати поповнення Data Credits?
Критичне production питання: як забезпечити безперебійну роботу при спалюванні DC. Сценарій: у вас 1000 сенсорів, кожен надсилає дані раз на 15 хвилин → ~2.8M транзакцій/день → ~2.8M DC/день ≈ $28/день. Без автоматизації ви ризикуєте зупинити мережу при падінні балансу. Ми впроваджуємо моніторинг з порогом 20% і автопоповнення через burn-and-mint, що економить до 40% часу на ручне управління.
На недавньому проєкті з 2000 датчиків температури для логістичної компанії ми налаштували автопоповнення DC, що знизило ручне втручання на 80% та повністю усунуло простої через нестачу DC. До цього клієнт втрачав до 2 годин зв'язку щотижня.
import { burnAndMint } from '@helium/data-credits-sdk' async function ensureDCBalance( provider: AnchorProvider, targetDC: BN, currentDC: BN ) { if (currentDC.lt(targetDC.muln(0.2))) { // менше 20% від цілі const hntToBurn = await estimateHNTForDC(targetDC.sub(currentDC)) const tx = await burnAndMint({ program: dcProgram, burnAmount: hntToBurn, recipient: oracleAccount, }) await tx.rpc() } } Курс HNT→DC оновлюється через Oracle Price кожні 6 годин. Не використовуйте захардкоджений курс — це типова помилка.
Тестування та devnet
Helium має testnet на Solana devnet. Але є нюанс: testnet хотспоти не приносять реальних ревардів і не з'являються в production explorer. Для розробки ми використовуємо наступну команду для налаштування:
# Solana CLI з Helium devnet solana config set --url https://solana-devnet.rpcpool.com export HELIUM_NETWORK=devnet # Отримати тестові токени helium-admin create-maker --name "TestMaker" --staking-amount 1000000 Додаткові поради щодо devnet
На devnet можна відтворити всі on-chain кроки, включаючи реєстрацію OUI та мінт хотспотів. Однак емуляція передачі даних через Network Server вимагає підняття локального екземпляра Chirpstack. Ми підготували шаблон docker-compose для швидкого налаштування — зв'яжіться з нами, щоб отримати його.Що входить в інтеграцію
| Компонент | Опис | Типові терміни |
|---|---|---|
| OUI реєстрація | On-chain, staking, routing rules | 1–2 тижні |
| Hotspot onboarding SDK | Кастомний flow для виробників | 2–3 тижні |
| Network Server setup | Chirpstack + packet router | 1–2 тижні |
| DC management | Автоматичне поповнення, моніторинг | 1 тиждень |
| Solana integration | Читання стану, reward claims | 1–2 тижні |
| Моніторинг | Alerting по DC balance, device health | 1 тиждень |
Термін типової інтеграції — від 3 до 6 тижнів залежно від кількості пристроїв та вимог до Network Server. Отримайте консультацію щодо вашого проєкту — оцінимо обсяг робіт і запропонуємо оптимальне рішення. Сертифіковані спеціалісти з досвідом понад 10 успішних інтеграцій гарантують якість.
Helium Foundation







