在上一節,我們快速體驗一把substrate,使用subtrate搭建了一條鏈。在本節,我們則對substrate做一個大體的介紹,有利於我們後續學習substrate官方教程的其它例子。
substrate採用模組化的方法進行開發,它定義了一組豐富的原語,給開發人員提供了強大的、熟悉的程式設計方法。
使用substrate的方式主要有以下幾種:
- 使用subtrate node
開發者可以執行已經設計好的substrate節點,並配置genesis區塊,在此方式下只需要提供一個json檔案就可以啟動自己的區塊鏈。其實我們上一節的substrate初體驗,也可以看成是使用此種方式的一個例子。
- 使用substrate frame
frame其實是一組模組(pallet)和支援庫。使用substrate frame可以輕鬆的建立自己的自定義執行時,因為frame是用來構建底層節點的。使用frame還可以配置資料型別,也可以從模組庫中選擇甚至是新增自己定義的模組。
- 使用substrate core
使用substrate code執行開發者完全從頭開始設計執行時(runtime,問題:什麼是runtime?),當然此種方式也是使用substrate自由度最大的方式。
substrate客戶端主要由以下幾個元件組成:
- 儲存
用來維持區塊鏈系統所呈現的狀態演變。substrate提供了的儲存方式是一種簡單有效的key-value對儲存機制的方式。
- Runtime
這裡就可以回答上面的問題,什麼是runtime?runtime定義了區塊的處理方式,主要是狀態轉換的邏輯。在substrate中,runtime code被編譯成wasm作為區塊鏈儲存狀態的一部分。
- p2p網路
允許客戶端和其它網路參與者進行通訊。
- 共識
提供了一種邏輯,能使網路參與者就區塊鏈的狀態達成一致。substrate支援提供自定義的共識引擎。
- RPC
遠端過程呼叫。
- telemetry(遙測)
透過嵌入式Prometheus伺服器的方式對外展示(我理解應該是類似於區塊鏈瀏覽器一樣的東西,或者是提供資訊給區塊鏈瀏覽器展示)。
www.readblocks.com/archives/71136
本作品採用《CC 協議》,轉載必須註明作者和本文連結