使用区块链应用程序构建器 CLI 创建链代码项目
要在使用区块链应用程序构建器 CLI 时创建链代码项目,请从详细规范文件中支架链代码项目。然后,生成的项目包含所需的所有文件。
背景信息
init
命令可初始化并支持现成可用的链代码项目。基于简单输入,init
命令可以生成包含以下功能的复杂链代码项目:
- 多个资产(模型)及其行为(控制器)
- 自动生成 CRUD (Create/Read/Update/Delete) 和非 CRUD 方法
- 自动验证参数
- 编组/编组参数
- 透明持久性功能 (Transparent Persistence Capacity,ORM)
- 调用富查询的能力
生成的项目遵循模型/控制器和修饰符模式,该模式允许将分类帐上维护的资产属性指定为类型字段,并使用特定行为和验证规则进行扩展。这种模式减少了代码行数,这有助于提高可读性和可扩展性。
先决条件
在构建项目之前,必须创建一个输入规范文件。有关更多信息,请参见 Input Specification File 。
使用 init
命令构建链代码项目
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 。 - -- 输出/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 方法。
输出