使用区块链应用构建器 CLI 创建链代码项目
要在使用区块链应用程序构建器 CLI 时创建链代码项目,请从详细规范文件支架链代码项目。然后,生成的项目包含所需的所有文件。
背景信息
init
命令可初始化和支架一个现成可用的链代码项目。基于简单输入,init
命令可以生成包含以下功能的复杂链代码项目:
- 多个资产(模型)及其行为(控制器)
- 自动生成 CRUD(创建/读取/更新/删除)和非 CRUD 方法
- 自动验证参数
- 编组/取消编组论点
- 透明持久性 (ORM) 能力
- 调用富查询的功能
生成的项目遵循模型/控制器和修饰器模式,该模式允许在分类账上维护的资产属性指定为类型字段,并通过特定的行为和验证规则进行扩展。这种模式减少了代码行数,有助于提高可读性和可扩展性。
先决条件
在支架项目之前,必须创建输入规范文件。有关更多信息,请参见 Input Specification File 。
使用 init
命令构建 Chaincode 项目
ochain init -h
将列出命令用法及其所有选项。init
命令包含以下选项:
- --cc/-c:
链代码项目的名称。默认值为
MyChaincode
。 - --lang/-l
脚手架链代码的语言。Blockchain App Builder 支持 Typescript (
ts
) 和 Go (go
)。如果未指定任何选项,则语言默认为ts
。 - --conf/-f 或 --spec
输入规范文件的路径。Blockchain App Builder 读取输入规范文件并使用许多辅助工具生成支架项目,这有助于减少整体开发工作。充分利用输入规范文件可以显著缩短开发时间。
规范文件可以采用
yaml
或json
格式。如果未指定路径,则缺省为当前目录。请参见 Input Specification File 。 - --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 方法。
输出