DeVouch is a decentralized verification and attestation platform built on the Ethereum blockchain. The frontend application provides a user-friendly interface for creating, managing, and verifying attestations using the Ethereum Attestation Service (EAS).
- Web3 wallet integration for secure authentication
- Attestation creation and management
- Real-time verification of attestations
- Responsive and modern UI built with Next.js and Tailwind CSS
- Production: https://devouch.xyz/
- Staging: https://staging.devouch.xyz/
graph TD
A[Frontend] --> B[Ethereum Blockchain]
A --> C[Ethereum Attestation Service]
A --> D[Reown AppKit]
A --> E[React Query]
- Framework: Next.js 16
- UI: React 19, Tailwind CSS 4
- State Management: React Query
- Web3 Integration:
- Wagmi
- Viem
- Reown AppKit (formerly Web3Modal)
- Attestation Service: EAS SDK
- Language: TypeScript
- User connects wallet via Reown AppKit
- Frontend interacts with EAS SDK for attestation operations
- React Query manages data fetching and caching
- Wagmi handles blockchain interactions
- UI components render attestation data and user interactions
- Node.js 24 LTS (v20.19 or higher is supported; see
.nvmrc) - Yarn 1.x (classic) package manager
- Web3 wallet (MetaMask, WalletConnect, etc.)
-
Clone the repository:
git clone https://github.com/your-org/devouch-fe.git cd devouch-fe -
Install dependencies:
yarn install
-
Copy environment variables:
cp .env.example .env.local
-
Update environment variables in
.env.localwith your configuration
Environment variables (see .env.example):
NEXT_PUBLIC_ENV:productionselects the Optimism instance, anything else selects the Sepolia (staging) instanceNEXT_PUBLIC_WALLET_CONNECT_ID: Your Reown (WalletConnect) project IDNEXT_PUBLIC_EAS_CONTRACT_ADDRESS: EAS contract address (defaults per instance)NEXT_PUBLIC_PROJECT_VERIFY_SCHEMA: EAS schema UID used for vouch/flag attestationsNEXT_PUBLIC_ATTESTATION_FEE: Fee (in ETH) sent with each attestationNEXT_PUBLIC_GRAPHQL_ENDPOINT: Backend GraphQL endpoint (defaults per instance)NEXT_PUBLIC_DRPC_ENDPOINT: Optional Ethereum mainnet RPC used for ENS name lookups
Development mode:
yarn devProduction build:
yarn build
yarn startRun linting and type checking:
yarn lint
yarn typecheck- Creating new attestations
- Verifying existing attestations
- Managing wallet connections
- Viewing attestation history
- Development: Local development
- Staging: Pre-production testing
- Production: Live application
-
Build the application:
yarn build
-
Deploy to your hosting platform (e.g., Vercel)
- Automated builds on main branch
- Pre-deployment checks
- Environment-specific configurations
-
Wallet Connection Issues
- Clear browser cache
- Ensure wallet is properly configured
- Check network connectivity
-
Attestation Creation Failures
- Verify wallet has sufficient funds
- Check network congestion
- Ensure correct contract addresses
- Browser console logs
- Network request monitoring
- Transaction status tracking
Please read CONTRIBUTING.md for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.