Skip to main content

Solana Introduction

Major Milestones

  • Available on Solana devnet for testing [Complete]
  • sec3 Smart Contract Audit [Complete]
  • Mainnet Launch [Soon™]

Migration Process Steps

The migration to Solana will take place on April 18, 2023 beginning at 9am PST. The team is holding a 48 hour window to complete the migration. Hotspots and LoRaWAN devices will continue to operate throughout the migration window.

  1. The Helium blockchain will officially halt.
  2. A snapshot will be taken of Helium chain state.
  3. Existing $HNT and $MOBILE will be mapped to Solana. Hotspots will be minted as NFTs.
  4. During the Migration, PoC and Data Transfer will continue to function through the offchain Oracle, rewards will be claimable after the transition phase (estimated 24-48 hours) is complete.
  5. Users and Exchanges can access their assets using the same private key on Solana (Solana and Helium blockchain use the same ed25519 encryption algorithm.)
  6. Programmatic Treasury is planned to be 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.

Hotspot NFTs and Token Management

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.

Program Audits

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, like hotspots and mappers.

helium_sub_daos

  • Program ID: hdaoVTCqhfHHo75XdAMxBKdUqvq1i5bF23sisBqVgGR
  • Manages the DAO/SubDAO structure proposed in HIP-51, including the minting of tokens to subdaos, 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 (like 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 guarentees all txs are executed exactly once.

treasury_management

  • Program ID: treaf4wWBBty3fHdyBpo35Mz84M8k3heKXmjmi9vFt5
  • Mangages the treasury of each SubDAO 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)

NameDescription
@helium/circuit-breaker-sdkSDK to circuit breaker program
@helium/data-credits-sdkSDK to the data credits program
@helium/distributor-oracleSDK for interacting with the lazy-distributor oracles to claim rewards
@helium/helium-entity-manager-sdkSDK to the Helium entity manager program
@helium/helium-sub-daos-sdkSDK to Helium sub daos program
@helium/idlsIDLs containing the typescript definitions for the raw anchor SDKs of our programs
@helium/lazy-distributor-sdkSDK to the lazy distributor program
@helium/lazy-transactions-sdkSDK to lazy transactions program
@helium/spl-utilsGeneral utils for interacting with Solana, tokens, etc
@helium/treasury-management-sdkSDK to the treasury management program
@helium/voter-stake-registry-sdkSDK to the voter stake registry program

All the tokens are on the TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA Program.

The mint IDs are as follows:

NameID
HNThntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux
MOBILEmb1eu7TzEc71KxDpsmsKoucSSuuoGLv1drys1oP2jh6
IOTiotEVVZLEywoTn1QdwNPddxPWszn3zFhEot3MfL9fns
DCdcuc8Amr83Wz27ZkQ2K9NS6r8zRpf1J6cvArEBDZDmm