Skip to content
This repository was archived by the owner on Sep 10, 2024. It is now read-only.

Latest commit

History

608 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hotspot App

Helium hotspot app for iOS and Android built using React Native. For a list of issues and prioritization, please go to our Project page.

Get the app

Release versions of the app are available here:

Beta Versions of the app are available here:

What to expect in the new Hotspot App

Simplification

We've heard that the existing app can be overwhelming and cause undue stress and "doom scrolling". To fix this, the new app will prefer synthesized summaries over raw activity feeds to help users understand the network and their Hotspot better.

Visualization

We will use charts and graphs to explain mining performance over time, and maps to show your Hotspot in relation to others around you. We know witnesses matter, and we want to show you where they are.

Recommendation Engine

The new Hotspot app will include a recommendation engine which will suggest actionable steps users can take to improve the performance of their Hotspot.

Join us in Discord

Chat with the developers and the product team in the Helium Community Discord and look for the #hotspot-app-development channel.

App Designs

Coming soon!

Getting Started

React Native Dev Setup

If you have already set up react native on your machine, skip to the installing section.

React Native dependencies

You will need Node, Watchman, Yarn, the React Native command line interface, Android Studio, and Xcode.

While you can use any editor of your choice to develop your app, you will need to install Xcode and Android Studio in order to set up the necessary tooling to build your React Native app for iOS and Android.

A good free editor is Visual Studio Code.

Node, Watchman, Yarn

We recommend installing Node, Yarn, and Watchman using Homebrew. Run the following commands in a Terminal after installing Homebrew:

brew install node
brew install watchman
brew install yarn

If you have already installed Node on your system, make sure it is up to date with the LTS version.

Watchman is a tool by Facebook for watching changes in the filesystem. It is highly recommended you install it for better performance.

The React Native CLI

Node comes with npm, which lets you install the React Native command line interface.

Run the following command in a Terminal:

npm install -g react-native-cli

If you get an error like Cannot find module 'npmlog', try installing npm directly:

curl -0 -L https://npmjs.org/install.sh | sudo sh.

Xcode

The easiest way to install Xcode is via the Mac App Store. Installing Xcode will also install the iOS Simulator and all the necessary tools to build your iOS app.

If you have already installed Xcode on your system, make sure it is up to date.

Command Line Tools

You will also need to install the Xcode Command Line Tools. Open Xcode, then choose "Preferences..." from the Xcode menu. Go to the Locations panel and install the tools by selecting the most recent version in the Command Line Tools dropdown.

Java Development Kit

React Native requires the Java SE Development Kit (JDK). Download and install JDK 8 if needed.

Android development environment

Setting up your development environment can be somewhat tedious if you're new to Android development. If you're already familiar with Android development, there are a few things you may need to configure. In either case, please make sure to carefully follow the next few steps.

1. Install Android Studio

Download and install Android Studio. Choose a "Custom" setup when prompted to select an installation type. Make sure the boxes next to all of the following are checked:

  • Android SDK
  • Android SDK Platform
  • Performance (Intel ® HAXM)
  • Android Virtual Device

Then, click "Next" to install all of these components.

If the checkboxes are grayed out, you will have a chance to install these components later on. Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 28 SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 28 entry, then make sure the following items are all checked:

  • Google APIs
  • Android SDK Platform 28
  • Intel x86 Atom_64 System Image
  • Google APIs Intel x86 Atom_64 System Image

Next, select the "SDK Tools" tab and check the box next to "Show Package Details" here as well. Look for and expand the "Android SDK Build-Tools" entry, then make sure that 30-rc1, 29.0.3, and 28.0.3 are selected.

Finally, click "Apply" to download and install the Android SDK and related build tools.

3. Configure the ANDROID_HOME environment variable

The React Native tools require some environment variables to be set up in order to build apps with native code.

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

Installing

Environment Variables

  1. Copy the file .env.sample and rename it to .env.
  2. Once renamed update the values within the file.
  3. In order for maps to load you will need to create your own Mapbox access token.
  4. You will also need a Mapbox download token to build the Android app. See the Mapbox Docs on creating a token with Downloads:Read scope. This token needs to be exported as a system environment variable MAPBOX_DOWNLOAD_TOKEN on your machine.

Dependencies

Install 3rd party dependencies

yarn install

You also need cocoapods for iOS

sudo gem install cocoapods

Then install the pods for iOS (Not needed for Android)

yarn pod-install

If the app is not working you may want to clean your workspace and then follow the running the app section below

yarn clean-install
yarn clean-start

Running The App

iOS

The fastest way to run the app is on the iOS simulator. Just type:

yarn ios

Or for a release build:

yarn ios-release

You can also open the helium.xcworkspace file in the /ios folder using xcode and run the app on your device or any other simulator.

Android

Similar to iOS, run

yarn android

Or for a release build:

yarn android-release

You can also open the Android project in Android Studio by selecting open an existing project and selecting the /android folder.

Debugging

See React Native Debugging.

Recommended tools


Reactotron

The app is configured to use the Reactotron app which can be used to:

  • view your application state
  • show API requests & responses
  • perform quick performance benchmarks
  • subscribe to parts of your application state
  • display messages similar to console.log
  • track global errors with source-mapped stack traces including saga stack traces!
  • dispatch actions like a government-run mind control experiment
  • hot swap your app's state using Redux or mobx-state-tree
  • track your sagas
  • show image overlay in React Native
  • track your Async Storage in React Native

The latest version of Reactotron can be downloaded here

React Native Debugger

See React Native Debugger

About

Helium hotspot app for iOS and Android

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - pycom/hotspot-app: Helium hotspot app for iOS and Android · GitHub
Skip to content
This repository was archived by the owner on Sep 10, 2024. It is now read-only.

