Блокчейн Bluemix: как я могу запросить это?

Мне нужно знать, как запросить следующий вызов (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.

Я попробовал инициализацию, используя их пример, и вызываю (успешно), чтобы удовлетворить мои потребности. Я попробовал учебник по Bluemix, о котором упоминал ранее, и мне удалось добиться того, что указано в документации. Поэтому я решил призвать что-то, что удовлетворит мои собственные потребности. Однако я не могу запросить человека AC(123456A) или user_type1_c19a5f0b7e с отображением таких элементов, как «Year2015 Sem1», «IT1234:A», «IT3456:B+» и т. д. Как я могу запросить (вызов) в соответствии со своими потребностями?


person qcc    schedule 04.10.2016    source источник


Ответы (1)


Насколько мы понимаем, вы используете IBM Blockchain Starter Developer Network в IBM Bluemix. Используя эту среду, руководство «Learn Chaincode» (https://github.com/IBM-Blockchain/learn-chaincode) был выполнен. Мы хотели бы подтвердить наше понимание ваших результатов при следовании руководству. Насколько мы понимаем, при следовании руководству функции цепочек Init, Invoke и Query работали должным образом. Правильно ли вы понимаете, что учебник в том виде, в котором он написан, можно успешно следовать?

Затем мы понимаем, что пример чейнкода был изменен для применения другой логики. Invoke для этого модифицированного чейнкода, который использует функцию AC(123456A) с пользователем user_type1_c19a5f0b7e, похоже, был успешным. Однако запрос, в котором также использовалась функция AC(123456A), не увенчался успехом. Верно ли это понимание?

Не могли бы быть предоставлены некоторые дополнительные детали, чтобы это можно было рассмотреть дальше?

  1. Вы написали свой собственный чейнкод? Если да, можно ли предоставить этот чейнкод (включая определение функции AC(123456A))?

  2. Находится ли функция AC(123456A) в том же исходном файле Go, что и остальная часть чейнкода?

  3. Мы предполагаем, что пользователь с именем user_type1_c19a5f0b7e был зарегистрирован, так как Invoke действительно работал. Были ли выполнены действия по регистрации этого пользователя, как указано в разделе «Безопасная регистрация» руководства «Изучение цепного кода»?

  4. Может ли функция AC(123456A) одновременно записывать значения в реестр (через Invoke) и считывать значения из реестра (как это делается через запрос)?

person Andrew Tharp    schedule 06.10.2016