2016-10-04 10 views
0

私はこのinitをしたとき(AC(123456A)または(user_type1_c19a5f0b7e)を呼び出す以下を照会する方法を知っておく必要があります。ここではBluemix blockchain:これをどのように調べることができますか?

{ 
     "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に問い合わせることができません。自分のニーズに合わせて(呼び出し)をどのようにクエリできますか?

答えて

0

私たちの理解は、IBM Bluemix上でIBM Blockchain Starter Developer Networkを使用していることです。この環境を使用して、「Learn Chaincode」チュートリアル(https://github.com/IBM-Blockchain/learn-chaincode)が続きました。チュートリアルの後に、結果についての理解を確認したいと思います。チュートリアルの後、Init、Invoke、およびQueryチェーンコード関数がすべて期待どおりに動作することを理解しています。書かれたチュートリアルがうまくいくという理解は正しいですか?

次に、例のチェーンコードが異なるロジックを適用するように変更されたことを理解します。 user_type1_c19a5f0b7eのユーザーとAC(123456A)関数を使用するこの変更されたチェーンコードの呼び出しは成功したようです。ただし、AC(123456A)関数も使用したクエリは成功しませんでした。このことは正しいのでしょうか?

これ以上考慮できるように、いくつかの追加情報が提供されますか?

  1. カスタマイズしたチェーンコードを書きましたか?もしそうなら、このチェーンコード(AC(123456A)関数定義を含む)を提供できますか?

  2. AC(123456A)関数は、チェーンコードの残りの部分と同じGoソースファイルにありますか?

  3. user_type1_c19a5f0b7eという名前のユーザーが、Invokeが動作してから登録されたとします。 「Learn Chaincode」チュートリアルの「セキュアな登録」セクションに記載されているとおりに、このユーザーを登録する手順はありましたか?

  4. AC(123456A)関数は、(Invokeを介して)元帳に値を書き込み、元帳から値を読み取ることができます(クエリを通じて試行されています)。

関連する問題