שילוב רשת Helium על Solana
Helium כבר אינה רק רשת IoT עם טוקנים. לאחר המעבר ל-Solana, הארכיטקטורה השתנתה מהותית: כעת מדובר בקבוצת subDAOs עם ספריית התוכניות של Helium (HPL), ולא ב-L1 נפרד. ראינו את הניתוק הזה כשלקוחות מגיעים עם משימה של "חיבור מכשירים ל-Helium": התיעוד מיושן, דוגמאות הקוד כתובות לבלוקצ'יין הישן, והארכיטקטורה החדשה של HPL דורשת הבנה של מודל החשבונות של Solana. ניסיון השילוב שלנו עוזר להימנע מטעויות נפוצות ומאיץ את הפריסה. אנו מפתחים פתרונות בלוקצ'יין כבר למעלה מ-5 שנים, ו-Helium הוא אחד הנושאים הנפוצים ביותר בפרויקטי IoT.
ארכיטקטורה לאחר המעבר ל-Solana
תוכניות HPL מרכזיות
Helium פועלת באמצעות שלוש תוכניות on-chain עיקריות:
helium_entity_manager — מנהלת את ה-NFTs של נקודות הגישה (ENTITY). כל נקודת גישה לאחר המעבר היא NFT דחוס (cNFT) לפי תקן Metaplex Bubblegum. זה חשוב: NFTs מסוג Merkle אינם מאוחסנים בחשבונות טוקן רגילים — מצבם מוכח באמצעות הוכחת Merkle. שימוש ב-cNFTs במקום NFTs רגילים מפחית את עלויות האחסון פי 10.
helium_sub_daos — מנהלת את הכלכלה של ה-subDAOs (IoT, MOBILE, ENERGY). תגמולים, מעברי תקופות, האצלה — הכל כאן.
data_credits — מנהלת את זיכויי הנתונים (DC). DC נשרף בעת העברת נתונים. קצב השריפה קבוע: $0.00001 לכל 24 בתים של מטען. לא ניתן להעביר DC — רק לשרוף אותו.
כיצד פועלת העברת נתונים
Устройство → Hotspot (LoRaWAN/5G) → Router/OUI → Data Credits сжигаются → Payload доставлен OUI (מזהה ייחודי ארגוני) — ישות on-chain שעליך לרשום כדי לנתב תעבורה. רישום OUI עולה 1,000,000 DC ($10) בתוספת הקצאה של 0.5% מסך יתרת ה-DC בחשבון הארגון. אם המשימה היא רק לשלוח נתונים ממכשירים ללא OUI משלך, קיימים שרתי רשת המופעלים על ידי הקהילה (מבוססי Chirpstack), אך אתה מאבד שליטה על כללי הניתוב ופרטיות הנתונים.
כיצד לרשום OUI ולהגדיר ניתוב?
תהליך רישום ה-OUI כולל מספר עסקאות on-chain: יצירת חשבון Maker, הקצאת HNT, קריאה ל-Устройство → Hotspot (LoRaWAN/5G) → Router/OUI → Data Credits сжигаются → Payload доставлен מתוכנית register_oui. לאחר מכן, עליך להגדיר את נתב החבילות כדי לקבל נתונים ממכשירים ספציפיים. הצוות שלנו מבטיח הגדרה נכונה של כללי הניתוב ושילוב עם ה-backend שלך.
שילוב: דפוסים מעשיים
עבודה עם Helium API ו-Oracles
לאחר המעבר, Helium הסירה את סייר הבלוקצ'יין וה-API שלה. הנתונים זמינים דרך:
- Solana RPC — ישירות, אך יש צורך לדעת את כתובות התוכניות ולפרק מבני Anchor.
- Oracles של Helium Foundation — שירותים off-chain לתביעות מיקום/תגמול.
-
data_creditsו-@helium/helium-react-hooks— ספריות רשמיות.
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, } } הצטרפות מכשיר חדש
הוספת נקודת גישה היא תהליך רב-שלבי עם מספר עסקאות on-chain:
- יצירת חשבון Maker — יצרן המכשיר מקבל Maker NFT ומקצה HNT.
- הנפקת נקודת גישה — הטבעת cNFT עבור המכשיר הספציפי דרך
@helium/spl-utils. - אישור מיקום — קשירת H3 geohash לנקודת הגישה (עולה DC).
- הגדרת נקודת גישה — העברת נתוני הגבר/גובה.
כל שלב דורש חתימות הן מה-maker והן מהבעלים. זו החלטה עיצובית של Helium למניעת ספאם של מכשירים.
שרת רשת מבוזר
אם בונים שרת רשת משלך (עבור IoT ארגוני), הערימה המומלצת:
- Chirpstack v4 — LNS בקוד פתוח, תומך בניתוב חבילות Helium.
- נתב חבילות Helium — שירות לניתוב חבילות LoRa (Rust, קוד פתוח).
- נקודת קצה gRPC — לקבלת חבילות 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" נתב החבילות משתמש במפתחות ED25519 לאימות — אותם מפתחות כמו צמד המפתחות של Solana (עקומת Ed25519), מה שמפשט את הניהול.
מדוע להפוך את חידוש זיכויי הנתונים לאוטומטי?
שאלה קריטית בייצור: כיצד להבטיח פעולה רציפה כאשר DC נשרף. תרחיש: יש לך 1000 חיישנים, כל אחד שולח נתונים כל 15 דקות → ~2.8 מיליון עסקאות ביום → ~2.8 מיליון 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 אינן מרוויחות תגמולים אמיתיים ואינן מופיעות בסייר הייצור. לפיתוח, אנו משתמשים בפקודה הבאה להגדרה:
# 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 והטבעת נקודות גישה. עם זאת, הדמיית העברת נתונים דרך שרת רשת דורשת הרצת מופע Chirpstack מקומי. הכנו תבנית docker-compose להקמה מהירה — צור קשר כדי לקבל אותה.מה כלול בשילוב
| רכיב | תיאור | לוח זמנים אופייני |
|---|---|---|
| רישום OUI | On-chain, הקצאה, כללי ניתוב | 1–2 שבועות |
| SDK להצטרפות נקודות גישה | תהליך מותאם ליצרנים | 2–3 שבועות |
| הגדרת שרת רשת | Chirpstack + נתב חבילות | 1–2 שבועות |
| ניהול DC | חידוש אוטומטי, ניטור | שבוע אחד |
| שילוב Solana | קריאת מצב, תביעות תגמול | 1–2 שבועות |
| ניטור | התראות על יתרת DC, תקינות מכשירים | שבוע אחד |
לוח הזמנים האופייני לשילוב הוא 3 עד 6 שבועות, תלוי במספר המכשירים ובדרישות שרת הרשת. קבל ייעוץ לפרויקט שלך — נעריך את ההיקף ונציע פתרון אופטימלי. מומחים מוסמכים עם למעלה מ-10 שילובים מוצלחים מבטיחים איכות.
מקור: תיעוד רשמי של Helium Foundation







