1

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

1 回答 1

3

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

于 2017-03-21T10:35:56.493 回答