canopy-network/canopy README 記錄了什麼:一份 JSON-RPC 路由參考
Canopy 網路協定的官方 go 實作。在這裡您會發現:** ➪ 建立區塊鏈的遞歸框架。
秒懂
- 它是什麼?
- 該倉庫是 Canopy Network 協定的官方 Go 實作,其 README 是節點 JSON-RPC API 的逐方法參考。 聚焦本專案的實際功能、技術入口、部署條件、資料流、版本變化與授權邊界,並依官方 README 所列能力判斷適用工作情境和不適合的替代用途。
- 適合誰用?
- README 詳細記錄了交易、查詢、參數和狀態相關的 JSON-RPC API,但沒有說明安裝、認證和端點穩定性。 先以 canopy-network-canopy-deep-analysis README 中的具體命令和檔案路徑完成隔離測試,觀察實際輸出後再決定是否採用。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 3 天前。
- 用什麼語言寫的?
- 主要是 Go(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
這個倉庫是什麼,以及 README 涵蓋的內容
該倉庫是 Canopy Network 協定的官方 Go 實作。隨倉庫提供的 README 位於 cmd/rpc/README.md,它並不是一份總覽專案文件,而是節點 RPC 守護程序所暴露的 JSON-RPC API 的路由參考。想找建置說明、設定檔或共識引擎描述的人在這裡找不到這些內容。README 的範圍是 HTTP 介面本身:一份位於 /v1/、/debug/pprof 和 /v1/eth 下的路由清單,隨後是針對 localhost:50002 的請求與回應結構以及 curl 範例的逐方法文件。
路由索引與有詳細文件的方法
README 以一份超過一百條路由的扁平清單開頭。其中大部分是 /v1/query/ 下的唯讀查詢,涵蓋高度、帳戶、池、驗證者、委員會、參數、供應量、狀態、區塊、交易、事件、訂單、DEX 批次、證據和檢查點資料。一小部分寫入路由位於 /v1/tx 和 /v1/txs 下,而 /v1/admin/ 系列處理金鑰庫管理、交易建構和節點檢查。清單中還包含 /v1/eth、/debug/pprof 和 /debug/pprof/*name,不過 README 除了點名之外沒有記錄這些端點。清單中只有一部分路由配有後面的詳細方法章節,其餘只出現在索引中。
提交交易
有兩個路由用於提交交易。/v1/tx 接受單筆交易並傳回其雜湊(十六進位字串);/v1/txs 接受一個陣列並傳回雜湊陣列。兩者的請求結構相同:type 中的訊息名稱、msg 負載、包含公鑰和簽名的 signature、用於重放保護的微秒級 Unix 建立時間、必須與目前高度相差在 +/- 4320 以內的 createdHeight、fee、可選的 memo、networkID 和 chainID。README 的範例使用 networkID 1 表示主網、2 表示測試網,使用 chainID 1 表示 canopy、2 表示 canary。文件中提到的訊息名稱包括 send、stake 和 edit-stake;路由索引在 /v1/admin/ 下列出了更多交易類型。
帳戶、池與驗證者
帳戶和池的查詢端點共享一套分頁約定:perPage 預設值為 10,最大值為 5,000,pageNumber 預設值為 1。帳戶回應把可花費餘額與 totalAmount 區分開,並透過 vestedAmount、lockedAmount、vestingAmount、vestingStartHeight、vestingCliffHeight 和 vestingEndHeight 展示歸屬計畫,當相關值為零時省略歸屬欄位。池回應攜帶餘額和帶有接收地址的池點數清單。驗證者回應增加了 publicKey、stakedAmount、驗證者所質押的委員會清單、點對點 netAddress、暫停和解除質押的高度、用於接收獎勵的 output 地址,以及兩個布林值:delegate 和 compound。驗證者端點接受針對解除質押、暫停、委託和委員會狀態的篩選,每個篩選條件取 0 表示關閉、1 表示必須滿足、2 表示排除。
委員會、共識與證據
有幾個端點描述委員會如何運作。/v1/query/committee-data 報告委員會最近報告的根鏈高度和鏈高度、其支付百分比接收者,以及已處理的憑證結果交易數量。/v1/query/subsidized-committees 和 /v1/query/retired-committees 傳回鏈 ID 清單。/v1/query/non-signers 列出錯過近期區塊的驗證者,並帶有一個計數器,每次錯過區塊時遞增,並在每個非簽名視窗重置。/v1/query/validator-set 傳回目前為一個委員會進行共識的非委託驗證者,包括公鑰、投票權和網路地址。/v1/query/cert-by-height 暴露給定高度的法定人數憑證,包括標頭、區塊雜湊、結果雜湊,以及商定的獎勵和懲罰接收者。
參數與供應量
節點把協定參數按類別儲存,並分別或合併暴露。/v1/query/params 在一個回應中傳回共識、驗證者、費用和治理物件。單獨的路由分別傳回每個類別:con-params、val-params、fee-params、gov-params 和 eco-params。驗證者參數涵蓋解除質押時長、暫停限制、雙簽和未簽名懲罰百分比、委員會大小限制、訂單大小和補貼閾值。費用參數以最小單位(micro denomination)為每種交易類型設定最低費用。治理參數包括 DAO 獎勵百分比。經濟參數描述每個區塊的鑄造量、分配給委員會的數量、DAO 分成,以及提議者和委託者份額。/v1/query/supply 傳回總供應量、質押量和僅委託量,以及按委員會劃分的明細。
狀態、狀態差異與索引器資料塊
有三個端點可以存取帳本狀態。/v1/query/state 以 genesis.json 格式傳回完整的帳本狀態匯出,包括池、帳戶、未簽名者、驗證者、參數、供應量和訂單簿。/v1/query/state-diff 比較兩個高度並顯示變化的值,舊值和新值一起列印;README 記錄了一個供瀏覽器使用的 GET 變體,以及一個傳回相同結構的 POST 變體。/v1/query/indexer-blobs 以 protobuf 位元組形式傳回指定高度的狀態,包括區塊、帳戶、池、驗證者、DEX 資料、委員會、供應量,以及活躍、暫停和解除質押的驗證者與委託者計數,其中帳戶、池和驗證者以目前區塊與上一區塊之間的增量形式傳回。
管理路由與待核實的問題
/v1/admin/ 系列是 API 的操作面。它管理金鑰庫(new-key、import、import-raw、delete、get),按類型提交交易(send、stake、edit-stake、unstake、pause、unpause、change-param、dao-transfer、訂單建立與編輯、DEX 訂單、補貼、發起投票和投票),並暴露節點內部資訊,如資源使用、對等節點資訊、共識資訊、對等節點簿、設定和日誌。README 列出了這些路由,但沒有記錄它們的請求或回應結構。README 也沒有說明守護程序如何啟動、管理端點如何認證、/v1/eth 端點接受什麼,或者哪些列出的路由被認為是穩定的。這些細節需要在其他地方核實,README 本身也沒有給出這個 Go 實作的安裝或建置說明。專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果專案文件核對命令路徑設定輸出日誌測試版本部署權限資料流程結果
編輯結論
README 詳細記錄了交易、查詢、參數和狀態相關的 JSON-RPC API,但沒有說明安裝、認證和端點穩定性。 先以 canopy-network-canopy-deep-analysis README 中的具體命令和檔案路徑完成隔離測試,觀察實際輸出後再決定是否採用。
社群筆記