Skip to content

Latest commit

 

History

History
85 lines (59 loc) · 1.99 KB

README.md

File metadata and controls

85 lines (59 loc) · 1.99 KB

dgrants

Directory Structure

.
├── app                     # Frontend Vue.js application
├── contracts               # Smart contracts
├── doc                     # Project documentation including the protocol definition
├── lerna.json              # Lerna config
├── package.json            # Root package configuration
├── tsconfig.json           # Typescript configuration
├── tsconfig.settings.json  # Typescript configuration
├── types                   # Shared types
├── vetur.config.js         # Vetur configuration
├── yarn.lock               # Yarn lock file
└── README.md

Development

This project is a monorepo with two packages:

  • contracts/ contains the smart contracts
  • app/ is a frontend

Dependencies

To ensure that everyone is using the same version of nodejs on this project, volta is recommended!

Set your env files

Copy app/.env.template to app/.env and edit, providing your own env vars. You will have to supply a Blocknative API key and an Infura Project ID. Both services have free tiers which are sufficient for development.

cp app/.env.template app/.env

Copy contracts/.env.template to contracts/.env and edit, providing your own env vars

cp contracts/.env.template contracts/.env

You will have to supply an Infura Project ID. An account with their free tier is sufficient for development.

Develop

yarn
yarn dev

Lint

yarn lint

Test

yarn test

Build

yarn build

Note: Subdirectory Development

If you are working on one component or the other, you can use workspace aliases to run commands defined in the corresponding package.json independently.

For example, to run smart contract tests only:

yarn contracts test

or to start the frontend locally in development mode:

yarn app dev