/rainbow

🌈‒ the Ethereum wallet that lives in your pocket

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

🌈️ Rainbow

the Ethereum wallet that lives in your pocket!

📲️ Available on the iOS App Store.

🤖 Android available on the Google Play Store

💻 Browser extension available on, Chrome, Brave, Edge, FireFox, and Arc.

🐦️ Follow us on Twitter

Setup

General

MacOS

  1. Install the latest version of XCode.

  2. Install Watchman:

    brew install watchman
  3. Install CocoaPods:

    sudo gem install cocoapods
  4. Install the required bundles and Pods for this project:

    yarn install-bundle && yarn install-pods

Linux

  1. Install system dependencies:

    sudo apt install libsecret-tools watchman
  2. Follow the React Native environment setup instructions carefully, which will involve installing Android Studio, the Android SDK, the emulator, etc. and making them available in your $PATH.

  3. Ensure at least one AVD image is available for the emulator (unless using a physical device).

Developing

If you are new to React Native, this is a helpful introduction: https://reactnative.dev/docs/getting-started

Preflight

  1. Run nvm use to force Node.js v16.

  2. Set up your .env file, use our env.example as a guide.

    Note that some features are currently not accessible, we are working with our Data Providers in order to provide open source API Keys!

    Here are some resources to generate your own API keys:

  3. Ensure a google-services.json has been added to the relevant project directory/directories so the compile will not fail.

    This can either be the live Google Services config (for internal development) or a self-provided config for a personal Firebase project (third-party contributors) registered under the package name me.rainbow.

MacOS

Note: Darwin versions of the application can only be developed/built on Darwin platforms with XCode.

  1. Start a React Native webserver with:

    yarn start
  2. Open rainbow-wallet/ios/Rainbow.xcworkspace in XCode.

  3. Run the project by clicking the play button.

Linux

Note: Linux development environments cannot develop or build Darwin versions of the project.

  1. Start a React Native webserver with:

    yarn start
  2. Build/install/start the debug version of the app in an emulator with:

    yarn android