Skip to content

🏗️ 系統架構說明

本系統基於 Solana 區塊鏈開發,結合去中心化合約與鏈下服務構建,旨在為用戶提供快速、穩定且可信的彩票體驗。以下是系統的整體架構描述:

🧑‍💻 客戶端(Client)

用戶通過瀏覽器(如 Chrome)或 Phantom 錢包訪問我們的 DApp,進行以下操作:

  • 通過 DApp UI 快速查看鏈上信息(由緩存支持)
  • 使用錢包進行登錄、授權與交互
  • 通過 Web3.js 與智能合約進行交互(如購票、開獎等)

🌐 Web API 服務

  • 前端 DApp 會請求我們的 Web API 服務獲取鏈上緩存數據(如獎池狀態、票務信息等)
  • Web API 提供高性能的查詢能力,減少用戶訪問鏈上的延遲
  • 數據源來自後端同步服務,保證信息實時性和可靠性

🔄 鏈下定時服務(Scheduled Service)

為了保障鏈上數據的完整性與自動流程的執行,我們構建了鏈下定時任務系統:

  • 監聽服務:定時監聽 Solana 鏈上的事件,如購票、開獎、NFT 變化等
  • 數據同步:將鏈上關鍵數據拉取並解析,寫入本地數據庫,用於用戶界面展示和數據分析

🎲 開獎邏輯架構

我們的開獎流程在鏈下觸發,並保障安全性與可驗證性:

  1. Scheduled Service 到點觸發開獎邏輯
  2. 調用智能合約 MythPool 合約,並請求 Switchboard VRF 合約生成隨機數
  3. VRF 合約返回鏈上可驗證的隨機數,確保開獎公平
  4. 開獎結果回寫到鏈上,並同步至數據庫

🧱 核心組件一覽

組件描述
🖥️ DApp用戶操作入口,展示和調用合約功能
🔌 Web API中間層,提供高效的鏈上信息查詢
⏱️ Scheduled Service鏈下任務系統,負責監聽、同步與開獎
📦 Database存儲鏈上數據的快照與用戶狀態
⛓️ MythPool 合約彩票業務核心合約
🎰 Switchboard VRF隨機數生成服務,確保開獎公平透明

🔐 安全與性能優化

  • 數據通過鏈下緩存優化讀取速度,確保 DApp 響應流暢
  • 合約交互嚴格依賴用戶簽名,保證安全性
  • 開獎使用鏈上 VRF,防止人為操控

Released under the MIT License.