diff --git a/slides/README.md b/slides/README.md new file mode 100644 index 0000000..c50bc4a --- /dev/null +++ b/slides/README.md @@ -0,0 +1,19 @@ +# 簡報 + +| 檔案 | 說明 | +| --- | --- | +| [`conssswars-weightless-memory.pdf`](conssswars-weightless-memory.pdf) | 5 頁,1280×720(16:9),給 0G 黑客松評審 | +| `deck.html` | 產生上面那份 PDF 的原始檔,用瀏覽器打開就能看 | + +## 五頁的內容 + +1. **封面** —— ConSSS Wars 目前釋出的兩個版本:鏈之迴響(已上線)與無重之憶(本次提交) +2. **遊戲畫面** —— 標題 / 作戰簡報 / 戰鬥 / 結果,四張都是實機擷取 +3. **0G 技術表** —— 用了哪些 0G 技術、為什麼要用、在哪一行程式碼 +4. **連結** —— Play / Demo 影片 / GitHub / X / 鏈之迴響 的 QR code +5. **交件時的真實狀態** —— 三條賽道各自驗證到什麼程度,照實標示 + +## 重新產生 + +改完 `deck.html` 之後用無頭瀏覽器印成 PDF 即可(1280×720、開啟背景列印)。 +截圖來自實際跑起來的遊戲,不是示意圖;QR code 由 URL 直接編碼,改連結記得重新產生並用手機掃過確認。 diff --git a/slides/conssswars-weightless-memory.pdf b/slides/conssswars-weightless-memory.pdf new file mode 100644 index 0000000..d85c337 Binary files /dev/null and b/slides/conssswars-weightless-memory.pdf differ diff --git a/slides/deck.html b/slides/deck.html new file mode 100644 index 0000000..7558e4e --- /dev/null +++ b/slides/deck.html @@ -0,0 +1,226 @@ + +ConSSS Wars — 無重之憶 + + + +
+ +
+

0G Hackathon · Consss Lab

+

鏈州英雄傳 ConSSS Wars

+

目前共釋出兩種版本

+
+
+

已上線

+

鏈之迴響

+

Echoes of Chainoa

+

play.conssswars.com

+
+
+

本次黑客松提交版本

+

無重之憶

+

Weightless Memory

+

conssswars-web.pages.dev

+
+
+
+
1 / 5
+
+ + +
+

Gameplay

+

一分鐘打完的回合制策略戰

+
+
+
+

標題即時顯示 0G Galileo 區塊高度
與敵方 agent 的模型

+
+

作戰簡報三位英雄:零 · 蕙 · 刃

+
+

戰鬥三條記憶迴廊、每回合 2 點算力
顧不了三條就是取捨

+
+

結果記憶碎片、0G 三賽道燈號
與「鏈上存證」對照表

+
+
2 / 5
+
+ + +
+

0G Integration

+

用了哪些 0G 技術 · 為什麼要用 · 在哪一行

+
+
0G Compute 的 TEE agent 寫出戰報敘述 + └─▶ 記憶碎片 ──算 merkle root、玩家錢包付費──▶ 存進 0G Storage + └─▶ 碎片的 SHA-256 ──合約建立交易──▶ 錨定 0G Chain ──讀回來逐欄比對──▶ ✓
+ + + + + + + + + + + + + + + + + + + +
0G 技術為什麼要用它程式碼位置
0G Compute
TEE 可驗證推論
戰報要永久存檔,寫它的 agent 就不能是黑箱。金鑰在 pc.0g.ai 選 Private(TEE enclave),推論實際跑在 enclave 裡。functions/api/narrate.js#L55-L134
0G Storage
真實寫入
「永久保存」就必須真的落地。官方 SDK 走完整協議:256-byte chunk 算 merkle root → Flow 合約 submit → segment 傳給 storage node。全程玩家錢包簽,伺服器不持有私鑰。public/js/storage.js#L53-L85
0G Storage
indexer 唯讀查詢
「上傳沒報錯」不等於存進去了。拿 root hash 回頭問 indexer,確認節點收下並 finalized 才敢標成已存檔。不需金鑰,評審可自行查證。functions/api/og/storage.js#L76-L114
0G Chain
錨定寫入
戰報需要不可竄改、有時間戳的存在證明。40 bytes 結構化 calldata(魔術字 CSSW + 戰績 + SHA-256),用合約建立交易送出。functions/api/og/shard.js#L62-L84
public/js/og.js#L174-L199
0G Chain
鏈上回驗
整個專案的重點:按了按鈕、錢包沒報錯,不代表資料真的在鏈上。用 eth_getTransactionByHash 讀回來、反解 calldata、逐欄比對,四項全對才打勾。functions/api/og/verify.js#L19-L104
+
3 / 5
+
+ + +
+ +
4 / 5
+
+ + +
+

Status

+

交件時三條賽道的真實狀態

+
+
+

0G Compute

● 線上實測通過

+
  • 金鑰為 TEE enclave 模式
  • 畫面顯示 deepseek-chat-v3-0324 · TEE
  • 敵方 agent 另走 OpenAI(低延遲)
+

0G Storage

◐ 部分驗證

+
  • merkle root 可離線重現驗證
  • indexer 唯讀查詢正常(6 節點)
  • 瀏覽器直傳受節點端 CORS 限制,正解為經自架 Worker 轉發
+

0G Chain

● 線上實測通過

+
  • 錨定交易已上鏈並取得區塊
  • 從鏈上讀回 calldata 逐欄比對
  • 四項(摘要/勝負/回合/核心)全部相符
+
+

我們選擇照實標示而不是含糊帶過。結果畫面的三個燈號直接反映 /api/og/status 的即時回報,沒接上就寫沒接上; + 「鏈上回驗」不是顯示一句成功,而是把鏈上資料讀回來逐欄比給玩家看。評審可用公開唯讀端點自行查證:
+ curl https://conssswars-web.pages.dev/api/og/status · curl "https://conssswars-web.pages.dev/api/og/verify?tx=0x…"

+
5 / 5
+
+ + \ No newline at end of file