输入规范文件
Blockchain App Builder 初始化命令读取输入规范文件,并使用多个工具生成脚手架项目,以协助链代码开发过程。
使用规范文件,您可以指定多个资产定义和行为、CRUD 和非 CRUD 方法声明、自定义方法、参数验证、自动编集/解编集、透明持久性功能,以及使用 SQL SELECT 或 CouchDB 查询语言调用富数据查询。将为您生成这些功能。
yaml
或 json
中。您可以在下载 Blockchain App Builder 程序包时看到两种格式的示例规范文件:
Fabcar-Typescript.yml
Marbles-Go.yml
注意:
按照 Go 约定,导出的名称以大写字母开头。因此,所有资产属性和方法的名称必须在规范文件中以大写字母开头。规范文件的结构
通常,您可以按以下方式构造规范文件:
assets:
name:
type:
properties:
name:
type:
id:
derived:
strategy:
algorithm:
format:
mandatory:
default:
validate:
methods:
crud:
others:
customMethods:
区块链应用程序构建器支持两种特殊资产类型,即嵌入式资产和令牌资产,以及没有指定类型的通用资产。特殊资产在规范文件的 assets:
部分下定义为 type: embedded
或 type: token
。
表 7-2 规范文件参数说明和示例
进入 | 说明 | 示例 |
---|---|---|
assets: |
此属性接受资产的定义和行为。您可以在此处提供多个资产定义。 |
|
name: |
资产的名称。 以下名称是保留名称。请勿将这些名称用于资产。
|
|
type: |
资产类型 支持以下特殊资产类型:
如果未在 |
|
type: 类型:嵌入式 |
如果此属性设置为 在示例中,属性 嵌入式资产不支持循环引用。例如,在上一个示例中, |
资产:
employee
资产:
address
|
properties: |
描述资产的所有属性。 |
|
name: |
属性的名称。 |
|
id: |
此项指定此资产的标识符。此属性为强制属性。 |
|
type: |
属性类型 支持以下基本属性类型:
对于 Go 链代码,
number 映射到 int ,float 映射到 float64 。当前不支持其他类型,包括以下类型:
|
|
derived: |
此属性指定 id 属性派生自其他键。相关属性应为 此属性具有两个必需参数:
示例 1:
示例 2:
|
示例 1
示例 2
|
mandatory: |
相应属性是必需的,在创建资产时无法跳过。 |
|
default: |
这将提供此属性的默认值。 |
|
validate: |
将根据 Blockchain App Builder 提供的某些现成验证来验证给定属性。如果确保链有效,则可以链接验证。 如果未提供 |
|
validate: 类型:数字 |
这些验证可以用逗号分隔。 |
|
validate: type:字符串 |
对于 Go 链代码,应正确转义包含某些保留字符或空格字符的正则表达式。 |
|
validate: 类型:boolean |
在示例中,属性 |
|
validate: 类型:数组 |
通过键入本身,以 可以按 |
|
validate: 类型:日期 |
日期应为以下格式之一:
|
|
methods: |
使用此项可以说明将生成哪些 CRUD (Create/Read/Update/Delete) 或其他方法。 默认情况下,如果未输入任何内容,将生成所有 CRUD 和其他方法。 |
|
crud: |
如果此数组留空,则不会创建 CRUD 方法。 如果根本不使用
|
|
others: |
如果此数组留空,则不会创建其他方法。 如果根本不使用
|
|
customMethods: |
此属性在主控制器文件中创建可调用的定制方法模板。它接受方法签名并在控制器文件中创建函数声明。 您可以在此处提供特定于语言的函数声明。 我们提供了名为 |
TypeScript
开始
|