提交交易

时间:2017-03-20 00:25:05

标签: hyperledger-composer

我正在尝试使用“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
}

1 个答案:

答案 0 :(得分:3)

交易ID是提交者提供的值,虽然它可能不是唯一的,但强烈建议您为提交的每个交易使用唯一标识符。在游乐场的情况下,它会自动为您提供一个uuid作为标识符。 然而你正确地强调的是操场,cli和其他api之间的不一致,应该是一致的看 https://github.com/fabric-composer/fabric-composer/issues/538 了解更多信息。