Decentralized digital family trust creation, governance, and asset management system.
Built utilising Gnosis Safe - the most trusted platform to store digital assets on Ethereum. More info at gnosis-safe.io
Besides Ethereum Mainnet, the following networks are supported:
These instructions will get you 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.
What things you need to install globally:
yarn global add truffle ganache-cli
We use yarn in our infrastacture, so we decided to go with yarn in the README
A step by step series of examples that tell you have to get a development env running
Install dependencies for the project:
yarn install
For using the Rinkeby services:
yarn start
If you prefer using Mainnet ones:
yarn start-mainnet
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.
For Rinkeby:
yarn build
For Mainnet:
yarn build-mainnet
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 master
branch, the code will be uploaded to the production bucket but not deployed automatically.
This is done manually by the devops team for extra safety.
We prepare a new release every sprint. Sprints are two weeks long.
- A separate code-freeze branch named
release/X.Y.Z
is created - The QA team do regression testing on this branch
- If issues are found, bugfixes are merged into this branch
- Once the QA is done, we push the branch to
master
(which is deployed to production) - Master is afterwards backmerged into the main
development
branch.
Please check the network configuration documentation
- Truffle React Box - The web framework used
- Ganache - Fast Ethereum RPC client
- 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
- Flow - Static Type Checker
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
This project is licensed under the MIT License - see the LICENSE.md file for details