Awesome Open Source
Awesome Open Source


the Ethereum wallet that lives in your pocket!

Available on the iOS App Store.

Follow us on Twitter




  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


  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).


If you are new to React Native, this is a helpful introduction:


  1. Run nvm use 14 to force Node.js v14.

  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.


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.


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


In order to use code push you must be logged into the correct Microsoft App Center account.


npm install -g code-push
code-push login

At this point you will be required to log into the account tied to the code push public keys in Info.plist


code-push release-react RainbowWallet-iOS ios -d <DEPLOYMENT>

The deployment can either be Staging or Production depending on the mode of the application you wish to update was built in through XCode.

Local Builds

In order to build the application in "release" mode but not use the code push distribution you must build the application using the scheme LocalRelease.

Building the application with the Staging scheme or Release scheme will result in your bundle being replaced by the live code push deployment on resume of the application.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,541,393
React Native (11,656
Ethereum (6,789
Defi (567
Rainbow (146
Related Projects