Інтеграція з Helium Network на Solana: розробка та підключення IoT

Інтеграція з Helium Network на Solana: розробка та підключення IoT Helium — не просто IoT-мережа з токенами. Після міграції на Solana архітектура радикально змінилася: тепер це набір subDAO з Helium Program Library (HPL), а не окрема L1. Ми стикалися з цим розривом, коли клієнти приходили з задач

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

Часті запитання

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

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

Інтеграція з 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 транзакціями:

  1. Створення Maker account — виробник пристрою отримує Maker NFT, стейкає HNT
  2. Issue hotspot — мінтінг cNFT для конкретного пристрою через issue_entity
  3. Assert location — прив'язка H3 геохеша до хотспота (коштує DC)
  4. 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