🌈️ Rainbow
the Ethereum wallet that lives in your pocket!
Setup
General
- Install NVM or Node.js 16: https://github.com/creationix/nvm
- Install all project dependencies with
yarn setup
MacOS
-
Install the latest version of XCode.
-
Install Watchman:
brew install watchman
-
Install CocoaPods:
sudo gem install cocoapods
-
Install the required bundles and Pods for this project:
yarn install-bundle && yarn install-pods
Linux
-
Install system dependencies:
sudo apt install libsecret-tools watchman
-
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
. -
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
-
Run
nvm use
to force Node.js v16. -
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:
- Etherscan: https://etherscan.io/apis
- Infura: https://infura.io/
- ETH Gas Station: https://docs.ethgasstation.info/
- Imgix: https://www.imgix.com/
-
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.
-
Start a React Native webserver with:
yarn start
-
Open
rainbow-wallet/ios/Rainbow.xcworkspace
in XCode. -
Run the project by clicking the play button.
Linux
Note: Linux development environments cannot develop or build Darwin versions of the project.
-
Start a React Native webserver with:
yarn start
-
Build/install/start the debug version of the app in an emulator with:
yarn android