Latest commit

History

608 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hotspot App

Helium hotspot app for iOS and Android built using React Native. For a list of issues and prioritization, please go to our Project page.

Get the app

Release versions of the app are available here:

Beta Versions of the app are available here:

What to expect in the new Hotspot App

Simplification

We've heard that the existing app can be overwhelming and cause undue stress and "doom scrolling". To fix this, the new app will prefer synthesized summaries over raw activity feeds to help users understand the network and their Hotspot better.

Visualization

We will use charts and graphs to explain mining performance over time, and maps to show your Hotspot in relation to others around you. We know witnesses matter, and we want to show you where they are.

Recommendation Engine

The new Hotspot app will include a recommendation engine which will suggest actionable steps users can take to improve the performance of their Hotspot.

Join us in Discord

Chat with the developers and the product team in the Helium Community Discord and look for the #hotspot-app-development channel.

App Designs

Coming soon!

Getting Started

React Native Dev Setup

If you have already set up react native on your machine, skip to the installing section.

React Native dependencies

You will need Node, Watchman, Yarn, the React Native command line interface, Android Studio, and Xcode.

While you can use any editor of your choice to develop your app, you will need to install Xcode and Android Studio in order to set up the necessary tooling to build your React Native app for iOS and Android.

A good free editor is Visual Studio Code.

Node, Watchman, Yarn

We recommend installing Node, Yarn, and Watchman using Homebrew. Run the following commands in a Terminal after installing Homebrew:

brew install node
brew install watchman
brew install yarn

If you have already installed Node on your system, make sure it is up to date with the LTS version.

Watchman is a tool by Facebook for watching changes in the filesystem. It is highly recommended you install it for better performance.

The React Native CLI

Node comes with npm, which lets you install the React Native command line interface.

Run the following command in a Terminal:

npm install -g react-native-cli

If you get an error like Cannot find module 'npmlog', try installing npm directly:

curl -0 -L https://npmjs.org/install.sh | sudo sh.

Xcode

The easiest way to install Xcode is via the Mac App Store. Installing Xcode will also install the iOS Simulator and all the necessary tools to build your iOS app.

If you have already installed Xcode on your system, make sure it is up to date.

Command Line Tools

You will also need to install the Xcode Command Line Tools. Open Xcode, then choose "Preferences..." from the Xcode menu. Go to the Locations panel and install the tools by selecting the most recent version in the Command Line Tools dropdown.

Java Development Kit

React Native requires the Java SE Development Kit (JDK). Download and install JDK 8 if needed.

Android development environment

Setting up your development environment can be somewhat tedious if you're new to Android development. If you're already familiar with Android development, there are a few things you may need to configure. In either case, please make sure to carefully follow the next few steps.

1. Install Android Studio

Download and install Android Studio. Choose a "Custom" setup when prompted to select an installation type. Make sure the boxes next to all of the following are checked:

  • Android SDK
  • Android SDK Platform
  • Performance (Intel ® HAXM)
  • Android Virtual Device

Then, click "Next" to install all of these components.

If the checkboxes are grayed out, you will have a chance to install these components later on. Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 28 SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 28 entry, then make sure the following items are all checked:

  • Google APIs
  • Android SDK Platform 28
  • Intel x86 Atom_64 System Image
  • Google APIs Intel x86 Atom_64 System Image

Next, select the "SDK Tools" tab and check the box next to "Show Package Details" here as well. Look for and expand the "Android SDK Build-Tools" entry, then make sure that 30-rc1, 29.0.3, and 28.0.3 are selected.

Finally, click "Apply" to download and install the Android SDK and related build tools.

3. Configure the ANDROID_HOME environment variable

The React Native tools require some environment variables to be set up in order to build apps with native code.

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

Installing

Environment Variables

  1. Copy the file .env.sample and rename it to .env.
  2. Once renamed update the values within the file.
  3. In order for maps to load you will need to create your own Mapbox access token.
  4. You will also need a Mapbox download token to build the Android app. See the Mapbox Docs on creating a token with Downloads:Read scope. This token needs to be exported as a system environment variable MAPBOX_DOWNLOAD_TOKEN on your machine.

Dependencies

Install 3rd party dependencies

yarn install

You also need cocoapods for iOS

sudo gem install cocoapods

Then install the pods for iOS (Not needed for Android)

yarn pod-install

If the app is not working you may want to clean your workspace and then follow the running the app section below

yarn clean-install
yarn clean-start

Running The App

iOS

The fastest way to run the app is on the iOS simulator. Just type:

yarn ios

Or for a release build:

yarn ios-release

You can also open the helium.xcworkspace file in the /ios folder using xcode and run the app on your device or any other simulator.

Android

Similar to iOS, run

yarn android

Or for a release build:

yarn android-release

You can also open the Android project in Android Studio by selecting open an existing project and selecting the /android folder.

Debugging

See React Native Debugging.

Recommended tools


Reactotron

The app is configured to use the Reactotron app which can be used to:

  • view your application state
  • show API requests & responses
  • perform quick performance benchmarks
  • subscribe to parts of your application state
  • display messages similar to console.log
  • track global errors with source-mapped stack traces including saga stack traces!
  • dispatch actions like a government-run mind control experiment
  • hot swap your app's state using Redux or mobx-state-tree
  • track your sagas
  • show image overlay in React Native
  • track your Async Storage in React Native

The latest version of Reactotron can be downloaded here

React Native Debugger

See React Native Debugger

About

Helium hotspot app for iOS and Android

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - pycom/hotspot-app: Helium hotspot app for iOS and Android · GitHub
Skip to content
This repository was archived by the owner on Sep 10, 2024. It is now read-only.

Latest commit

History

608 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hotspot App

Helium hotspot app for iOS and Android built using React Native. For a list of issues and prioritization, please go to our Project page.

Get the app

Release versions of the app are available here:

Beta Versions of the app are available here:

What to expect in the new Hotspot App

Simplification

We've heard that the existing app can be overwhelming and cause undue stress and "doom scrolling". To fix this, the new app will prefer synthesized summaries over raw activity feeds to help users understand the network and their Hotspot better.

Visualization

We will use charts and graphs to explain mining performance over time, and maps to show your Hotspot in relation to others around you. We know witnesses matter, and we want to show you where they are.

Recommendation Engine

The new Hotspot app will include a recommendation engine which will suggest actionable steps users can take to improve the performance of their Hotspot.

Join us in Discord

Chat with the developers and the product team in the Helium Community Discord and look for the #hotspot-app-development channel.

App Designs

Coming soon!

Getting Started

React Native Dev Setup

If you have already set up react native on your machine, skip to the installing section.

React Native dependencies

You will need Node, Watchman, Yarn, the React Native command line interface, Android Studio, and Xcode.

While you can use any editor of your choice to develop your app, you will need to install Xcode and Android Studio in order to set up the necessary tooling to build your React Native app for iOS and Android.

A good free editor is Visual Studio Code.

Node, Watchman, Yarn

We recommend installing Node, Yarn, and Watchman using Homebrew. Run the following commands in a Terminal after installing Homebrew:

brew install node
brew install watchman
brew install yarn

If you have already installed Node on your system, make sure it is up to date with the LTS version.

Watchman is a tool by Facebook for watching changes in the filesystem. It is highly recommended you install it for better performance.

The React Native CLI

Node comes with npm, which lets you install the React Native command line interface.

Run the following command in a Terminal:

npm install -g react-native-cli

If you get an error like Cannot find module 'npmlog', try installing npm directly:

curl -0 -L https://npmjs.org/install.sh | sudo sh.

Xcode

The easiest way to install Xcode is via the Mac App Store. Installing Xcode will also install the iOS Simulator and all the necessary tools to build your iOS app.

If you have already installed Xcode on your system, make sure it is up to date.

Command Line Tools

You will also need to install the Xcode Command Line Tools. Open Xcode, then choose "Preferences..." from the Xcode menu. Go to the Locations panel and install the tools by selecting the most recent version in the Command Line Tools dropdown.

Java Development Kit

React Native requires the Java SE Development Kit (JDK). Download and install JDK 8 if needed.

Android development environment

Setting up your development environment can be somewhat tedious if you're new to Android development. If you're already familiar with Android development, there are a few things you may need to configure. In either case, please make sure to carefully follow the next few steps.

1. Install Android Studio

Download and install Android Studio. Choose a "Custom" setup when prompted to select an installation type. Make sure the boxes next to all of the following are checked:

  • Android SDK
  • Android SDK Platform
  • Performance (Intel ® HAXM)
  • Android Virtual Device

Then, click "Next" to install all of these components.

If the checkboxes are grayed out, you will have a chance to install these components later on. Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 28 SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 28 entry, then make sure the following items are all checked:

  • Google APIs
  • Android SDK Platform 28
  • Intel x86 Atom_64 System Image
  • Google APIs Intel x86 Atom_64 System Image

Next, select the "SDK Tools" tab and check the box next to "Show Package Details" here as well. Look for and expand the "Android SDK Build-Tools" entry, then make sure that 30-rc1, 29.0.3, and 28.0.3 are selected.

Finally, click "Apply" to download and install the Android SDK and related build tools.

3. Configure the ANDROID_HOME environment variable

The React Native tools require some environment variables to be set up in order to build apps with native code.

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

Installing

Environment Variables

  1. Copy the file .env.sample and rename it to .env.
  2. Once renamed update the values within the file.
  3. In order for maps to load you will need to create your own Mapbox access token.
  4. You will also need a Mapbox download token to build the Android app. See the Mapbox Docs on creating a token with Downloads:Read scope. This token needs to be exported as a system environment variable MAPBOX_DOWNLOAD_TOKEN on your machine.

Dependencies

Install 3rd party dependencies

yarn install

You also need cocoapods for iOS

sudo gem install cocoapods

Then install the pods for iOS (Not needed for Android)

yarn pod-install

If the app is not working you may want to clean your workspace and then follow the running the app section below

yarn clean-install
yarn clean-start

Running The App

iOS

The fastest way to run the app is on the iOS simulator. Just type:

yarn ios

Or for a release build:

yarn ios-release

You can also open the helium.xcworkspace file in the /ios folder using xcode and run the app on your device or any other simulator.

Android

Similar to iOS, run

yarn android

Or for a release build:

yarn android-release

You can also open the Android project in Android Studio by selecting open an existing project and selecting the /android folder.

Debugging

See React Native Debugging.

Recommended tools


Reactotron

The app is configured to use the Reactotron app which can be used to:

  • view your application state
  • show API requests & responses
  • perform quick performance benchmarks
  • subscribe to parts of your application state
  • display messages similar to console.log
  • track global errors with source-mapped stack traces including saga stack traces!
  • dispatch actions like a government-run mind control experiment
  • hot swap your app's state using Redux or mobx-state-tree
  • track your sagas
  • show image overlay in React Native
  • track your Async Storage in React Native

The latest version of Reactotron can be downloaded here

React Native Debugger

See React Native Debugger

About

Helium hotspot app for iOS and Android

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - pycom/hotspot-app: Helium hotspot app for iOS and Android · GitHub
Skip to content
This repository was archived by the owner on Sep 10, 2024. It is now read-only.

Latest commit

History

608 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hotspot App

Helium hotspot app for iOS and Android built using React Native. For a list of issues and prioritization, please go to our Project page.

Get the app

Release versions of the app are available here:

Beta Versions of the app are available here:

What to expect in the new Hotspot App

Simplification

We've heard that the existing app can be overwhelming and cause undue stress and "doom scrolling". To fix this, the new app will prefer synthesized summaries over raw activity feeds to help users understand the network and their Hotspot better.

Visualization

We will use charts and graphs to explain mining performance over time, and maps to show your Hotspot in relation to others around you. We know witnesses matter, and we want to show you where they are.

Recommendation Engine

The new Hotspot app will include a recommendation engine which will suggest actionable steps users can take to improve the performance of their Hotspot.

Join us in Discord

Chat with the developers and the product team in the Helium Community Discord and look for the #hotspot-app-development channel.

App Designs

Coming soon!

Getting Started

React Native Dev Setup

If you have already set up react native on your machine, skip to the installing section.

React Native dependencies

You will need Node, Watchman, Yarn, the React Native command line interface, Android Studio, and Xcode.

While you can use any editor of your choice to develop your app, you will need to install Xcode and Android Studio in order to set up the necessary tooling to build your React Native app for iOS and Android.

A good free editor is Visual Studio Code.

Node, Watchman, Yarn

We recommend installing Node, Yarn, and Watchman using Homebrew. Run the following commands in a Terminal after installing Homebrew:

brew install node
brew install watchman
brew install yarn

If you have already installed Node on your system, make sure it is up to date with the LTS version.

Watchman is a tool by Facebook for watching changes in the filesystem. It is highly recommended you install it for better performance.

The React Native CLI

Node comes with npm, which lets you install the React Native command line interface.

Run the following command in a Terminal:

npm install -g react-native-cli

If you get an error like Cannot find module 'npmlog', try installing npm directly:

curl -0 -L https://npmjs.org/install.sh | sudo sh.

Xcode

The easiest way to install Xcode is via the Mac App Store. Installing Xcode will also install the iOS Simulator and all the necessary tools to build your iOS app.

If you have already installed Xcode on your system, make sure it is up to date.

Command Line Tools

You will also need to install the Xcode Command Line Tools. Open Xcode, then choose "Preferences..." from the Xcode menu. Go to the Locations panel and install the tools by selecting the most recent version in the Command Line Tools dropdown.

Java Development Kit

React Native requires the Java SE Development Kit (JDK). Download and install JDK 8 if needed.

Android development environment

Setting up your development environment can be somewhat tedious if you're new to Android development. If you're already familiar with Android development, there are a few things you may need to configure. In either case, please make sure to carefully follow the next few steps.

1. Install Android Studio

Download and install Android Studio. Choose a "Custom" setup when prompted to select an installation type. Make sure the boxes next to all of the following are checked:

  • Android SDK
  • Android SDK Platform
  • Performance (Intel ® HAXM)
  • Android Virtual Device

Then, click "Next" to install all of these components.

If the checkboxes are grayed out, you will have a chance to install these components later on. Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 28 SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 28 entry, then make sure the following items are all checked:

  • Google APIs
  • Android SDK Platform 28
  • Intel x86 Atom_64 System Image
  • Google APIs Intel x86 Atom_64 System Image

Next, select the "SDK Tools" tab and check the box next to "Show Package Details" here as well. Look for and expand the "Android SDK Build-Tools" entry, then make sure that 30-rc1, 29.0.3, and 28.0.3 are selected.

Finally, click "Apply" to download and install the Android SDK and related build tools.

3. Configure the ANDROID_HOME environment variable

The React Native tools require some environment variables to be set up in order to build apps with native code.

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

Installing

Environment Variables

  1. Copy the file .env.sample and rename it to .env.
  2. Once renamed update the values within the file.
  3. In order for maps to load you will need to create your own Mapbox access token.
  4. You will also need a Mapbox download token to build the Android app. See the Mapbox Docs on creating a token with Downloads:Read scope. This token needs to be exported as a system environment variable MAPBOX_DOWNLOAD_TOKEN on your machine.

Dependencies

Install 3rd party dependencies

yarn install

You also need cocoapods for iOS

sudo gem install cocoapods

Then install the pods for iOS (Not needed for Android)

yarn pod-install

If the app is not working you may want to clean your workspace and then follow the running the app section below

yarn clean-install
yarn clean-start

Running The App

iOS

The fastest way to run the app is on the iOS simulator. Just type:

yarn ios

Or for a release build:

yarn ios-release

You can also open the helium.xcworkspace file in the /ios folder using xcode and run the app on your device or any other simulator.

Android

Similar to iOS, run

yarn android

Or for a release build:

yarn android-release

You can also open the Android project in Android Studio by selecting open an existing project and selecting the /android folder.

Debugging

See React Native Debugging.

Recommended tools


Reactotron

The app is configured to use the Reactotron app which can be used to:

  • view your application state
  • show API requests & responses
  • perform quick performance benchmarks
  • subscribe to parts of your application state
  • display messages similar to console.log
  • track global errors with source-mapped stack traces including saga stack traces!
  • dispatch actions like a government-run mind control experiment
  • hot swap your app's state using Redux or mobx-state-tree
  • track your sagas
  • show image overlay in React Native
  • track your Async Storage in React Native

The latest version of Reactotron can be downloaded here

React Native Debugger

See React Native Debugger

About

Helium hotspot app for iOS and Android

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - pycom/hotspot-app: Helium hotspot app for iOS and Android · GitHub
Skip to content
This repository was archived by the owner on Sep 10, 2024. It is now read-only.

Latest commit

History

608 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hotspot App

Helium hotspot app for iOS and Android built using React Native. For a list of issues and prioritization, please go to our Project page.

Get the app

