使用 Blockchain App Builder CLI 建立 Chaincode 專案
若要使用 Blockchain App Builder 建立鏈碼專案,您必須從詳細的規格檔案編制鏈碼專案。
背景
init
命令可初始化並編寫立即可用的鏈碼專案。根據簡單輸入,init
命令可以產生包含下列功能的複雜鏈碼專案:
- 多個資產 (模型) 及其行為 (控制器)
- 自動產生的 CRUD (建立 / 讀取 / 更新 / 刪除) 和非 CRUD 方法
- 自動驗證引數
- 引數的封送處理 (Marshal) / 解除封送處理 (unmarshal)
- 透明持續性功能 (ORM)
- 豐富的查詢支援
產生的專案會遵循模型 / 控制器和裝飾器樣式,讓在分類帳上維護的資產特性可指定為類型欄位,並以特定行為和驗證規則延伸。這個樣式會減少程式碼行的數目,以協助提高可讀性和擴展性。
先決條件
您必須先建立輸入規格檔案,才能建立專案結構。如需詳細資訊,請參閱輸入規格檔案。
使用 init
命令編寫 Chaincode 專案
ochain init -h
會列出命令用法和選項。init
指令具有下列選項:
- -- cc/-c:
鏈碼專案的名稱。預設值為
MyChaincode
。 - --lang/-l
鷹架式鏈碼的語言。區塊鏈 App 產生器支援 TypeScript (
ts
) 和 Go (go
)。若未指定任何選項,則語言預設為ts
。 - --conf/-f 或 --spec
輸入規格檔案的路徑。Blockchain App Builder 會讀取輸入規格檔案,並產生含有許多協助工具的鷹架式專案,這有助於減少整體的開發工作。充分利用輸入規格檔案可大幅縮短開發時間。
規格檔案的格式可以是
yaml
或json
。如果未指定路徑,則預設為目前的目錄。請參閱輸入規格檔案。 - --out/-o
鷹架式鏈碼專案的輸出目錄。如果未指定,會在目前的目錄中產生鷹架式專案。
輸出是一個完全包含、輕量且可擴展的 TypeScript 或 Go 鏈碼專案。
- -- root/-r
有效且僅適用於 Go。Go 鏈碼之 GOHOME 變數中的根目錄。預設值為
example.com
。
ochain init --cc MyNewTsProject --lang ts --conf spec.yml
預設值
如果 ochain init
命令中未指定任何選項,則框架專案的名稱為 MyChaincode
,語言為 TypeScript。
MyChaincode.model.ts
檔案只包含一個名為 MyAsset
的資產,其中有一個名為 value
的特性。MyChaincode.controller.ts
檔案包含一個控制器,其中包含 MyAsset
模型的對應 CRUD 方法。
輸出