繁体   English   中英

Bluemix区块链:我该如何查询?

[英]Bluemix blockchain: How can i query out this?

我需要知道如何在初始化时查询以下invoke(AC(123456A)或(user_type1_c19a5f0b7e):

   {
        "jsonrpc": "2.0",
        "method": "deploy",
        "params": {
            "type": 1,
            "chaincodeID": {
                "path": "https://github.com/johndoe/learn-chaincode/finished"
            },
            "ctorMsg": {
                "function": "init",
                "args": [
                    "hi there"
                ]
            },
            "secureContext": "user_type1_191b8c2993"
        },
        "id": 1
    }

这是我的(成功的)调用:

{
    "jsonrpc": "2.0",
    "method": "invoke",
    "params": {
        "type": 1,
        "chaincodeID": {
            "name": "b42b506c13fg1157520d585841a691f4b598d9aac53adc95277ed710c7f1f5aaa59a89a8dca8ddf3e46d5241562f3316956a04ad8a33181d30cb01b1c4c9adb2f"
        },
        "ctorMsg": {
            "function": "AC(123456A)",
            "args": [
               "AcctId:949392949233 ","Year2015 Sem1 ", "IT1234:A ", " IT2345:B+ ", "IT3456:A ", "Year 2015 Sem2 ", "IT4567:B ", "IT5678: B", "IT5678:A ","Year 2016 Sem1 ", "IT6789:C ", "IT7890:C ", "Cumulative GPA: 3"

            ]
        },
        "secureContext": "user_type1_c19a5f0b7e"
    },
    "id": 4
}

这是我正在尝试的查询,但无法获得所需的结果:

{
    "jsonrpc": "2.0",
    "method": "query",
    "params": {
        "type": 1,
        "chaincodeID": {
            "name": "b42b506c13fg1157520d585841a691f4b598d9aac53adc95277ed710c7f1f5aaa59a89a8dca8ddf3e46d5241562f3316956a04ad8a33181d30cb01b1c4c9adb2f"
        },
        "ctorMsg": {
            "function": "AC(123456A)",
            "args": [
               "AcctId:949392949233 "
            ]
        },
        "secureContext": "user_type1_c19a5f0b7e"
    },
    "id": 2
}

这是查询的响应。

{
  "jsonrpc": "2.0",
  "error": {
    "code": -32003,
    "message": "Query failure",
    "data": "Error when querying chaincode: Error:Transaction or query returned with failure: Received unknown function query"
  },
  "id": 2
}

现在,我正在尝试本教程,该教程由IBM Bluemix提供: https : //github.com/IBM-Blockchain/learn-chaincode

我已经使用他们的示例尝试了一个init并进行了调用(成功)以满足我的需求。 我尝试了前面提到的Bluemix教程,并且能够实现文档中所述的内容。 因此,我决定调用一些适合自己需求的东西。 但是,我无法用显示“ Year2015 Sem1”,“ IT1234:A”,“ IT3456:B +”等项目来查询人AC(123456A)或user_type1_c19a5f0b7e。 如何查询(调用)以满足自己的需求?

我们的理解是您正在使用IBM Bluemix上的IBM Blockchain Starter开发人员网络。 使用此环境,遵循了“学习链码”教程( https://github.com/IBM-Blockchain/learn-chaincode )。 遵循本教程时,我们想确认我们对您的结果的理解。 我们的理解是,按照本教程进行操作时,Init,Invoke和Query链码功能均按预期运行。 理解正确,可以成功地遵循所编写的教程吗?

然后,我们知道示例链代码已被修改以应用不同的逻辑。 此修改后的链码的调用使用了AC_123456A函数,并且用户为user_type1_c19a5f0b7e的用户似乎已成功。 但是,也使用AC(123456A)函数的查询失​​败。 这种理解正确吗?

是否可以提供一些其他细节,以便可以进一步考虑?

  1. 您是否编写了自己的自定义链码? 如果是这样,是否可以提供此链码(包括AC(123456A)函数定义)?

  2. AC(123456A)函数是否与其余链码位于同一Go源文件中?

  3. 我们可以想象,自从调用工作以来,名为user_type1_c19a5f0b7e的用户已注册。 是否按照“学习链码”教程的“安全注册”部分所述执行了注册该用户的步骤?

  4. AC(123456A)函数既可以(通过调用)将值写入分类帐,又可以从分类帐中读取值(通过查询进行尝试)?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM