我正在尝试使用“composer transaction submit ...”提交交易。我收到一条错误,指出缺少transactionId值...只有当我添加一个随机transactionId时才接受该事务,但在Playground中,用于提交事务的JSON不包含transactionId并且执行正常(虽然我知道它是嵌入在Playground中的javascript Fabric模拟器。
因此,为了使用CLI或REST API提交事务,如果事务尚未执行,我应该如何生成/知道事务ID?谢谢。使用REST API时,它的工作方式相同吗?
这是我得到的错误:
Error: Invalid or missing identifier for Type OwnerCreationTransaction in namespace com.namespace.model
at Factory.newResource (/usr/local/lib/node_modules/composer-cli/node_modules/composer-common/lib/factory.js:89:19)
at Serializer.fromJSON (/usr/local/lib/node_modules/composer-cli/node_modules/composer-common/lib/serializer.js:141:37)
at then.then.e (/usr/local/lib/node_modules/composer-cli/lib/cmds/transaction/lib/submit.js:83:39)
Command failed.
OwnerCreationTransaction具有以下定义:
transaction OwnerCreationTransaction identified by transactionId {
o String transactionId
o String id
o String lastName
o String firstName
o String address
o String city
o String state
o String phone
o String email
}
答案 0 :(得分:3)
交易ID是提交者提供的值,虽然它可能不是唯一的,但强烈建议您为提交的每个交易使用唯一标识符。在游乐场的情况下,它会自动为您提供一个uuid作为标识符。 然而你正确地强调的是操场,cli和其他api之间的不一致,应该是一致的看 https://github.com/fabric-composer/fabric-composer/issues/538 了解更多信息。