Release versions of the app are available here:

Beta Versions of the app are available here:

What to expect in the new Hotspot App

Simplification

We've heard that the existing app can be overwhelming and cause undue stress and "doom scrolling". To fix this, the new app will prefer synthesized summaries over raw activity feeds to help users understand the network and their Hotspot better.

Visualization

We will use charts and graphs to explain mining performance over time, and maps to show your Hotspot in relation to others around you. We know witnesses matter, and we want to show you where they are.

Recommendation Engine

The new Hotspot app will include a recommendation engine which will suggest actionable steps users can take to improve the performance of their Hotspot.

Join us in Discord

Chat with the developers and the product team in the Helium Community Discord and look for the #hotspot-app-development channel.

App Designs

Coming soon!

Getting Started

React Native Dev Setup

If you have already set up react native on your machine, skip to the installing section.

React Native dependencies

You will need Node, Watchman, Yarn, the React Native command line interface, Android Studio, and Xcode.

While you can use any editor of your choice to develop your app, you will need to install Xcode and Android Studio in order to set up the necessary tooling to build your React Native app for iOS and Android.

A good free editor is Visual Studio Code.

Node, Watchman, Yarn

We recommend installing Node, Yarn, and Watchman using Homebrew. Run the following commands in a Terminal after installing Homebrew:

brew install node
brew install watchman
brew install yarn

If you have already installed Node on your system, make sure it is up to date with the LTS version.

Watchman is a tool by Facebook for watching changes in the filesystem. It is highly recommended you install it for better performance.

The React Native CLI

Node comes with npm, which lets you install the React Native command line interface.

Run the following command in a Terminal:

npm install -g react-native-cli

If you get an error like Cannot find module 'npmlog', try installing npm directly:

curl -0 -L https://npmjs.org/install.sh | sudo sh.

Xcode

The easiest way to install Xcode is via the Mac App Store. Installing Xcode will also install the iOS Simulator and all the necessary tools to build your iOS app.

If you have already installed Xcode on your system, make sure it is up to date.

Command Line Tools

You will also need to install the Xcode Command Line Tools. Open Xcode, then choose "Preferences..." from the Xcode menu. Go to the Locations panel and install the tools by selecting the most recent version in the Command Line Tools dropdown.

Java Development Kit

React Native requires the Java SE Development Kit (JDK). Download and install JDK 8 if needed.

Android development environment

Setting up your development environment can be somewhat tedious if you're new to Android development. If you're already familiar with Android development, there are a few things you may need to configure. In either case, please make sure to carefully follow the next few steps.

1. Install Android Studio

Download and install Android Studio. Choose a "Custom" setup when prompted to select an installation type. Make sure the boxes next to all of the following are checked:

  • Android SDK
  • Android SDK Platform
  • Performance (Intel ® HAXM)
  • Android Virtual Device

Then, click "Next" to install all of these components.

If the checkboxes are grayed out, you will have a chance to install these components later on. Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 28 SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 28 entry, then make sure the following items are all checked:

  • Google APIs
  • Android SDK Platform 28
  • Intel x86 Atom_64 System Image
  • Google APIs Intel x86 Atom_64 System Image

Next, select the "SDK Tools" tab and check the box next to "Show Package Details" here as well. Look for and expand the "Android SDK Build-Tools" entry, then make sure that 30-rc1, 29.0.3, and 28.0.3 are selected.

Finally, click "Apply" to download and install the Android SDK and related build tools.

3. Configure the ANDROID_HOME environment variable

The React Native tools require some environment variables to be set up in order to build apps with native code.

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

Installing

Environment Variables

  1. Copy the file .env.sample and rename it to .env.
  2. Once renamed update the values within the file.
  3. In order for maps to load you will need to create your own Mapbox access token.
  4. You will also need a Mapbox download token to build the Android app. See the Mapbox Docs on creating a token with Downloads:Read scope. This token needs to be exported as a system environment variable MAPBOX_DOWNLOAD_TOKEN on your machine.

Dependencies

Install 3rd party dependencies

yarn install

You also need cocoapods for iOS

sudo gem install cocoapods

Then install the pods for iOS (Not needed for Android)

yarn pod-install

If the app is not working you may want to clean your workspace and then follow the running the app section below

yarn clean-install
yarn clean-start

Running The App

iOS

The fastest way to run the app is on the iOS simulator. Just type:

yarn ios

Or for a release build:

yarn ios-release

You can also open the helium.xcworkspace file in the /ios folder using xcode and run the app on your device or any other simulator.

Android

Similar to iOS, run

yarn android

Or for a release build:

yarn android-release

You can also open the Android project in Android Studio by selecting open an existing project and selecting the /android folder.

Debugging

See React Native Debugging.

Recommended tools


Reactotron

The app is configured to use the Reactotron app which can be used to:

  • view your application state
  • show API requests & responses
  • perform quick performance benchmarks
  • subscribe to parts of your application state
  • display messages similar to console.log
  • track global errors with source-mapped stack traces including saga stack traces!
  • dispatch actions like a government-run mind control experiment
  • hot swap your app's state using Redux or mobx-state-tree
  • track your sagas
  • show image overlay in React Native
  • track your Async Storage in React Native

The latest version of Reactotron can be downloaded here

React Native Debugger

See React Native Debugger

About

Helium hotspot app for iOS and Android

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - pycom/hotspot-app: Helium hotspot app for iOS and Android · GitHub
Skip to content
This repository was archived by the owner on Sep 10, 2024. It is now read-only.

Latest commit

History

608 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hotspot App

Helium hotspot app for iOS and Android built using React Native. For a list of issues and prioritization, please go to our Project page.

Get the app

Release versions of the app are available here:

Beta Versions of the app are available here:

