Solana Introduction
Major Milestones
- Available on Solana devnet for testing [Complete]
- sec3 Smart Contract Audit [Complete]
- Mainnet Launch [Complete]
Migration Process Steps
The migration to Solana took place on April 18, 2023, beginning at 9am PST. The team held a 48-hour window to complete the migration. Hotspots and LoRaWAN devices continued to operate throughout the migration window.
- The Helium blockchain officially halted.
- A snapshot was taken of Helium chain state.
- Existing $HNT and $MOBILE were mapped to Solana. Hotspots were minted as NFTs.
- During the Migration, PoC and Data Transfer continued to function through the off-chain Oracle, rewards were claimable after the transition phase (estimated 24-48 hours) was complete.
- Users and Exchanges can access their assets using the same private key on Solana (Solana and Helium blockchain use the same ed25519 encryption algorithm.)
- Programmatic Treasury was activated in 2023 Q2, users will be able to convert $MOBILE and $IOT into $HNT on chain at that time.
Migration Guides
As part of the Helium blockchain migration to Solana, there are some changes to existing Helium Wallets and Applications for users to be aware of.
Complete migration guides have been written for different users of Helium.
The Helium Network move to the Solana blockchain will result in all Hotspots automatically becoming Solana NFTs which, along with the Helium Network Tokens (HNT, IOT, and MOBILE), can be viewed in the Helium Wallet app.
Helium Programs on Solana
The code for all of these Programs is open source, and available in the helium-program-library repository on Github.
The Helium Programs have been audited by sec3. The audit report was published March 20, 2023. The audit report is available from sec3 on their GitHub reports repo.
circuit_breaker
- Program ID:
circAbx64bbsscPbQzZAUvuXpHqrCe6fLMzc2uKXz9g
- Generic program wrapping sensitive mint authorities and token accounts in the Helium system to prevent large movements in the case of an exploit or bug.
data_credits
- Program ID:
credMBJhYFzfn7NxBMdU4aUqFggAjgztaCcv2Fo6fPT
- Manages the purchase, delegation, and burning of data credits.
helium_entity_manager
- Program ID:
hemjuPXBpNvggtaUnN1MwT3wrdhttKEfosTcc2P9Pg8
- Handles the issuance of NFTs representing entities that are rewardable on the Helium network, such as Hotspots and mappers.
helium_sub_daos
- Program ID:
hdaoVTCqhfHHo75XdAMxBKdUqvq1i5bF23sisBqVgGR
- Manages the DAO/subnetwork structure proposed in HIP-51, including the minting of tokens to
subnetworks, HST holders, and the
lazy_distributor
for PoC earnings.
lazy_distributor
- Program ID:
1azyuavdMyvsivtNxPoz6SucD18eDHeXzFCUPq5XU7w
- Allows off-chain Oracles to distribute PoC rewards to rewardable assets (such as Hotspots) that are represented as NFTs.
lazy_transactions
- Program ID:
1atrmQs3eq1N2FEYWu6tyTXbCjP4uQwExpjtnhXtS8h
- Used in the initial migration to Solana, this program allows compressing many transactions into a merkle root to be executed lazily. This guarantees all transactions are executed exactly once.
treasury_management
- Program ID:
treaf4wWBBty3fHdyBpo35Mz84M8k3heKXmjmi9vFt5
- Manages the treasury of each subnetwork as proposed in HIP-51, allowing DNT tokens to be swapped for HNT according to a formula.
voter_stake_registry
- Program ID:
hvsrNC3NKbcryqDs2DocYHZ9yPKEVzdSjQG6RVtK1s8
- Handles voting power via veHNT in Helium Governance.
Packages (JS/Typescript)
Name | Description |
---|---|
@helium/circuit-breaker-sdk | SDK to circuit breaker program |
@helium/data-credits-sdk | SDK to the data credits program |
@helium/distributor-oracle | SDK for interacting with the lazy-distributor oracles to claim rewards |
@helium/helium-entity-manager-sdk | SDK to the Helium entity manager program |
@helium/helium-sub-daos-sdk | SDK to Helium sub daos program |
@helium/idls | IDLs containing the typescript definitions for the raw anchor SDKs of our programs |
@helium/lazy-distributor-sdk | SDK to the lazy distributor program |
@helium/lazy-transactions-sdk | SDK to lazy transactions program |
@helium/spl-utils | General utils for interacting with Solana, tokens, etc |
@helium/treasury-management-sdk | SDK to the treasury management program |
@helium/voter-stake-registry-sdk | SDK to the voter stake registry program |
Important Addresses and Links
All the tokens are on the TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA
Program.
The mint IDs are as follows:
Name | ID |
---|---|
HNT | hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux |
MOBILE | mb1eu7TzEc71KxDpsmsKoucSSuuoGLv1drys1oP2jh6 |
IOT | iotEVVZLEywoTn1QdwNPddxPWszn3zFhEot3MfL9fns |
DC | dcuc8Amr83Wz27ZkQ2K9NS6r8zRpf1J6cvArEBDZDmm |