This Attestation-Based Dapp Rating web app allows anyone to review dApps and tools - with all reviews stored onchain (on OP mainnet or Base, though other networks can be configured). By leveraging the Ethereum Attestation Service, users can share their experiences 100% onchain which offers
- Transparency: Reviews are tamper-proof and verifiable by anyone.
- Composability: Onchain reviews can be seamlessly integrated into various projects, enabling a richer ecosystem of interconnected dApps.
You can see this in action on a real-production app on Ethereum Ecosystem, where users can check and leave reviews for various dApps and tools.
Follow these steps to get the project up and running locally:
- First, clone the repository to your local machine.
- Set up a PostgreSQL database on your machine or on the cloud.
- Set up environment variables by copying the .env.example file to .env and filling in the required values.
- Install dependencies using your preferred package manager.
- Finally run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
- Open http://localhost:3000 in your browser to see the application running.
The easiest way to deploy your Next.js app is to use Vercel.
Check out the Next.js deployment documentation for more details.
This project uses a mix of technologies to make everything work smoothly:
- Next.js: The React framework for building server-side rendered and static web applications.
- TailwindCSS: Utility-first CSS framework for styling.
- EAS SDK: Ethereum Attestation Service SDK for handling attestations.
- tRPC: End-to-end typesafe APIs.
- GraphQL: Query language for APIs.
- Wagmi: React Hooks for Ethereum.
- Viem: Low-level typescript interface for Ethereum.
- Web3Modal: Web3 provider solution for all Wallets.
- Drizzle: TypeScript ORM for PostgreSQL.
- PostgreSQL: Open-source relational database.
Clone your fork
git clone [email protected]:[your_github_handle]/onchain-reviews && cd /onchain-reviews
Install dependencies
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Create a new branch for your changes
git checkout -b new_branch_name
Start developing!
npm dev
Commit and prepare for pull request (PR). In your PR commit message, reference the issue it resolves (see how to link a commit message to an issue using a keyword).
git commit -m "brief description of changes [Fixes #1234]"
Push to your GitHub account
git push