What to expect in the new Hotspot App

Simplification

We've heard that the existing app can be overwhelming and cause undue stress and "doom scrolling". To fix this, the new app will prefer synthesized summaries over raw activity feeds to help users understand the network and their Hotspot better.

Visualization

We will use charts and graphs to explain mining performance over time, and maps to show your Hotspot in relation to others around you. We know witnesses matter, and we want to show you where they are.

Recommendation Engine

The new Hotspot app will include a recommendation engine which will suggest actionable steps users can take to improve the performance of their Hotspot.

Join us in Discord

Chat with the developers and the product team in the Helium Community Discord and look for the #hotspot-app-development channel.

App Designs

Coming soon!

Getting Started

React Native Dev Setup

If you have already set up react native on your machine, skip to the installing section.

React Native dependencies

You will need Node, Watchman, Yarn, the React Native command line interface, Android Studio, and Xcode.

While you can use any editor of your choice to develop your app, you will need to install Xcode and Android Studio in order to set up the necessary tooling to build your React Native app for iOS and Android.

A good free editor is Visual Studio Code.

Node, Watchman, Yarn

We recommend installing Node, Yarn, and Watchman using Homebrew. Run the following commands in a Terminal after installing Homebrew:

brew install node
brew install watchman
brew install yarn

If you have already installed Node on your system, make sure it is up to date with the LTS version.

Watchman is a tool by Facebook for watching changes in the filesystem. It is highly recommended you install it for better performance.

The React Native CLI

Node comes with npm, which lets you install the React Native command line interface.

Run the following command in a Terminal:

npm install -g react-native-cli

If you get an error like Cannot find module 'npmlog', try installing npm directly:

curl -0 -L https://npmjs.org/install.sh | sudo sh.

Xcode

The easiest way to install Xcode is via the Mac App Store. Installing Xcode will also install the iOS Simulator and all the necessary tools to build your iOS app.

If you have already installed Xcode on your system, make sure it is up to date.

Command Line Tools

You will also need to install the Xcode Command Line Tools. Open Xcode, then choose "Preferences..." from the Xcode menu. Go to the Locations panel and install the tools by selecting the most recent version in the Command Line Tools dropdown.

Java Development Kit

React Native requires the Java SE Development Kit (JDK). Download and install JDK 8 if needed.

Android development environment

Setting up your development environment can be somewhat tedious if you're new to Android development. If you're already familiar with Android development, there are a few things you may need to configure. In either case, please make sure to carefully follow the next few steps.

1. Install Android Studio

Download and install Android Studio. Choose a "Custom" setup when prompted to select an installation type. Make sure the boxes next to all of the following are checked:

  • Android SDK
  • Android SDK Platform
  • Performance (Intel ® HAXM)
  • Android Virtual Device

Then, click "Next" to install all of these components.

If the checkboxes are grayed out, you will have a chance to install these components later on. Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 28 SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 28 entry, then make sure the following items are all checked:

  • Google APIs
  • Android SDK Platform 28
  • Intel x86 Atom_64 System Image
  • Google APIs Intel x86 Atom_64 System Image

Next, select the "SDK Tools" tab and check the box next to "Show Package Details" here as well. Look for and expand the "Android SDK Build-Tools" entry, then make sure that 30-rc1, 29.0.3, and 28.0.3 are selected.

Finally, click "Apply" to download and install the Android SDK and related build tools.

3. Configure the ANDROID_HOME environment variable

The React Native tools require some environment variables to be set up in order to build apps with native code.

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

Installing

Environment Variables

  1. Copy the file .env.sample and rename it to .env.
  2. Once renamed update the values within the file.
  3. In order for maps to load you will need to create your own Mapbox access token.
  4. You will also need a Mapbox download token to build the Android app. See the Mapbox Docs on creating a token with Downloads:Read scope. This token needs to be exported as a system environment variable MAPBOX_DOWNLOAD_TOKEN on your machine.

Dependencies

Install 3rd party dependencies

yarn install

You also need cocoapods for iOS

sudo gem install cocoapods

Then install the pods for iOS (Not needed for Android)

yarn pod-install

If the app is not working you may want to clean your workspace and then follow the running the app section below

yarn clean-install
yarn clean-start

Running The App

iOS

The fastest way to run the app is on the iOS simulator. Just type:

yarn ios

Or for a release build:

yarn ios-release

You can also open the helium.xcworkspace file in the /ios folder using xcode and run the app on your device or any other simulator.

Android

Similar to iOS, run

yarn android

Or for a release build:

yarn android-release

You can also open the Android project in Android Studio by selecting open an existing project and selecting the /android folder.

Debugging

See React Native Debugging.

Recommended tools


Reactotron

The app is configured to use the Reactotron app which can be used to:

  • view your application state
  • show API requests & responses
  • perform quick performance benchmarks
  • subscribe to parts of your application state
  • display messages similar to console.log
  • track global errors with source-mapped stack traces including saga stack traces!
  • dispatch actions like a government-run mind control experiment
  • hot swap your app's state using Redux or mobx-state-tree
  • track your sagas
  • show image overlay in React Native
  • track your Async Storage in React Native

The latest version of Reactotron can be downloaded here

React Native Debugger

See React Native Debugger

About

Helium hotspot app for iOS and Android

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - pycom/hotspot-app: Helium hotspot app for iOS and Android · GitHub
Skip to content
This repository was archived by the owner on Sep 10, 2024. It is now read-only.

Latest commit

History

608 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hotspot App

Helium hotspot app for iOS and Android built using React Native. For a list of issues and prioritization, please go to our Project page.

Get the app

Release versions of the app are available here:

Beta Versions of the app are available here:

What to expect in the new Hotspot App

Simplification

