0

我对 Hyperledger Composer 很陌生,我真的需要你们的帮助!

我需要一个资产,该资产将使用 N 数量的属性动态定义,这些属性目前尚不知道,并且将由最终用户定义。

我假设这可以通过在建模语言中使用装饰器来完成,但我没有找到任何可以完全解释如何使用它们的示例,包括前端交互。

为了更清楚,我需要一个关于如何实现这样的结果的建议:

asset $CustomNameFromFrontEnd {
o String id
o $TypeFromFrontEnd1 $PropertyNameFromFrontEnd1
o $TypeFromFrontEnd2 $PropertyNameFromFrontEnd2
…
o $TypeFromFrontEndN $PropertyNameFromFrontEndN
}

如果有人可以帮助我举个例子,我将非常感激我应该如何在 .cto 文件中描述资产以及我应该如何在 logic.js 文件中实现资产创建。

4

2 回答 2

0

我认为在建模语言主题底部记录的装饰器不会做你想做的事。装饰器在设计时添加到模型中,就像所有属性一样。例如,您可以添加注释来影响某些 UI 代码生成:

@frontEndApp("customArgument") asset CustomAsset { o String id o String customProperty1 }

根据数据形状变化的频率以及动态数据的比例,您可以尝试:

  • 根据前端应用程序的输入生成模型(几乎是 yo 生成器用例)
  • 对大部分数据使用静态模型,但在逻辑中对没有模型的小块数据使用 getNativeAPI
  • 在没有 Composer 工具的情况下使用 Fabric
于 2018-06-05T12:52:46.927 回答
0

我已经想出了如何处理它。也许它对其他人有用。以下是我定义 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
}
于 2018-06-05T15:42:48.253 回答