91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何查詢Hyper ledger Fabric的歷史交易

發布時間:2021-12-22 14:56:57 來源:億速云 閱讀:368 作者:柒染 欄目:互聯網科技

這期內容當中小編將會給大家帶來有關如何查詢Hyper ledger Fabric的歷史交易,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

在以太坊、比特幣等區塊鏈平臺中,通常都會提供簡單的JSON RPC API接口,應用程序只需要調用這些RPC API,就可以查詢區塊或歷史交易了。Hyperledger Fabric也有類似的API,但情況略有不同,根據查詢目的區別,可以分為兩種方法。

1、使用系統鏈碼qscc

如果你在尋找像以太坊/比特幣那樣的區塊查詢、交易查詢API,那就應該使用系統鏈碼QSCC,該鏈碼提供了如下方法:

  • GetChainInfo:獲取鏈信息

  • GetBlockByNumer:按區塊號獲取區塊數據

  • GetBlockByHash:按區塊哈希獲取區塊數據

  • GetTransactionById:按交易ID獲取交易數據

  • GetBlockByTxId:按交易ID獲取區塊數據

調用系統鏈碼和調用自己的鏈碼沒什么區別,例如下面是調用qscc鏈碼的GetChainInfo()方法的go語言測試代碼:

response, err := chClient.Query(
  chclient.Request{
    ChaincodeID: "qscc", 
    Fcn: "invoke", 
    Args: integration.ExampleCCQueryArgs("GetChainInfo")
  })

原始代碼可參考:go sdk test

2、查詢指定鍵的歷史交易

如果要查詢特定鏈碼中指定狀態鍵的歷史交易,可以在鏈碼中使用ChaincodeStubInterface接口的GetHistoryForKey()方法來查詢其歷史記錄。例如:

historyIter, err := stub.GetHistoryForKey(yourKey)

if err != nil {
    fmt.Println(errMsg)
    return shim.Error(errMsg)
}

if historyIter.HasNext() {
    modification, err := historyIter.Next()
    if err != nil {
        fmt.Println(errMsg)
        return shim.Error(errMsg)
    }
    fmt.Println("Returning information related to", string(modification.Value))
}

上面的鏈碼要正常工作,需要在core.yaml中設置enableHistoryDatabase配置為true:

ledger:
  history:
    enableHistoryDatabase: true


上述就是小編為大家分享的如何查詢Hyper ledger Fabric的歷史交易了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

电白县| 邹平县| 南木林县| 南通市| 饶阳县| 磴口县| 丹阳市| 进贤县| 时尚| 澄城县| 胶南市| 永川市| 江都市| 京山县| 曲靖市| 溆浦县| 巴中市| 巴彦淖尔市| 攀枝花市| 长乐市| 娱乐| 皮山县| 呼和浩特市| 长沙县| 大英县| 惠水县| 虎林市| 墨玉县| 吉木萨尔县| 鹤岗市| 清水河县| 义乌市| 巨野县| 马尔康县| 宁夏| 阿城市| 东安县| 吉安县| 罗甸县| 泾源县| 霞浦县|