invoke操作成功后如何获取txid |超级账本结构 2.x
How to get txid after successful invoke operation | hyperledger fabric 2.x
在 HLF 1.4 中,我可以在调用操作成功后获取事务 ID。但是在 HLF 2.x 中,我没有收到 txid。我可以在状态数据库(couch db)中看到我提交给 hlf 的数据。那为什么我没有收到 txid。这是链码的最后一行,
return shim.Success(nil)
使用节点 sdk 提交交易。
result = await contract.submitTransaction(fcn, args);
console.log("Result:", result.toString())
以上一行为空。帮我获取tx id。
函数 submitTransaction
只有 1 line of code:
return this.createTransaction(name).submit(...args);
因此您可以使用此代码代替您的代码:
const transaction = contract.createTransaction(fcn);
const result = await transaction.submit(...args);
console.log("Result:", result.toString())
console.log("TxID:", transaction.getTransactionId());
添加到@harisato_vn 优秀的答案,我发现官方文档 here 在末尾使用大写字母,如 getTransactionID()
,但它实际上是 getTransactionId()
。这让我发疯了一会儿。
在 HLF 1.4 中,我可以在调用操作成功后获取事务 ID。但是在 HLF 2.x 中,我没有收到 txid。我可以在状态数据库(couch db)中看到我提交给 hlf 的数据。那为什么我没有收到 txid。这是链码的最后一行,
return shim.Success(nil)
使用节点 sdk 提交交易。
result = await contract.submitTransaction(fcn, args);
console.log("Result:", result.toString())
以上一行为空。帮我获取tx id。
函数 submitTransaction
只有 1 line of code:
return this.createTransaction(name).submit(...args);
因此您可以使用此代码代替您的代码:
const transaction = contract.createTransaction(fcn);
const result = await transaction.submit(...args);
console.log("Result:", result.toString())
console.log("TxID:", transaction.getTransactionId());
添加到@harisato_vn 优秀的答案,我发现官方文档 here 在末尾使用大写字母,如 getTransactionID()
,但它实际上是 getTransactionId()
。这让我发疯了一会儿。