
Migrating the consensus group of the Helium blockchain from hosted hotspots to validators is a major upgrade for scalability and performance From a foundation perspective, we would like to see diversity and decentralization of the Helium validator optimized infrastructure , which is why we are delighted that Akash is joining the Helium ecosystem. Not only are their performance and cost structures attractive to node operators, but their decentralized cloud aligns with our own ethos of creating permissionless and open systems.
— Scott Sigel is Director of Operations at the Decentralized Wireless Alliance, the non-profit foundation arm of the Helium Network
Today, we are pleased to announce that we have been selected to support the largest peer-to-peer wireless Internet of Things (IoT) network - the Helium Network, and provide a decentralized, open-source and low-cost cloud alternative for Helium's new blockchain validators The program is expected to be launched in June 2021.
Validators will play an integral role in the expansion, stability and success of the Helium network, acting as consensus groups, performing functions including validating transactions and adding new blocks to the blockchain.
Akash Network is proud to provide a faster, more efficient, and low-cost deployment and hosting solution for the Helium validator software.
As part of today's announcement, I'll share how I learned to run a Helium validator on Akash, along with a detailed deployment guide.
How I Learned to Run a Helium Validator on Akash in a Day。
Some people can dive into a file and figure things out in an hour, but for someone like me, it can take a whole day. Fortunately, this post covers the detailed process of deploying a Helium validator on the Akash Decentralized Cloud (DeCloud). At the end of the day, you will have a Helium validator atAkashDeCloud - and you don't need to be a developer to do it.
If you already know about Helium validators, please skip to the technical steps section.
text
Today, the Helium blockchain and its30,000+ hotspotsProvides access to the world's largest Long Range Wide Area Network (LoRaWAN). By deploying a simple device in your home or office, you are helping billions of devices provide network coverage and earn cryptocurrency.
Helium started in 2013; MIT calls 2013The Year of the Internet of Things. That was the early days, when people still called it"IoT". Helium's innovative LongFi technology is based on the IEEE 802.15.4 standard with improvements in enhanced security, increased bandwidth and simplified use. In 2014, I signed up for the Helium Beta Kit, and I still have my original Helium Atom. Vice President of HeliumMark PhillipsEven emailed me directly asking me to do some beta testing. It feels special to be a part of something new.
The Helium blockchain and HNT were launched in 2019, triggering massive growth of the Helium network. If you are one of the early adopters and you are already mining HNT, the rewards for it will likely far outweigh the cost of the hotspot. Hotspots use Proof of Coverage (PoC) to verify peers' wireless coverage and earn rewards for providing coverage and transmitting device data. In the right neighborhood, a Helium hotspot can earn over $12,000 in monthly HNT mining rewards.
New partners and customers are entering Helium's network, includingFreedomFiThe Helium 5G network, which pays people to host 5G hotspots, is rewarded with HNT.
The Helium validator is just around the corner.
A Helium validator is a new entity on the Helium blockchain that will perform the work of the consensus group, including validating transactions and adding new blocks to the blockchain. Helium validator nodes are expected to go live on its mainnet in June 2021, or possibly earlier.
A stake (deposit) of 10,000 HNT is required to host a validator node and run the validator software in a corresponding environment. In return for staking, users contribute to network stability and receive rewards.
Comparison of node mining and hot spots
Validators share the rewards of the consensus group, which is the6% of mined HNT. Approximately 300,000 HNT are distributed equally to validators every month. The initial validator size is around 100 to 500. Those who join early will receive most of the reward of 300,000 HNT.
Compared to a Helium hotspot, the benefits are split evenly between the routers. There are currently more than 30,000 routers, and more routers are added to the network every day, reducing the individual gain of each router.
What is the APR for running a Helium validator?
This depends on the number of validators and how often a validator is randomly selected to participate in the consensus group. Helium's website describes estimated APR earnings assuming 10,000 HNT per node.
Why run on Akash?
Akash is the first open source and decentralized cloud. Akash's peer-to-peer marketplace provides developers with the most flexible and affordable options for deploying their applications.
efficient: Pay As You Need Akash lets you set the price, lease length, and deployment terms.
flexible: Compatible with all existing cloud applications. The Akash Network enables general purpose computing - any cloud-native application that runs on the cloud today (AWS, Google Cloud, Microsoft Azure), can run on Akash.
price advantageanti-censorship
anti-censorshipopen source
open source: Designed by some of the world's top developers for"Builders". Akash is a community-driven open source project that allows anyone to contribute.
With advanced containerization technology and a unique staking model to accelerate adoption, Akash will be a faster, more efficient, and up to 10x less costly cloud platform.
How to run a Helium validator on Akash
This section comes from Tom Beynon'sHelium-on-AkashProject and HeliumValidator Deployment Guide. Feel free to join if you run into any issues or have feedbackAkash Discord Forumand ask me for help. My Discord name is @colinster.
Validator nodes are currently only available on Helium’s Testnet, a network designed to deploy and test beta versions of new software before launching on the mainnet (or production network). This means you will be deployed to Testnet before Mainnet goes live. This guide only reflects deployments to Testnet. This guide will be updated when validators are ready for mainnet.
step 1. Build a Helium testnet wallet
InstallHelium CLI Wallet. An easy way to download the latest binary release. here fromReleaseDownload the latest binary for your platform. Unzip the zip file and put the helium-wallet binary in your $PATH.
Once you have installed locallyHelium CLI Wallet, you can create your Testnet wallet. Run the following command to create it.
helium-wallet create basic--network testnet
You will be prompted to provide a new password to complete it. This is used to encrypt/decrypt the wallet.key file and is required to sign transactions. don't lose this backup
This command will generate a wallet.key file on your machine.
Next, run the info command to get all the details of your wallet.
helium-wallet info
step2. Get Testnet Tokens (TNT)
Staking is required to run a validator. The stake of each verification node is 10000 tokens. For Testnet we are using TNTs.
To get them, go tofaucet.helium.wtfand enter the public key from the wallet you just created. Use your public wallet address. If you copy and paste, the above TNT will be sent to someone else.
Once you enter your address, Faucet will provide over 10000 TNT to your Testnet wallet. This may take up to 10 minutes, so please be patient. Make a cup of coffee, send a compelling tweet, and check your wallet balance with the balance command.
helium-wallet balance
Step 3. Setting up an Akash mainnet wallet
Install Akash CLI. To install akash using homebrew, just type:
brew tap ovrclk/tap
brew install akash
brew link akash --force
Set the variable AKASH_NET to the URL of the Akash MainNet.You can also choose to deploy on Testnet or Edgenet.Enter the following command on your command prompt to set this variable.
AKASH_NET="https://raw.githubusercontent.com/ovrclk/net/master/mainnet"
Set the variable AKASH_VERSION to the URL of the Akash MainNet.
AKASH_VERSION="$(curl -s "$AKASH_NET/version.txt")"
Set the AKASH_CHAIN_ID environment variable.
AKASH_CHAIN_ID="$(curl -s "$AKASH_NET/chain-id.txt")"
Set the AKASH_NODE environment variable.
AKASH_NODE="$(curl -s "$AKASH_NET/rpc-nodes.txt" | shuf -n 1)"
Set the variable AKASH_KEY_NAME to the Key name of your choice. This document uses the"alice "value.
Set the variable AKASH_KEYRING_BACKEND to use for the Keyring backend for local keys. This should be os (default), file or test.
A new private key is derived and encrypted to disk using the keys add command. To generate a key named alice, run the following program.
akash \
--keyring-backend "$AKASH_KEYRING_BACKEND" \
keys add "$AKASH_KEY_NAME"
You'll see a response similar to the one below.
- name: alice
type: local
address: akash1cz87pqkad72gggrv3t7y2x9z56h9gqghlnx3j3
pubkey: akashpub1addwnpepqtnydvj056gy**uuquldq5yx7mr8ncmn3ut59wwl9p83d8h2v4rtg5xa3vn
mnemonic: ""
threshold: 0
pubkeys: []
**IMPORTANT NOTE** Write down your seed phrase and keep it in a safe place. If you forget your password, the seed phrase is the only way to recover your account.
town wolf margin parrot strong disease dance eyebrow inflict meadow crunch version tube elite interest movie uphold column shift fox excuse humble nest call
IMPORTANT NOTE: You must keep your seed phrase in a safe place, it is the only way to recover your account if you change or lose your device.
Use this command to find your account address.
akash \
--keyring-backend "$AKASH_KEYRING_BACKEND" \
keys show "$AKASH_KEY_NAME" -a
Step 4. Get Akash Tokens
exchangeexchangeBuy. From there you can withdraw coins to your address.
Another easy way to earn Akash tokens is to join Akash'sDiscord chat room, ask me directly for help. My Discord name is @colinster.
Check your account balance with the following CLI command.
akash \
--node "$AKASH_NODE" \
query bank balances "$AKASH_ACCOUNT_ADDRESS"
Step 5. Configure your deployment file
The easiest way to deploy a Helium validator is to use Akash's deployment profile template. Download from GitHubHelium-on-Akash, which includes three important files.
Dockerfile - Installs the AWS CLI inHelium validator docker imageabove, and set boot.sh to run when the container starts.
boot.sh - This script instructs the docker container to download the swarm_key from S3 (if it exists), start mining and print the address. Then it uploads the swarm_key if it has not downloaded it before (new miner).
deploy.yml - The deployment configuration is stored in the deploy.yml file, which includes all important information, including CPU, memory, storage, port configuration
Enter your S3 bucket and IAM credentials in the env section. These settings will allow the container to connect to your S3 bucket and upload/download the swarm_key on startup.Click here for step-by-step instructions on how to set up your S3 bucket.
If you already have a swarm_key, make sure the key is uploaded to S3 at the same location as S3_KEY_PATH.
image: tombeynon/helium-on-akash:v0.0.3
env:
— AWS_ACCESS_KEY=mykey
— AWS_SECRET_KEY=mysecret
— S3_KEY_PATH=mybucket/miner1/swarm_key
step6. Deploy on Akash
you can followAkash Deployment GuideUse the Akash CLI or use Tom Beynon'sDeploy UIDeploy your validator on Akash.
After the container is deployed, once the server is up (it may take a while), check the logs to see your address. If your swarm_key didn't exist in S3 before, a new one should have been uploaded. Subsequent deployments using the same S3 details will now use the same swarm_key.
Step 7: Stake tokens to your validator
Now that your validator node is running, the final step in the process is to officially stake TNT to your validator. As part of the staking process, validators' addresses need to both be present in the staking transaction and sign the transaction.
After a wallet stakes a validator node, the wallet becomes the owner of the node, has control over the validator node, and receives rewards.
First, double-check your wallet balance to make sure you have the 10,000 TNT required to stake, plus some additional transaction fees. (Tap provides it all.)
helium-wallet balance
+-----------------------------------------------------+----------------+--------------+-----------------+
| Address | Balance | Data Credits | Security Tokens |
+-----------------------------------------------------+----------------+--------------+-----------------+
|1aP7nm6mGLMFtgiHQQxbPgKcBwnuQ6ehgTgTN8zjFuxByzJ8eA5 | 10005.00000000 | 0 | 0.00000000 |
+-----------------------------------------------------+----------------+--------------+-----------------+
In order to stake tokens, we need to obtain validator node addresses. Obtained using:
miner peer addr
The resulting output will look something like this (except for your specific validator address). The string after /p2p/ is your Validator address:
/p2p/1YwLbGTCEhVbwKEehRVQRC8N3q35ydXTH1B6BQys5FB1paHssdR
Now we can use this address and the Helium Wallet CLI validators stake command to officially stake the required 10000 TNT.
The following is the complete command for the Validator address above as an example. (make sure you replace it with yours)
helium-wallet validators stake 1YwLbGTCEhVbwKEehRVQRC8N3q35ydXTH1B6BQys5FB1paHssdR 10000 --commit
After running, you need to enter your wallet password to sign the transaction.
That's it, you're done.
Congratulations! You are running a validator for the Helium network.
Don't miss the latest Akash news!
Join us on TelegramGet the latest news, giveaways, and invitations to special events!
Join our Discord developer chat, for technical support and information.