This is the codebase for the Helium miner container used on the Nebra hotspot miners.
We take the base image created by Helium from their Quay repo (built from the GitHub source) and make some customisations to optimise it for use on our hardware including adding a start script and a script to automatically determine the regulatory region (EU868, US915 etc) from the asserted location of the miner.
In the start-miner.sh
script in this repo, you will see that we update the included sys.config file every time the miner container is loaded, using the below code:
wget \
-O "/opt/miner/releases/$HELIUM_GA_RELEASE/sys.config" \
"${OVERRIDE_CONFIG_URL:=https://helium-assets.nebra.com/docker.config}"
Our Helium block tracker automatically creates miner snapshots every ~240 blocks and at the same time also updates a docker.config
file located on our server with the block height and hash of the snapshot, enabling it to be ingested into the miner.
This enables our miners to sync extremely fast (called "instant sync" by some manufacturers) by downloading very up to date snapshots... ~240 blocks is considered synced to all intents and purposes and usually is close enough to being synced that it will already be able to submit transactions to the current consensus group. Note that this is worst case scenario - as the snapshot is updated every 4 hours - so it will often be more up to date than ~240 blocks (unless you are right at the end of a 4 hour period).
- Create a new branch
- Edit the first line of
Dockerfile
to point to the new GA release - Push and create a new PR
Mr Bump is a GitHub bot we created to automate some tasks related to the miner software. This includes updating the miner to the latest GA (and tagging / releasing this update) as well as updating the necessary docker-compose.yml
files.
Mr Bump is currently used in the following repos:
This repo automatically builds docker containers and uploads them to two repositories for easy access:
The images are tagged using the docker long and short commit SHAs for that release. The current version deployed to miners can be found in the helium-miner-software repo.