🏗️ 系統架構說明
本系統基於 Solana 區塊鏈開發,結合去中心化合約與鏈下服務構建,旨在為用戶提供快速、穩定且可信的彩票體驗。以下是系統的整體架構描述:
🧑💻 客戶端(Client)
用戶通過瀏覽器(如 Chrome)或 Phantom 錢包訪問我們的 DApp,進行以下操作:
- 通過 DApp UI 快速查看鏈上信息(由緩存支持)
- 使用錢包進行登錄、授權與交互
- 通過 Web3.js 與智能合約進行交互(如購票、開獎等)
🌐 Web API 服務
- 前端 DApp 會請求我們的 Web API 服務獲取鏈上緩存數據(如獎池狀態、票務信息等)
- Web API 提供高性能的查詢能力,減少用戶訪問鏈上的延遲
- 數據源來自後端同步服務,保證信息實時性和可靠性
🔄 鏈下定時服務(Scheduled Service)
為了保障鏈上數據的完整性與自動流程的執行,我們構建了鏈下定時任務系統:
- 監聽服務:定時監聽 Solana 鏈上的事件,如購票、開獎、NFT 變化等
- 數據同步:將鏈上關鍵數據拉取並解析,寫入本地數據庫,用於用戶界面展示和數據分析
🎲 開獎邏輯架構
我們的開獎流程在鏈下觸發,並保障安全性與可驗證性:
- Scheduled Service 到點觸發開獎邏輯
- 調用智能合約 MythPool 合約,並請求 Switchboard VRF 合約生成隨機數
- VRF 合約返回鏈上可驗證的隨機數,確保開獎公平
- 開獎結果回寫到鏈上,並同步至數據庫
🧱 核心組件一覽
組件 | 描述 |
---|---|
🖥️ DApp | 用戶操作入口,展示和調用合約功能 |
🔌 Web API | 中間層,提供高效的鏈上信息查詢 |
⏱️ Scheduled Service | 鏈下任務系統,負責監聽、同步與開獎 |
📦 Database | 存儲鏈上數據的快照與用戶狀態 |
⛓️ MythPool 合約 | 彩票業務核心合約 |
🎰 Switchboard VRF | 隨機數生成服務,確保開獎公平透明 |
🔐 安全與性能優化
- 數據通過鏈下緩存優化讀取速度,確保 DApp 響應流暢
- 合約交互嚴格依賴用戶簽名,保證安全性
- 開獎使用鏈上 VRF,防止人為操控