Skip to content
This repository has been archived by the owner on Feb 28, 2023. It is now read-only.

synfinatic/helium-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Helium Analysis

Some simple tools for optmizing your Helium hotspot antenna and location by exmaining your PoC signals (beacons & witnesses).

What?

Creates pretty graphs of PoC hotspot activity. Here are a few examples:

Beacon total witness count over time:

Witness report showing valid/invalid and based on distance:

Drill down graph for two hotspots talking to each other:

Detailed graph information.

Installation

You can grab a precompiled binary or build it yourself.

To build the binary:

  1. Make sure you have Golang installed.
  2. Clone the repo
  3. Run: make using GNU Make (not BSD make). Your binary will be placed in the dist directory.

Running

helium-analysis has built in help for commands via the -h flag. For the most up-to-date information on how to use helium-analysis run ./helium-analysis -h.

Commands

  • graph - Generate graphs for a hotspot
  • hotspots - Manage the hotspot cache
  • challenges - Manage the challenge data for hotspots
  • names - Show hotspot name to address mappings
  • version - Display version information

Overview

helium-analysis uses a database (default file is helium.db) to store all of hotspot and challenge data necessary to generate the graphs. To avoid over-loading the Helium API servers, graphs are generated only using the data stored in the database. In order to populate the database you should run:

  1. helium-analysis hotspots refresh -- Load the metadata for all of the Helium hotspots.
  2. helium-analysis challenges refresh <address> -- Load the challenges for a given hotspot. Warning: this can take 10 or more minutes! Do not interrupt the process or all downloaded data will be lost.
  3. helium-analysis graph <address> -- Generate graphs for the specified hotspot.

Note that you can specify the hotspot name OR address for the challenges and graph commands, but the address is recommended to avoid issues with name collisions.

Donate

If you find this useful, feel free to throw a few HNT my way: 144xaKFbp4arCNWztcDbB8DgWJFCZxc8AtAKuZHZ6Ejew44wL8z

License

Helium Analysis is Licensed under the GPLv3.