Internal developers can use the automated setup script from
rainbow-me/rainbow-setup to install all dependencies and configure the project in one step.Required Tools
1. Node.js (Version 22+)
Rainbow requires Node.js 22 or higher. We recommend usingnvm (Node Version Manager) to manage Node.js versions.
Install nvm
Install nvm from the official repository:Or visit https://github.com/creationix/nvm for installation instructions.
Install Node.js
Navigate to the Rainbow directory and install the required Node.js version:This reads the
.nvmrc file which specifies v22.Use the correct version
On future terminal sessions, activate the correct Node.js version:
Set up automatic nvm switching in your shell to avoid running
nvm use manually.2. Ruby (Version 3.4.8)
Rainbow uses Ruby for iOS tooling, specifically for CocoaPods and Fastlane.- rbenv (Recommended)
- rvm
3. Yarn (Version 4.2.2)
Rainbow uses Yarn 4 with Corepack for package management.Verify Yarn version
The project’s
package.json specifies "packageManager": "[email protected]", so Corepack will automatically use the correct version.API Keys and Configuration
You’ll need to set up API keys for various services. The process differs for internal developers and external contributors.For Internal Developers
Get .env file
Copy
dotenv from the private rainbow-me/rainbow-env repo to .env in the project root:Get google-services.json
Copy
android/app/google-services.json from rainbow-env to android/app/ in this project:Clone rainbow-scripts
Clone the The postinstall prebuild hooks depend on this.
rainbow-me/rainbow-scripts repo into the project root:For External Contributors
External contributors need to provide their own API keys.Fill in API keys
Edit
.env and add your own API keys. You’ll need:- Etherscan: https://etherscan.io/apis
- Infura: https://infura.io/
- ETH Gas Station: https://docs.ethgasstation.info/
- Imgix: https://www.imgix.com/
Some features are currently not accessible for external contributors. We are working with Data Providers to provide open source API keys.
Create Firebase project
Create a personal Firebase project registered under the package name
me.rainbow, then:- Download
google-services.jsonfrom Firebase Console - Place it in
android/app/google-services.json
The iOS
GoogleService-Info.plist is already in the repo. The postinstall script patches it with GOOGLE_SERVICE_API_KEY from your .env.Verify Prerequisites
Before proceeding to installation, verify all prerequisites are correctly installed:Next Steps
With all prerequisites installed, you’re ready to install Rainbow’s dependencies:Installation
Install dependencies and run the setup script
Troubleshooting
nvm command not found
nvm command not found
After installing nvm, you need to restart your terminal or source your shell profile:
Wrong Ruby version
Wrong Ruby version
Make sure you’re not using system Ruby:
Corepack not enabled
Corepack not enabled
If Yarn doesn’t work, ensure Corepack is enabled: