/eth-denver-ebf

Primary LanguageTypeScriptMIT LicenseMIT

๐ŸŒ EBF Network of Trust ๐ŸŒฑ

First, connect to Linea: https://chainlist.org/?search=linea
Then, see the demo: ๐Ÿš€ Testnet Demo

๐Ÿงช Project Overview ๐Ÿงช

A discoverable network of trust for registering impact projects and verifying their ecological benefits, built using Verax attestations and the Ecological Benefits Framework.

โš™๏ธ Technology Stack โš™๏ธ

๐Ÿ“ˆ Linea ๐Ÿ” Verax ๐Ÿ’ก Phosphor ๐Ÿงฉ ERC1155 ๐ŸŒ IPFS ๐Ÿ–ผ๏ธ NFT.Storage โš›๏ธ NextJS ๐Ÿ› ๏ธ Hardhat ๐ŸŒˆ RainbowKit ๐Ÿ—๏ธ ScaffoldETH2 โœŠ Wagmi ๐Ÿ›‚ Gitcoin Passport

โœ… Current Status: Live on Linea Testnet

image image

Requirements

Before you begin, you need to install the following tools:

Quickstart

To get started with Scaffold-ETH 2, follow the steps below:

  1. Clone this repo & install dependencies
git clone git@github.com:bhargavkakadiya/eth-denver-ebf.git
cd eth-denver-ebf
yarn install
  1. Run a local network in the first terminal:
yarn chain

This command starts a local Ethereum network using Hardhat. The network runs on your local machine and can be used for testing and development. You can customize the network configuration in hardhat.config.ts.

  1. On a second terminal, deploy the test contract:
yarn deploy

This command deploys a test smart contract to the local network. The contract is located in packages/hardhat/contracts and can be modified to suit your needs. The yarn deploy command uses the deploy script located in packages/hardhat/deploy to deploy the contract to the network. You can also customize the deploy script.

  1. On a third terminal, start your NextJS app:
yarn start

Visit your app on: http://localhost:3000. You can tweak the app config in packages/nextjs/scaffold.config.ts.

Run smart contract test with yarn hardhat:test

๐ŸŒ The Problem We Solve

The ecological benefits framework offers a standardized way of quantifying and communicating ecological benefits for projects. However, discovering these projects and verifying their benefits remains a challenge.

EBFNT introduces a standard way to connect attestation networks of trust to projects that claim ecological benefits. This makes projects discoverable and their benefits verifiable through an intuitive dashboard, aiding in the evaluation of impact essential for grants programs and funding mechanisms. Each project is registered as an 1155 NFT. Project owners can reward attesters with airdrops. The system maintains a network of trust between attesters and projects. Sybil defence is implemented using gitcoin passport.

๐Ÿ’ก Key Features

  • Discoverable Network of Trust: Easily find and connect with ecological projects and trusted contributors.
  • Verifiable Impact: Ecological benefits framework offers standardized impact classifications.
  • Airdrop Rewards to Attesters: Phosphor allows one click airdrops to attester network.
  • Sybil Resistant: Using Gitcoin Passport

๐ŸŒŽ User Flow

Drawing 2024-03-02 04 34 29 excalidraw

๐Ÿšง Challenges Overcome

  • Fixed an issue with the initial Verax subgraph not working on Goerli Linea by obtaining a working subgraph URL from the Linea team.
  • Resolved challenges in decoding the attestation payload from the GraphQL API with mentorship and detailed examination of encode and decode examples.

๐Ÿค How to Contribute

We welcome contributions from those passionate about building a sustainable future. If you're interested in contributing, please feel free to get in touch or submit a pull request.

Requirements

Before you begin, you need to install the following tools:

Quickstart

To get started, follow the steps below:

  1. Clone this repo & install dependencies
git clone <>
cd <>
yarn install
  1. Run a local network in the first terminal:
yarn chain

This command starts a local Ethereum network using Hardhat. The network runs on your local machine and can be used for testing and development. You can customize the network configuration in hardhat.config.ts.

  1. On a second terminal, deploy the test contract:
yarn deploy

This command deploys a test smart contract to the local network. The contract is located in packages/hardhat/contracts and can be modified to suit your needs. The yarn deploy command uses the deploy script located in packages/hardhat/deploy to deploy the contract to the network. You can also customize the deploy script.

  1. On a third terminal, start your NextJS app:
yarn start

Visit your app on: http://localhost:3000. You can interact with your smart contract using the Debug Contracts page.

Run smart contract test with yarn hardhat:test

  • Edit your smart contract YourContract.sol in packages/hardhat/contracts
  • Edit your frontend in packages/nextjs/pages
  • Edit your deployment scripts in packages/hardhat/deploy

๐Ÿ”— Resources

Let's build a sustainable future together! ๐ŸŒŸ

๐Ÿพ Team Members

  • @bhargavkakadiya
  • @Dharmik79
  • @DarrenZal
  • @LinuxIsCool