Hyperledger Composer 建模语言中的装饰器
Decorators in Hyperledger Composer Modeling Language
我是 Hyperledger Composer 的新手,我真的需要你们的帮助!
我需要一个动态定义的资产,其中包含 N 个目前未知的属性,这些属性将由最终用户定义。
我假设这可以通过在建模语言中使用装饰器来完成,但我没有找到任何示例来充分说明如何使用它们,包括前端交互。
为了更清楚,我需要一个关于如何实现这样的结果的建议:
asset $CustomNameFromFrontEnd {
o String id
o $TypeFromFrontEnd1 $PropertyNameFromFrontEnd1
o $TypeFromFrontEnd2 $PropertyNameFromFrontEnd2
…
o $TypeFromFrontEndN $PropertyNameFromFrontEndN
}
如果有人可以帮助我提供 示例,我将不胜感激 我应该如何描述 .cto 文件中的资产以及我应该如何在 logic.js 文件。
我认为 Modeling Language topic 底部记录的装饰器不会为所欲为。装饰器是在设计时添加到模型中的,就像所有属性一样。例如,您可以添加注释来影响某些 UI 代码生成:
@frontEndApp("customArgument")
asset CustomAsset {
o String id
o String customProperty1
}
根据数据形状变化的频率以及数据的动态比例,您可以尝试:
- 根据来自前端应用程序的输入生成模型(几乎是 yo 生成器用例)
- 对大部分数据使用静态模型,但在您的逻辑中对没有模型的小块数据使用 getNativeAPI
- 在没有 Composer 工具的情况下使用 Fabric
我已经想出如何处理它了。也许它对其他人有用。这是我定义 CustomAsset 的方式:
enum FieldType {
o String
o Double
o Boolean
o Integer
o DateTime
o Long
}
concept customFieldName {
o String customFieldName
}
concept customFieldValue {
o FieldType customFieldValue
}
concept customField {
o customFieldName customFieldName
o customFieldValue customFieldValue
}
asset CustomAsset identified by id {
o String id
o String assetName
o customField[] customFields
}
transaction CreateCustomAsset {
o CustomAsset customAsset
}
我是 Hyperledger Composer 的新手,我真的需要你们的帮助!
我需要一个动态定义的资产,其中包含 N 个目前未知的属性,这些属性将由最终用户定义。
我假设这可以通过在建模语言中使用装饰器来完成,但我没有找到任何示例来充分说明如何使用它们,包括前端交互。
为了更清楚,我需要一个关于如何实现这样的结果的建议:
asset $CustomNameFromFrontEnd {
o String id
o $TypeFromFrontEnd1 $PropertyNameFromFrontEnd1
o $TypeFromFrontEnd2 $PropertyNameFromFrontEnd2
…
o $TypeFromFrontEndN $PropertyNameFromFrontEndN
}
如果有人可以帮助我提供 示例,我将不胜感激 我应该如何描述 .cto 文件中的资产以及我应该如何在 logic.js 文件。
我认为 Modeling Language topic 底部记录的装饰器不会为所欲为。装饰器是在设计时添加到模型中的,就像所有属性一样。例如,您可以添加注释来影响某些 UI 代码生成:
@frontEndApp("customArgument")
asset CustomAsset {
o String id
o String customProperty1
}
根据数据形状变化的频率以及数据的动态比例,您可以尝试:
- 根据来自前端应用程序的输入生成模型(几乎是 yo 生成器用例)
- 对大部分数据使用静态模型,但在您的逻辑中对没有模型的小块数据使用 getNativeAPI
- 在没有 Composer 工具的情况下使用 Fabric
我已经想出如何处理它了。也许它对其他人有用。这是我定义 CustomAsset 的方式:
enum FieldType {
o String
o Double
o Boolean
o Integer
o DateTime
o Long
}
concept customFieldName {
o String customFieldName
}
concept customFieldValue {
o FieldType customFieldValue
}
concept customField {
o customFieldName customFieldName
o customFieldValue customFieldValue
}
asset CustomAsset identified by id {
o String id
o String assetName
o customField[] customFields
}
transaction CreateCustomAsset {
o CustomAsset customAsset
}