Skip to main content

Helium Blockchain Primitives

This page has not been fully updated to represent the latest state of the Helium Network following the migration to Solana on April 18, 2023.

Below are some of the larger components and concepts of the Helium blockchain.

Blocks

Blocks are used to record the most recent set of transactions in the Helium blockchain. Blocks are mined based on time, as defined in the block_time chain variable. The current target block time is 60000 milliseconds (or 60 seconds). During any given epoch, the most recent block consists of:

  • Block Version
  • Block Height
  • Previous Block Hash
  • Transactions (stored as a Merkle hash)
  • Threshold signature from the current consensus group

The easiest way to see the blocks being mined is with the Helium Blockchain Explorer. The Helium Mobile App also shows block details. Developers can also use the Helium blockchain API to access all blockchain transactions and metadata.

Chain Variables

Chain Variables, often referred to as chain vars, are a series of configuration settings for the Helium blockchain. Chain Variables can be used to change things like target block time, target epoch time, the minimum number of targets in a PoC Challenge, and much more. Chain Variables can be altered by submitting a transaction containing the chain variable to be changed, its new value, and a signature of the chain variable master key.

A full list of chain vars and their current values can be found here.

Accounts, Wallets, and Keys

The Helium blockchain uses an account-based system for wallets and balances (similar to Ethereum and others) as opposed to a UTXO-based ledger like Bitcoin blockchain. Users have several options for creating Helium wallets and managing their private keys:

  • If you’re using the Helium Mobile Wallet (iOS, Android), your private key is encrypted locally (and can be recreated on another mobile device using the 12 word passphrase generated when your wallet was first created);
  • Using the Helium CLI Wallet, users are responsible for creating, storing, and securing a wallet’s private key and associated passphrase;

Both the Helium Mobile Wallet and the CLI Wallet create and use keys based on the ed25519 public key signature system. The CLI can also support NIST p-256 keys. And the Helium blockchain supports both key types.

To learn more about existing wallet solutions, check out our section on wallets.