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