Reconstruction of Codatta DID using ERC-8004 standard, enabling secure agent registration, document management, and identity verification.
Live Demo: [Coming Soon]
Local Setup: See Quick Start below
New to DID Portal? Check out the complete user guide: did-portal/USAGE.md
- 🔐 Blockchain-based Identity - Secure agent registration on ERC-8004 smart contracts
- 📄 Document Management - Upload and store DID documents with automatic validation
- 🔍 Identity Resolution - Fast and reliable DID document querying
- 💼 Wallet Integration - Support for MetaMask and major EVM wallets
- ⚡ Real-time Updates - Instant feedback on transactions and operations
- 🌐 Multi-chain Support - Compatible with various EVM networks
| Directory | Description |
|---|---|
| contracts/ | Solidity smart contracts (ERC-8004 implementation) |
| updater/ | Backend service for uploading DID documents to storage |
| resolver/ | Backend service for resolving DID documents from storage |
| did-portal/ | Web portal (Next.js frontend) |
- Node.js 18+
- Storage backend configured (see Configuration section)
- EVM-compatible wallet (MetaMask, etc.)
For contract deployment instructions, see contracts/README.md.
After deployment, update the contract configuration in DID Portal:
- File:
did-portal/lib/contract-config.ts- Update
CONTRACT_ADDRESSwith your deployed contract address - Update
CONTRACT_CHAIN_IDwith your target network ID
- Update
- File:
did-portal/lib/wagmi.ts- Configure supported networks and RPC endpoints
Set up S3 credentials for both updater and resolver services:
# Updater service
cp updater/config/default.example.json updater/config/default.json
# Edit updater/config/default.json with your AWS credentials
# Resolver service
cp resolver/config/default.example.json resolver/config/default.json
# Edit resolver/config/default.json with your AWS credentialsAll services use configurable ports:
- Updater: Edit
updater/config/default.json→server.port - Resolver: Edit
resolver/config/default.json→server.port - DID Portal: Set
PORTenvironment variable
Start all services with one command:
./start-services.shVerify all services are running:
./test-services.shTo stop all services:
./stop-services.shIf you prefer to start services individually:
# Start updater service
cd updater
npm install
npm run dev
# Start resolver service
cd resolver
npm install
npm run dev
# Start DID Portal
cd did-portal
npm install
npm run devAfter starting all services, open the DID Portal in your browser.
For detailed usage instructions with screenshots and step-by-step guides, see: 📖 User Guide
- Register Agent - Create a new DID identity on the blockchain
- Upload DID Document - Store your identity information
- Query DID Document - Retrieve and verify DID information
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
- Documentation: User Guide
- ERC-8004 Standard: https://eips.ethereum.org/EIPS/eip-8004
- DID Specification: https://www.w3.org/TR/did-core/
Built with ❤️ using ERC-8004