架構
Gatoll 把職責拆成四層:結算留在鏈上、資格判定可以靈活迭代。
合約。 PoolFactory 用最小代理為每場 Loot 部署一個獎池。獎池託管資金、執行領取規則、計算分配、處理取回。這層是資金的唯一真相來源。見 智能合約。
驗證服務(後端)。 資格預言機。負責登入驗證、評估 Gate、簽署 EIP-712 領取憑證。不碰資金、不能動帳——只能授權一筆合約會再驗一次的領取。
索引器。 逐鏈掃描獎池事件——創建、存入、領取、取回——寫入可查詢的資料庫,並處理確認與鏈重組。產品介面從索引器讀活動狀態,不用狂打 RPC;Loot 頁面會顯示「待確認 → 已確認」。
內建錢包。 免裝插件的錢包(見 身份與錢包),讓參與者不用瀏覽器擴充功能就能登入和領取。這是用戶端的鑰匙層,也是零摩擦上手的關鍵。
create ──▶ PoolFactory 部署獎池 ──▶ 索引器確認 ──▶ Loot 上線 fund ──▶ contribute()(Pending)──▶ 索引器記錄存入 claim ──▶ 通過 Gate ──▶ 驗證服務簽憑證 ──▶ pool.claim() ──▶ 轉帳 end ──▶ reclaim() ──▶ 出資者取回未領部分鏈上 vs 鏈下
Section titled “鏈上 vs 鏈下”這是設計的核心:
| 職責 | 在哪 | 為什麼 |
|---|---|---|
| 託管與發放 | 鏈上(合約) | 必須可驗證、不可竄改 |
| 分配計算 | 鏈上 | 上線後不能改規則 |
| 資格(Gate) | 鏈下(驗證服務) | 需要 Web2 訊號、要能快速迭代 |
| 活動文案、社群 | 鏈下(後端) | 內容豐富、可改、不涉及資金 |
| 讀取模型 | 索引器 | 查詢快,且能對帳鏈上事件 |
協議唯一信任的鏈下部分就是資格判定;即便如此,驗證服務也只能授權,合約仍決定給誰、給多少、只能一次。凡涉及資金流動的,都在鏈上、可稽核。
同一套後端服務多條鏈,以 chain ID 區分;每條鏈有獨立的驗證密鑰和索引器。合約在各網路獨立部署。Gatoll 率先在 BNB Chain 上線;見 網路。