iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 11
0

簡介

Substrate 是一個區塊鏈平台,擁有通用的狀態轉換功能(State Transition Function, STF)。及模組化的元件,可以實現共識,網路和設定等功能。除此之外,它還提供底層數據結構的標準和慣例。尤其是執行平台模組庫(Substrate Runtime Module Library, SRML),使得區塊鏈的快速開發模式得以實現。

核心數據類型

Substrate 的底層核心有下列幾種數據類型:

  • Hash:一種編碼某些數據的加密摘要的類型。通常只有256位。
  • BlockNumber:一種編碼任何有效塊具有的祖先總數的類型。通常為32位。
  • DigestItem:該類型必須能夠編碼與共識和變更跟踪有關的許多“硬連線”替代方案之一,以及與運行時內的特定模塊有關的任何數目的“軟編碼”變量。
  • Digest:基本上只是一系列 DigestItems,它將對與輕客戶端相關的所有信息進行編碼。
  • Header:一種代表(以密碼或其他方式)與塊相關的所有信息的類型。它包括父哈希,存儲根和外部樹根,摘要和塊號。
  • Extrinsic:一種表示區塊鏈外部可識別的數據的類型。這通常涉及一個或多個簽名,以及某種編碼指令(例如,用於轉移資金所有權或調用智能合約)。
  • Block:基本上只是,Header 和一系列的組合,以及 Extrinsic 要使用的哈希算法的規範。

上述每一種數據類型,在 SRML 中有提供相對應的通用參考實作。

Substrate 框架

Substrate 框架可分為:

  1. Substrate Core:共識,P2P,交易池,RPC
  2. Runtime:虛擬機等,需要對運行結果進行共識的功能組件應該歸屬於 Runtime

Substrate 將區塊鏈系統設計模組化,提供整體框架功能。且由於設計上將 Runtime 解耦合抽離,實現了區塊鏈系統的升級功能。

因此 Substrate 是一個完整的區塊鏈開發框架,具有許多很酷的功能:

  • 可升級的區塊鏈
  • 模組化架構
  • 可定制的塊執行邏輯
  • 熱插拔共識

開發方式

使用 Node:
通過運行預先設計的 Substrate 節點,並使用包含當前運行時的創世塊進行配置。在這種情況下,主要允許更改各種運行時模塊的創建參數,例如餘額,抵押,塊週期,費用和治理。這提供最少的可定制性,但只需配置一個 JSON 文件,即可啟動自己的區塊鏈。

使用 SRML:
通過將SRML中的模塊組合到新的運行時,可添加新的自定義模塊,並可更改或重新配置 Substrate 客戶端的塊生成邏輯。
(1)不修改塊生成邏輯,則現有的 Substrate 二進製文件可用於塊生成和同步。
(2)需要調整塊生成邏輯,則須將更改後的新塊邏輯二進製文件構建為單獨的項目,並由驗證器使用。這提供可定制的自由度,可添加自己的模塊。這是 Polkadot 中繼鏈的構建方式。

使用 Core:
可以忽略整個 SRML,並從頭開始設計和實現整個運行時。
(1)可以使用 Rust 之外的語言完成,它可以 WebAssembly 為目標。
(2)如果可以使運行時與 Substrate 節點抽象的塊生成邏輯兼容,那麼可以簡單地從 Wasm blob 構建一個新的 genesis 塊,並使用現有的基於 Rust 的 Substrate 客戶端啟動新的鏈。
(3)如果沒有,那麼需要相應地改變客戶端的塊生成邏輯,甚至可能改變區塊頭和塊序列化格式。在開發方面,這是迄今為止使用 Substrate 最艱難的方法,但也提供了最大的創新自由。

接下來的三十天內,就讓我們一起跟著小明的團隊一起學習最新的兩大跨鏈技術之一:Polkadot Substrate。

Substrate 開發者資源:
https://substrate.dev

Polkadot 官網:
https://polkadot.network

BDE 社群小聚錄影:
https://bitlly.co/ogvpb


想找區塊鏈人才或想學習區塊鏈知識的夥伴。歡迎參加社群小聚,一起來輕鬆交流、互相學習成長、認識新朋友、發現新機會!
 
台北區塊鏈社群
https://bitlly.co/Q4dIK

台北波可道社群
https://bitlly.co/XgVTz
 
BDE 區塊鏈學院 - 讓每個企業都懂區塊鏈。
https://bitlly.co/mbDwX

藉著親自並協助他人進行軟體開發,
我們正致力於發掘更優良的軟體開發方法。
透過這樣的努力,我們已建立以下價值觀:
個人與互動 重於 流程與工具
可用的軟體 重於 詳盡的文件
與客戶合作 重於 合約協商
回應變化 重於 遵循計劃
也就是說,雖然右側項目有其價值,
但我們更重視左側項目。


上一篇
Web 3.0 - 下一代區塊鏈開發框架
下一篇
Web 3.0 - Polkadot Substrate 模組化設計
系列文
新一代跨鏈技術 Polkadot Substrate 區塊鏈開發框架13
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言