我怎么知道哪个 Peer 在 Hyperledger Fabric Go 中进行了交易?
How do i know, which Peer did the Transaction in Hyperledger Fabric Go?
我正在努力获取交易 ID 信息,它将提供交易的对等详细信息。目前,我能够检索密钥的历史记录,这会为我提供提交给该密钥的事务列表。
我的代码:
historyRes, err := stub.GetHistoryForKey(userNameIndexKey)
if err != nil {
return shim.Error(fmt.Sprintf("Unable to get History key from the ledger: %v", err))
}
for historyRes.HasNext() {
history, errIt := historyRes.Next()
if errIt != nil {
return shim.Error(fmt.Sprintf("Unable to retrieve history in the ledger: %v", errIt))
}
deleted := history.GetIsDelete()
ds := strconv.FormatBool(deleted)
fmt.Println("History TxId = "+history.GetTxId()+" -- Delete = "+ds)
}
输出
History TxId = 78c8d17c668d7a9df8373fd85df4fc398388976a1c642753bbf73abc5c648dd8 -- Deleted = false
History TxId = 102bbb64a7ca93367334a8c98f1f7be17e6a8d5277f0167c73da47072d302fa3 -- Deleted = true
但是我不知道,这个交易是哪个peer做的。 fabric-sdk-go 中是否有任何 API 可用以检索交易 ID 的对等信息。
请给我一些解决方案。
调用stub.GetHistoryForKey(userNameIndexKey)
将查询状态数据库而不是分类帐(通道)。有关进行交易的身份的信息存储在块中。
我已经用 NodeJS SDK 实现了同样的事情。然而,Go SDK 也包含类似的 API 调用。以下步骤对我有用:
- 使用您的 SDK,获取 transactionId
- 使用SDK的transactionId查询区块功能。参考文献 here.
- 在这一步,您将获得区块。现在提交者的身份位于此块内。提示:Payload -> Header -> Signature Header -> Creator -> IdBytes.
- 这些身份字节是提交者的 X509 证书。您可以阅读证书信息以找出哪个成员提交了此交易。主题和 OU 将指示执行交易的同行的组织。
我正在努力获取交易 ID 信息,它将提供交易的对等详细信息。目前,我能够检索密钥的历史记录,这会为我提供提交给该密钥的事务列表。
我的代码:
historyRes, err := stub.GetHistoryForKey(userNameIndexKey)
if err != nil {
return shim.Error(fmt.Sprintf("Unable to get History key from the ledger: %v", err))
}
for historyRes.HasNext() {
history, errIt := historyRes.Next()
if errIt != nil {
return shim.Error(fmt.Sprintf("Unable to retrieve history in the ledger: %v", errIt))
}
deleted := history.GetIsDelete()
ds := strconv.FormatBool(deleted)
fmt.Println("History TxId = "+history.GetTxId()+" -- Delete = "+ds)
}
输出
History TxId = 78c8d17c668d7a9df8373fd85df4fc398388976a1c642753bbf73abc5c648dd8 -- Deleted = false
History TxId = 102bbb64a7ca93367334a8c98f1f7be17e6a8d5277f0167c73da47072d302fa3 -- Deleted = true
但是我不知道,这个交易是哪个peer做的。 fabric-sdk-go 中是否有任何 API 可用以检索交易 ID 的对等信息。
请给我一些解决方案。
调用stub.GetHistoryForKey(userNameIndexKey)
将查询状态数据库而不是分类帐(通道)。有关进行交易的身份的信息存储在块中。
我已经用 NodeJS SDK 实现了同样的事情。然而,Go SDK 也包含类似的 API 调用。以下步骤对我有用:
- 使用您的 SDK,获取 transactionId
- 使用SDK的transactionId查询区块功能。参考文献 here.
- 在这一步,您将获得区块。现在提交者的身份位于此块内。提示:Payload -> Header -> Signature Header -> Creator -> IdBytes.
- 这些身份字节是提交者的 X509 证书。您可以阅读证书信息以找出哪个成员提交了此交易。主题和 OU 将指示执行交易的同行的组织。