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

Інтеграція IoT-пристроїв з Helium Network після міграції на Solana — складне завдання: застаріла документація та нова архітектура HPL часто ставлять бізнес у глухий кут. Ми розробляємо та підключаємо пристрої до Helium під ключ, використовуючи актуальні стандарти Solana та досвід нашої команди. Результат — надійне рішення, яке масштабується разом із вашим бізнесом і супроводжується нами на всіх етапах.
Часті запитання

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

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

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1542
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1394
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1081
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1369
  • Розробка логотипу компанії B2B Advance
    Розробка логотипу компанії B2B Advance
    816
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1141