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 pnpmAll yarn worspaces get installed using pnpm:
$ pnpm installYou can install the modules individually by using the command:
packages/X$ pnpm installStart 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 startOR
packages/webui$ yarn startpackages/webui$ yarn build
packages/webui$ yarn serve # Run locallyDeploy the webui/build on surge.sh:
yarn surgeThe 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.