Интеграция с Helium Network на Solana
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-переходы, delegation — всё здесь.
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% времени на ручное управление.
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







