v1.0の例を見ているうちに、混乱しました。ハイパージーガーファブリックv1.0台帳を変更するメソッドの照会を使用
私が理解する限り、クエリは、ローカルで実行されるときに元帳を変更しません(注文、コミット、承認など)。
しかし、それは呼び出し元の観点からです。チェーンコード内では、すべてのCAと情報が有効である場合にクライアントが呼び出すものを実行します。
したがって、たとえば、私が呼び出す場合
peer chaincode query -C mychannel -n chaincode -c '{"Args":["query", "a"]}'
これは大丈夫でしょう。それは単にaを照会する。
しかし、私は行動がその呼び出しを与えられるであろう何
peer chaincode query -C mychannel -n chaincode -c '{"Args":["**invoke**", "a"]}'
は、総勘定元帳への書き込みが含ま呼び出す場合?一方、また
、私は、クエリメソッドに呼び出すコールした場合(e.g. peer chaincode invoke ~~~ {"Args":["query", "a"]})
どう行動でしょうか?
私が理解する限り、実際のチェーンコードでは、クエリか呼び出しかを区別できません。それはちょうど連鎖法を実行します。
私は遠いですか?
もう1つ質問です!その場合、 'query'でピアCLIを実行し、メソッドが元帳状態を変更した場合、それはローカル元帳を変更するのか、それとも何もしません。 ありがとう! – alwayscurious
注文サービスに保証された提案を送信しない限り、状態は変更されません。 endorsersはトランザクションの実行をシミュレートしますが、実際の変更はトランザクションが発注された後にのみ発生します。 peer cliとqueryコマンドの場合、関数が状態を変更する可能性があるにもかかわらず、何も変更されません。 –
別の質問です。申し訳ありませんが質問を続けています。 「機能が状態を変えるかもしれないのに、何も変わらない」と言うと、それは2つの州があるということですか? 私が正しく理解していれば、ローカルの状態が変わる可能性があるトランザクション実行をシミュレートしますが、注文サービスに保証された提案を送信しない限り、状態は変更されません。 :) – alwayscurious