Safe is the most trusted platform to store digital assets on Ethereum. More info at gnosis-safe.io
For technical information please refer to the Gnosis Developer Portal.
For support requests, please open up a bug issue or reach out via Discord.
Please see the transaction notes for more information about transaction details.
- Production: https://gnosis-safe.io/app/
- Staging: https://safe-team.staging.gnosisdev.com/app/
- Dev: https://safe-team.dev.gnosisdev.com/app/
- PRs:
https://pr<PR_NUMBER>--safereact.review-safe.gnosisdev.com/app/
These instructions will help you get a copy of the project up and running on your local machine for development and testing purposes. See Deployment for notes on how to deploy the project on a live system.
We use yarn in our infrastructure, so we decided to go with yarn in the README. Please install yarn globally if you haven't already.
The app grabs environment variables from the .env
file. Copy our template to your own local file:
cp .env.example .env
To execute transactions, you'll need to create an Infura project and set the project ID in the .env
you've just created:
REACT_APP_INFURA_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Once done, you'll need to restart the app if it's already running.
Install dependencies for the project:
yarn install
To launch the dev version of the app locally:
yarn start
Alternatively, to run the production version of the app:
yarn build
mv build app
python -m SimpleHTTPServer 3000
And open http://localhost:3000/app in the browser.
If you prefer to use Docker:
docker-compose build && docker-compose up
To get a complete bundle using the current configuration use:
yarn build
To run the tests:
yarn test
ESLint will be run automatically before you commit. To run it manually:
yarn lint:fix
The code is deployed to a testing website automatically on each push via a GitHub Action. The GitHub Action will create a new subdomain and post the link as a comment in the PR.
When pushing to the main
branch, the code will be automatically deployed to staging.
Deployment to production is done manually. Please see the release procedure notes for details.
- React - A JS library for building user interfaces
- Material UI 4.X - React components that implement Google's Material Design
- redux, immutable, reselect, final-form - React ecosystem libraries
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
This project is licensed under the MIT License - see the LICENSE.md file for details