How hemanth18gowda01-byte/demo works
BEL Digital Asset combines DID-based identity and access management, encrypted identity/document handling, and blockchain asset lifecycle and marketplace features. The principal workflow runs from a wallet-connected frontend through API or contract calls: users authenticate, manage private identity data or assets, and can list or buy NFTs using stablecoins. The graph preserves these distinct paths and the smart-account layer. Some route and contract implementations were not sampled, so their links reflect documented capabilities and visible frontend calls rather than assumed internal call chains.
Main entry points: contracts.js Wallet and contracts · main.py FastAPI app · dashboard.html Dashboard pages · assets.js Asset UI
Components 29
Web frontend
- Dashboard pages
frontend/dashboard.html - Identity UI
frontend/js/identity.js - Asset UI
frontend/js/assets.js - Marketplace UI
frontend/js/marketplace.js - Access UI
frontend/js/access.js - Wallet and contracts
frontend/js/contracts.js - API client
frontend/js/api.js
Identity backend
- FastAPI app
backend/main.py - Wallet authentication
backend/services/auth.py - Secure identity routes
backend/routes/secure_identity.py - Identity routes
backend/routes/identity.py - Access routes
backend/routes/access.py - Verification routes
backend/routes/verification.py - Asset routes
backend/routes/assets.py - Data encryption
backend/services/encryption.py - Blockchain service
backend/services/blockchain.py - ZK service
backend/services/zk.py
On-chain system
- Access control
src/AccessControl.sol - Identity registry
src/IdentityRegistry.sol - Asset NFT
src/AssetNFT.sol - NFT marketplace
src/AssetMarketplace.sol - ZK verifier
src/ZKVerifier.sol - Stablecoin transactions
src/StableCoinTransaction.sol - Smart account
src/accountAbstraction/SmartAccount.sol
Private state
- SQLite identity store
database/database.py
Other components
- User
- Wallet provider
- Sepolia network
- USDC token
Connections 38
- User → Dashboard pages: uses
- Dashboard pages → Identity UI: opens identity
- Dashboard pages → Asset UI: opens assets
- Dashboard pages → Marketplace UI: opens marketplace
- Dashboard pages → Access UI: opens access
- Identity UI → API client: requests API
- Asset UI → API client: saves metadata
- API client → FastAPI app: sends requests
- FastAPI app → Wallet authentication: mounts auth
- FastAPI app → Secure identity routes: mounts routes
- FastAPI app → Identity routes: mounts routes
- FastAPI app → Access routes: mounts routes
- FastAPI app → Verification routes: mounts routes
- FastAPI app → Asset routes: mounts routes
- Wallet authentication → SQLite identity store: stores challenges
- Wallet authentication → Wallet provider: verifies signature
- Secure identity routes → Wallet authentication: checks session
- Secure identity routes → Data encryption: encrypts data
- Secure identity routes → SQLite identity store: reads and writes
- Asset routes → Blockchain service: reads asset
- Asset routes → API client: returns metadata
- Identity UI → Wallet and contracts: connects wallet
- Asset UI → Wallet and contracts: submits transactions
- Marketplace UI → Wallet and contracts: submits transactions
- Access UI → Wallet and contracts: submits transactions
- Wallet and contracts → Wallet provider: requests signatures
- Wallet and contracts → Sepolia network: reads and sends
- Wallet and contracts → Identity registry: calls contract
- Wallet and contracts → Access control: calls contract
- Asset UI → Asset NFT: mints and manages
- Marketplace UI → NFT marketplace: lists and buys
- Marketplace UI → USDC token: checks and approves
- NFT marketplace → USDC token: settles trade
- NFT marketplace → Asset NFT: transfers NFT
- Sepolia network → ZK verifier: executes
- Sepolia network → Stablecoin transactions: executes
- Sepolia network → Smart account: executes
- Verification routes → ZK service: verifies proof