Skip to content

Decentralized handling of project grants' definition, assets allocation and conditional transfers based on validated achievements via reviewers and oracles.

License

Notifications You must be signed in to change notification settings

ja88a/bounty-granter-eth

Repository files navigation

NodeJs Typescript Jest Yarn Docker Hardhat

Bounty Granter on ETH

General

Home of the mono repository for the development of the Bounty Granter dApp running on Ethereum/EVM chains.

Purpose

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.

Status: Alpha - Work in Progress

Dev Framework

Build tools

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

Installation

All yarn worspaces get installed using pnpm:

$ pnpm install

You can install the modules individually by using the command:

packages/X$ pnpm install

Building on-chain

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.

Running the Web UI locally

Dev mode

$ yarn start

OR

packages/webui$ yarn start

Production build

packages/webui$ yarn build
packages/webui$ yarn serve # Run locally

Deployment

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.

Modules

General

This mono repo structure and its tooling have been bootstrap by a scaffold-eth boilerplate.

Front-End

Package: webui

A ReactJS responsive Web app based on:

Smart Contracts

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.

Subgraph

Package: subgraph

Home of The Graph subgraphes for the automated integration of deployed smart contracts.

Services

Package: services

Backend services / nodes for local deployments: data servers & chains

Integrated Solutions

Refer to this wiki page for an overview.

License

Distributed under the Affero General Public License 3.0+ license.

Contact

Jabba 01

Github

About

Decentralized handling of project grants' definition, assets allocation and conditional transfers based on validated achievements via reviewers and oracles.

Topics

Resources

License

Stars

Watchers

Forks