Impact Reef is a Web3-based project designed to improve the impact evaluation framework within the public goods ecosystem. The platform focuses on capturing qualitative input via endorsements and attestations using EAS (Ethereum Attestation Service) for public good projects. This approach provides evaluators with strong qualitative input, enhancing the robustness of impact assessments. This project is part of a broader mission by the Greenpill Dev Guild to elevate the visibility and effectiveness of impact metrics and their corresponding evaluations.
This repository is structured as a monorepo using pnpm. All code is located under the packages
directory, which includes subdirectories for client
and eas
(containing scripts for deploying schemas and attestations to EAS). These can be run simultaneously in a local environment to facilitate end-to-end development and testing.
Ensure you have the following dependencies installed:
- Clone the repository:
git clone https://github.com/greenpill-dev-guild/impact-reef.git
- Navigate to the project directory:
cd impact-reef
- Install dependencies using pnpm:
pnpm install
- Start the development environment:
pnpm dev
Tests can be run at both the package level and root level for the client using pnpm run test
.
- Clients: Tests are written using Vitest and Testing Library.
The repository is organized into packages, each containing code for different aspects of the application, from clients to EAS scripts. The client
package focuses on the user-facing interface, while the eas
package handles Ethereum attestation schemas and related scripts.
-
Language:
- Typescript: Used across both client and EAS scripts.
-
Core Libraries:
- Next.js: Framework used for building the client-side application.
- EAS (Ethereum Attestation Service): Used for creating and managing attestations on-chain.