Skip to content

helium/wallet-app

Repository files navigation

wallet-logo

Helium Wallet App

About

Welcome to the wallet app, an open-source Solana wallet designed for the Helium ecosystem. With this app, you can manage your accounts and identity on the Helium network, view transactions, import multiple accounts, and even vote.

The app also comes with a handy address book, allowing you to save commonly used wallet addresses for quick access. Plus, you can send multiple Helium currencies to multiple recipients simultaneously.

You can also view and claim hotspot rewards within the app, as well as explore various dApps with the embedded browser.

We hope you enjoy using the wallet app and all of its convenient features!

Installation

In order to interact with any package contained in this repository you will need to install the following:

Set up your development environment

Follow the instructions for "React Native CLI Quickstart" found here

Step by Step guide on getting started:

  • Install Command line developer tools MAC ONLY
  • Install Homebrew
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  • Install NVM
    brew install nvm
  • Install Node Version 18
    nvm install 18
  • Set Node version to 18
    nvm use 18
  • Install Yarn
    npm install -g yarn
  • Install Rosetta M1 & M2 ONLY
    softwareupdate --install-rosetta
  • Install Cocoapods
    gem cleanup
    brew uninstall cocoapods
    sudo gem uninstall cocoapods
    sudo gem install cocoapods -v 1.10.1 -n /usr/local/bin
  • Clone the repository
    git clone https://github.com/helium/wallet-app.git
    cd wallet-app
  • Install dependencies
    yarn
  • Fill out your env.sample with your values and rename it to .env.
  • Install Pods
    yarn pod-install
  • Start the ios app
    yarn ios
  • Start the android app
    yarn android

Short guide for those who are familiar with the above tools:

git clone https://github.com/helium/wallet-app.git
cd wallet-app
yarn
yarn pod-install

If yarn pod-install fails with error xcrun: error: SDK "iphoneos" cannot be located, run sudo xcode-select --switch /Applications/Xcode.app [Stack Overflow]

For IOS:

yarn ios

For Android:

yarn android

Usage

Important: All the commands should be run at the root of the repo.

Tools

Our React Native app is built using TypeScript and utilizes the Shopify/Restyle library for styling. We manage our dependencies using Yarn, a fast and reliable package manager. Shopify/Restyle provides a set of pre-built UI components and style primitives, making it easy to create beautiful and responsive user interfaces. It offers a great starting point for building a custom UI, while also offering the flexibility to customize and extend the existing components.

Root scripts

The scripts that are defined inside the root /package.json

Contributing

Please check the general guidelines for contributing to the wallet app: CONTRIBUTING.md.

In the meantime here are some important highlights:

  • Follow the git workflow, prefix your branches and do not create unneeded merge commits.
  • Be mindful when creating Pull Requests, specify the reason of the change clearly and write tests if needed.
  • Wallet app is mostly accepting bugfix contributions. For features we may reject them based on the fact that they do not fit our roadmap or our long-term goals.

Using custom Swap API endpoints

You can set custom URLs via the configuration for any self-hosted Jupiter APIs, like the V6 Swap API or Paid Hosted APIs Here is an example:

JUP_SWAP_API=https://quote-api.jup.ag/v6

License

Please check each project LICENSE file, most of them are under the MIT license.