登录
首页 >  Golang >  Go问答

学习如何从超级账本的数据结构中读取资产信息

来源:stackoverflow

时间:2024-02-09 10:15:23 145浏览 收藏

本篇文章向大家介绍《学习如何从超级账本的数据结构中读取资产信息》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

https://github.com/hyperledger/fabric-samples/blob/main/asset-transfer-basic/chaincode-go/chaincode/smartcontract.go

我在 kaleido 平台上的区块链网络上安装了上述合约。 我创建了这样的资产:

{
"headers": {
    "type": "sendtransaction",
    "signer": "user2",
    "channel": "default-channel",
    "chaincode": "asset_transfer"
  },
  "func": "createasset",
  "args": [
    "asset5","whitee","10","tom","12300"
  ],
  "init": false
}

反应是积极的,我假设该资产是使用给定数据创建的:

{
    "headers": {
        "id": "4493af12-7483-49cc-60d4-ad621dc451b3",
        "type": "transactionsuccess",
        "timereceived": "2022-09-28t10:31:03.681639234z",
        "timeelapsed": 0.362129531,
        "requestoffset": "",
        "requestid": ""
    },
    "blocknumber": 86,
    "signermsp": "u0fm8amwnc",
    "signer": "user2",
    "transactionid": "fbc993a6ce104d4211adb36fcb391e53b01e1944b230613b44bdff38c91f8e21",
    "status": "valid"
}

现在我想读取asset5上的数据,即我想从区块链上获取“whitee”,“10”,“tom”,“12300”这个数据。 我尝试过:

{
  "headers": {
    "type": "sendtransaction",
    "signer": "user2",
    "channel": "default-channel",
    "chaincode": "asset_transfer"
  },
  "func": "readasset",
  "args": [
    "asset5"
  ],
  "init": false
}

我收到了成功响应,但没有得到我需要的数据:

{
    "headers": {
        "id": "344bfc60-8950-42ec-6ec8-43689b90a881",
        "type": "TransactionSuccess",
        "timeReceived": "2022-09-28T11:12:26.766305515Z",
        "timeElapsed": 0.290215954,
        "requestOffset": "",
        "requestId": ""
    },
    "blockNumber": 89,
    "signerMSP": "u0fm8amwnc",
    "signer": "user2",
    "transactionID": "413c2e8a584f606bb2d31d4451d5bf90ed00c8cb1c4c6c887dca934bb1400204",
    "status": "VALID"
}

https://youtu.be/bwrevurqve0?t=3313 这家伙获取他的数据做同样的事情。

我错过了什么吗?


正确答案


我正在将这些请求发送到 fabconnect 的 /transactions 端点。

我应该将 post 请求发送到 /query 以便从那里读取数据。例如:

{
  "headers": {
    "signer": "user2",
    "channel": "default-channel",
    "chaincode": "asset_transfer"
  },
  "func": "ReadAsset",
  "args": ["asset4"],
  "strongread": true
}

到这里,我们也就讲完了《学习如何从超级账本的数据结构中读取资产信息》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>