We've heard that the existing app can be overwhelming and cause undue stress and "doom scrolling". To fix this, the new app will prefer synthesized summaries over raw activity feeds to help users understand the network and their Hotspot better.

Visualization

We will use charts and graphs to explain mining performance over time, and maps to show your Hotspot in relation to others around you. We know witnesses matter, and we want to show you where they are.

Recommendation Engine

The new Hotspot app will include a recommendation engine which will suggest actionable steps users can take to improve the performance of their Hotspot.

Join us in Discord

Chat with the developers and the product team in the Helium Community Discord and look for the #hotspot-app-development channel.

App Designs

Coming soon!

Getting Started

React Native Dev Setup

If you have already set up react native on your machine, skip to the installing section.

React Native dependencies

You will need Node, Watchman, Yarn, the React Native command line interface, Android Studio, and Xcode.

While you can use any editor of your choice to develop your app, you will need to install Xcode and Android Studio in order to set up the necessary tooling to build your React Native app for iOS and Android.

A good free editor is Visual Studio Code.

Node, Watchman, Yarn

We recommend installing Node, Yarn, and Watchman using Homebrew. Run the following commands in a Terminal after installing Homebrew:

brew install node
brew install watchman
brew install yarn

If you have already installed Node on your system, make sure it is up to date with the LTS version.

Watchman is a tool by Facebook for watching changes in the filesystem. It is highly recommended you install it for better performance.

The React Native CLI

Node comes with npm, which lets you install the React Native command line interface.

Run the following command in a Terminal:

npm install -g react-native-cli

If you get an error like Cannot find module 'npmlog', try installing npm directly:

curl -0 -L https://npmjs.org/install.sh | sudo sh.

Xcode

The easiest way to install Xcode is via the Mac App Store. Installing Xcode will also install the iOS Simulator and all the necessary tools to build your iOS app.

If you have already installed Xcode on your system, make sure it is up to date.

Command Line Tools

You will also need to install the Xcode Command Line Tools. Open Xcode, then choose "Preferences..." from the Xcode menu. Go to the Locations panel and install the tools by selecting the most recent version in the Command Line Tools dropdown.

Java Development Kit

React Native requires the Java SE Development Kit (JDK). Download and install JDK 8 if needed.

Android development environment

Setting up your development environment can be somewhat tedious if you're new to Android development. If you're already familiar with Android development, there are a few things you may need to configure. In either case, please make sure to carefully follow the next few steps.

1. Install Android Studio

Download and install Android Studio. Choose a "Custom" setup when prompted to select an installation type. Make sure the boxes next to all of the following are checked:

  • Android SDK
  • Android SDK Platform
  • Performance (Intel ® HAXM)
  • Android Virtual Device

Then, click "Next" to install all of these components.

If the checkboxes are grayed out, you will have a chance to install these components later on. Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 28 SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 28 entry, then make sure the following items are all checked:

  • Google APIs
  • Android SDK Platform 28
  • Intel x86 Atom_64 System Image
  • Google APIs Intel x86 Atom_64 System Image

Next, select the "SDK Tools" tab and check the box next to "Show Package Details" here as well. Look for and expand the "Android SDK Build-Tools" entry, then make sure that 30-rc1, 29.0.3, and 28.0.3 are selected.

Finally, click "Apply" to download and install the Android SDK and related build tools.

3. Configure the ANDROID_HOME environment variable

The React Native tools require some environment variables to be set up in order to build apps with native code.

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

Installing

Environment Variables

  1. Copy the file .env.sample and rename it to .env.
  2. Once renamed update the values within the file.
  3. In order for maps to load you will need to create your own Mapbox access token.
  4. You will also need a Mapbox download token to build the Android app. See the Mapbox Docs on creating a token with Downloads:Read scope. This token needs to be exported as a system environment variable MAPBOX_DOWNLOAD_TOKEN on your machine.

Dependencies

Install 3rd party dependencies

yarn install

You also need cocoapods for iOS

sudo gem install cocoapods

Then install the pods for iOS (Not needed for Android)

yarn pod-install

If the app is not working you may want to clean your workspace and then follow the running the app section below

yarn clean-install
yarn clean-start

Running The App

iOS

The fastest way to run the app is on the iOS simulator. Just type:

yarn ios

Or for a release build:

yarn ios-release

You can also open the helium.xcworkspace file in the /ios folder using xcode and run the app on your device or any other simulator.

Android

Similar to iOS, run

yarn android

Or for a release build:

yarn android-release

You can also open the Android project in Android Studio by selecting open an existing project and selecting the /android folder.

Debugging

See React Native Debugging.

Recommended tools


Reactotron

The app is configured to use the Reactotron app which can be used to:

  • view your application state
  • show API requests & responses
  • perform quick performance benchmarks
  • subscribe to parts of your application state
  • display messages similar to console.log
  • track global errors with source-mapped stack traces including saga stack traces!
  • dispatch actions like a government-run mind control experiment
  • hot swap your app's state using Redux or mobx-state-tree
  • track your sagas
  • show image overlay in React Native
  • track your Async Storage in React Native

The latest version of Reactotron can be downloaded here

React Native Debugger

See React Native Debugger

About

Helium hotspot app for iOS and Android

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - pycom/hotspot-app: Helium hotspot app for iOS and Android · GitHub
Skip to content
This repository was archived by the owner on Sep 10, 2024. It is now read-only.

Latest commit

History

608 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Hotspot App

Helium hotspot app for iOS and Android built using React Native. For a list of issues and prioritization, please go to our Project page.

Get the app

Release versions of the app are available here:

Beta Versions of the app are available here:

What to expect in the new Hotspot App

Simplification

