Home of the mono repository for the development of the Bounty Granter dApp running on Ethereum/EVM chains.
Decentralized contract-based definition and handling of project activities' asset transfers following their deliverables validation via reviewers and oracles.
More details are available in this project Wiki.
Latest stable Node.js LTS version 16.x
is used to develop this project. We recommend using the nodejs version manager nvm.
pnpm is used as the main packages manager, along with yarn. You can use yarn only.
If you are not set yet with these tools, use:
$ npm install -g yarn pnpm
All yarn worspaces get installed using pnpm:
$ pnpm install
You can install the modules individually by using the command:
packages/X$ pnpm install
Start a local Hardhat chain: yarn chain
Generate a deployer address: yarn generate
View your deployer address: yarn account
Deploy the contracts: yarn deploy
Verify the deployed contracts: yarn verify
Use the CLI parameter --network X
, e.g. yarn deploy --network goerli
, to override the defaultNetwork
set in packages/onchain/hardhat.config.js
.
$ yarn start
OR
packages/webui$ yarn start
packages/webui$ yarn build
packages/webui$ yarn serve # Run locally
Deploy the webui/build on surge.sh:
yarn surge
The generated static web resources can be deployed on IPFS, Surge or AWS S3. Refer to dedicated deployment scripts in packages/webui/package.json
.
This mono repo structure and its tooling have been bootstrap by a scaffold-eth boilerplate.
Package: webui
A ReactJS responsive Web app based on:
- Create React App
- Material UI
- Tailwind CSS
- Wagmi
- Ethers
- RainbowKit
- and friends: refer to
packages/webui/package.json
.
Package: onchain
The EVM-compatible smart contracts are reported there, implemented with Solidity 0.8 and the HardHart development framework for building on ETH L1 & L2 blockchains.
Package: subgraph
Home of The Graph subgraphes for the automated integration of deployed smart contracts.
Package: services
Backend services / nodes for local deployments: data servers & chains
Refer to this wiki page for an overview.
Distributed under the Affero General Public License 3.0+ license.