Twin3Demo.mp4
- ✅ ERC-4671 身分辨識 NFT (Kaia 鏈)
- ✅ ERC-20 獎勵代幣系統
- ✅ Web3 錢包簽名驗證
- 驗證流程:
- 生成 Nonce → 用戶請求隨機數
- 錢包簽名 → 用戶用私鑰簽署包含 nonce 的訊息
- 簽名驗證 → 後端驗證簽名確認錢包所有權
- 鏈上查詢 → 連接 Kaia 鏈查詢用戶的 ERC-4671 NFT 餘額
- 身分綁定 → 根據 NFT 持有狀況決定用戶權限
- JWT 發放 → 生成認證 token
- 驗證流程:
- ✅ 完整的前後端架構
- ✅ 多重 RPC 備援機制
- 智能容錯: 6個備用 RPC 端點 + 重試機制
- 安全認證: 加密簽名 + JWT + 鏈上驗證
- 用戶體驗: 一鍵連接錢包 + 直觀操作界面
- 訪問 http://localhost:8080
- 連接 MetaMask 錢包
- 驗證身分並體驗完整功能
- Identity Contract:
0x964f9eE660416a6A70c77Eae4cDcF331a18d8723
- Reward Contract:
0x1E129567ce4B43DecD71410cebA77a3CD3dE0A33
- Network: Kaia Testnet(Kairos)
- you can see in
hardhat.config.js
- Kairos: chainID 1001
- Kaia Mainnet chainID 8217
- you can see in
- 前端: HTML5, CSS3, JavaScript ES6+, Ethers.js
- 後端: Node.js, Express.js, JWT
- 區塊鏈: Solidity ^0.8.20, Hardhat, OpenZeppelin
- 錢包整合: MetaMask Web3 Provider
- 🔥 錢包錯誤處理: 優雅處理用戶拒絕簽名 (Error 4001)
- 🔥 交易狀態追蹤: 即時顯示交易進度與結果
- 🔥 防重複提交: 避免多重簽名請求造成用戶困惑
- 🔥 請求佇列管理: 智能處理並發錢包操作
- 🔥 狀態同步機制: 確保 UI 狀態與錢包狀態一致
- 🔥 用戶引導系統: 新手教學與操作提示
- React/Vue 框架: 建立現代化 SPA 應用
- 響應式設計: 完整的行動裝置支援
- Web3 錢包支援: 增加 WalletConnect, Coinbase Wallet
- 多語言支援: i18n 國際化方案
- 暗黑模式: 現代化使用者介面主題
- 支援其他鏈
- 批次操作: Gas 費優化與批次交易處理
- 🔥 併發控制: 防止重複交易與競態條件 > 例如: Nonce管理, 交易隔離(防Dirty Read & Dirty Write)
- 🔥 請求去重: 智能識別並合併重複操作 -> 例如: Idempotency Key, SWR 風格去重
- 🔥 狀態機管理: 嚴格的交易狀態流程控制
- 快取策略: 智能快取減少 RPC 調用次數 -> 例如: 基於
blockTimes
, 批次請求 - CDN 加速: 靜態資源全球分發 -> 例如: Multi-CDN, 靜態資源優化
- 負載平衡: 高可用性架構設計 -> 導入load balancer, 定期健康檢查、故障移轉
- 併發控制: 防止用戶在同一時間觸發多個錢包操作
- 狀態去重: 智能識別並合併重複的成功/失敗訊息
- 操作佇列: 按順序處理用戶請求,避免競態條件
- 視覺回饋: 清楚顯示當前進行中的操作與剩餘待處理項目
- 一鍵重置: 用戶可以清除所有待處理狀態,重新開始