We've heard that the existing app can be overwhelming and cause undue stress and "doom scrolling". To fix this, the new app will prefer synthesized summaries over raw activity feeds to help users understand the network and their Hotspot better.

Visualization

We will use charts and graphs to explain mining performance over time, and maps to show your Hotspot in relation to others around you. We know witnesses matter, and we want to show you where they are.

Recommendation Engine

The new Hotspot app will include a recommendation engine which will suggest actionable steps users can take to improve the performance of their Hotspot.

Join us in Discord

Chat with the developers and the product team in the Helium Community Discord and look for the #hotspot-app-development channel.

App Designs

Coming soon!

Getting Started

React Native Dev Setup

If you have already set up react native on your machine, skip to the installing section.

React Native dependencies

You will need Node, Watchman, Yarn, the React Native command line interface, Android Studio, and Xcode.

While you can use any editor of your choice to develop your app, you will need to install Xcode and Android Studio in order to set up the necessary tooling to build your React Native app for iOS and Android.

A good free editor is Visual Studio Code.

Node, Watchman, Yarn

We recommend installing Node, Yarn, and Watchman using Homebrew. Run the following commands in a Terminal after installing Homebrew:

brew install node
brew install watchman
brew install yarn

If you have already installed Node on your system, make sure it is up to date with the LTS version.

Watchman is a tool by Facebook for watching changes in the filesystem. It is highly recommended you install it for better performance.

The React Native CLI

Node comes with npm, which lets you install the React Native command line interface.

Run the following command in a Terminal:

npm install -g react-native-cli

If you get an error like Cannot find module 'npmlog', try installing npm directly:

curl -0 -L https://npmjs.org/install.sh | sudo sh.

Xcode

The easiest way to install Xcode is via the Mac App Store. Installing Xcode will also install the iOS Simulator and all the necessary tools to build your iOS app.

If you have already installed Xcode on your system, make sure it is up to date.

Command Line Tools

You will also need to install the Xcode Command Line Tools. Open Xcode, then choose "Preferences..." from the Xcode menu. Go to the Locations panel and install the tools by selecting the most recent version in the Command Line Tools dropdown.

Java Development Kit

React Native requires the Java SE Development Kit (JDK). Download and install JDK 8 if needed.

Android development environment

Setting up your development environment can be somewhat tedious if you're new to Android development. If you're already familiar with Android development, there are a few things you may need to configure. In either case, please make sure to carefully follow the next few steps.

1. Install Android Studio

Download and install Android Studio. Choose a "Custom" setup when prompted to select an installation type. Make sure the boxes next to all of the following are checked:

  • Android SDK
  • Android SDK Platform
  • Performance (Intel ® HAXM)
  • Android Virtual Device

Then, click "Next" to install all of these components.

If the checkboxes are grayed out, you will have a chance to install these components later on. Once setup has finalized and you're presented with the Welcome screen, proceed to the next step.

2. Install the Android SDK

Android Studio installs the latest Android SDK by default. Building a React Native app with native code, however, requires the Android 28 SDK in particular. Additional Android SDKs can be installed through the SDK Manager in Android Studio.

The SDK Manager can be accessed from the "Welcome to Android Studio" screen. Click on "Configure", then select "SDK Manager".

Select the "SDK Platforms" tab from within the SDK Manager, then check the box next to "Show Package Details" in the bottom right corner. Look for and expand the Android 28 entry, then make sure the following items are all checked:

  • Google APIs
  • Android SDK Platform 28
  • Intel x86 Atom_64 System Image
  • Google APIs Intel x86 Atom_64 System Image

Next, select the "SDK Tools" tab and check the box next to "Show Package Details" here as well. Look for and expand the "Android SDK Build-Tools" entry, then make sure that 30-rc1, 29.0.3, and 28.0.3 are selected.

Finally, click "Apply" to download and install the Android SDK and related build tools.

3. Configure the ANDROID_HOME environment variable

The React Native tools require some environment variables to be set up in order to build apps with native code.

Add the following lines to your $HOME/.bash_profile config file:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

Installing

Environment Variables

  1. Copy the file .env.sample and rename it to .env.
  2. Once renamed update the values within the file.
  3. In order for maps to load you will need to create your own Mapbox access token.
  4. You will also need a Mapbox download token to build the Android app. See the Mapbox Docs on creating a token with Downloads:Read scope. This token needs to be exported as a system environment variable MAPBOX_DOWNLOAD_TOKEN on your machine.

Dependencies

Install 3rd party dependencies

yarn install

You also need cocoapods for iOS

sudo gem install cocoapods

Then install the pods for iOS (Not needed for Android)

yarn pod-install

If the app is not working you may want to clean your workspace and then follow the running the app section below

yarn clean-install
yarn clean-start

Running The App

iOS

The fastest way to run the app is on the iOS simulator. Just type:

yarn ios

Or for a release build:

yarn ios-release

You can also open the helium.xcworkspace file in the /ios folder using xcode and run the app on your device or any other simulator.

Android

Similar to iOS, run

yarn android

Or for a release build:

yarn android-release

You can also open the Android project in Android Studio by selecting open an existing project and selecting the /android folder.

Debugging

See React Native Debugging.

Recommended tools


Reactotron

The app is configured to use the Reactotron app which can be used to:

  • view your application state
  • show API requests & responses
  • perform quick performance benchmarks
  • subscribe to parts of your application state
  • display messages similar to console.log
  • track global errors with source-mapped stack traces including saga stack traces!
  • dispatch actions like a government-run mind control experiment
  • hot swap your app's state using Redux or mobx-state-tree
  • track your sagas
  • show image overlay in React Native
  • track your Async Storage in React Native

The latest version of Reactotron can be downloaded here

React Native Debugger

See React Native Debugger

About

Helium hotspot app for iOS and Android

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages