输入规范文件
Blockchain App Builder 初始化命令读取输入规范文件并生成基架项目,其中包括用于帮助链代码开发过程的工具。
在规范文件中,您可以指定多个资产定义和行为、CRUD 和非 CRUD 方法声明、定制方法、参数验证、自动编集/解编集、透明持久性功能,以及使用 SQL SELECT 语句或 CouchDB 查询语言完成富数据查询的功能。这些功能是为您生成的。
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:
Blockchain App Builder 支持两种特殊资产类型,嵌入式资产和令牌资产,以及没有指定类型的通用资产。特殊资产在规范文件的 assets:
部分下定义为 type: embedded
或 type: token
。
表 3-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: |
给定属性将根据区块链应用构建器提供的某些现成可用验证进行验证。如果确保链有效,则可以链接验证。 如果未提供 |
|
validate: 类型:数字 |
这些验证可以链接在一起,以逗号分隔。 |
|
validate: 类型:字符串 |
对于 Go 链代码,必须正确转义包含某些保留字符或空格字符的正则表达式。 |
|
validate: 类型:布尔 |
在示例中,属性 |
|
validate: 类型:数组 |
通过键入自身,以 可以按 |
|
validate: 类型:日期 |
日期必须为以下格式之一:
|
|
methods: |
使用此项可说明要生成的 CRUD(创建/读取/更新/删除)或其他方法。 默认情况下,将生成所有 CRUD 和其他方法。 |
|
crud: |
如果此数组留空,则不会创建 CRUD 方法。 如果未指定
|
|
others: |
如果此数组留空,则不会创建其他方法。 如果根本不使用
|
|
customMethods: |
此属性在主控制器文件中创建可调用的定制方法模板。它接受方法签名,并在控制器文件中创建函数声明。 您可以在此处提供特定于语言的函数声明。 提供了名为 |
TypeScript
开始
|