在composer-rest-server中创建参与者或资产时无法实例化抽象类型

时间:2018-08-01 09:07:40

标签: hyperledger-fabric hyperledger-composer

我的模型如下

abstract concept Address {
  o String street
  o String zip
  o String city
  o String country
}

participant Actor identified by userId {
  o String userId
  o String firstName
  o String name
  o Address address
}

在composer rest服务器中发布新的Actor时,出现以下错误

  

“无法实例化名称空间中的抽象类型地址   io.mydomain.myapp”,

我在这里错过了什么?

1 个答案:

答案 0 :(得分:1)

抽象类型不是要实例化的,因此也难怪它无法创建。

阅读:https://hyperledger.github.io/composer/latest/reference/cto_language

具体来说,这句话很有趣:

  

可选的“抽象”声明,指示该类型不能   被创建。抽象资源可以用作其他资源的基础   类扩展。抽象类的扩展不继承   抽象状态。例如,上面定义的资产工具应   永不创建,因为应该有更具体的资产类别   定义为扩展它。

考虑文档的Concepts子标题。

TL; DR:阅读文档。