私はChaincode for Developers Tutorialのコードを実行して、元帳の資産(キーと値のペア)を作成するための基本的なサンプルチェーンコードを実行しています。CouchDBを元帳データベースとして使用する場合、Hyperledgerファブリックにデータストアはどのように格納されますか?
私は、CLI
peer chaincode invoke -n mycc -c '{"Args":["set", "a", "20"]}' -C myc
を使用してchaincodeを起動しても実行することができるよ今、私はキーと値のペアは、CouchDBの中に格納されますどのように見てみたい
peer chaincode query -n mycc -c '{"Args":["query","a"]}' -C myc
を照会します。だから私はファブリックサンプル/ chaincode-ドッキングウィンドウ-DEVMODE /に以下の環境変数を変更しドッカ-構成-simple.yaml
CORE_LEDGER_STATE_STATEDATABASE=CouchDB
CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb0:5984
私はCouchDBのUI(http://localhost:5984/myc/_all_docs)に以下のように作成したドキュメントを参照してください。私はセットを実行するとき。
{
"total_rows": 3,
"offset": 0,
"rows": [{
"id": "lscc\u0000mycc",
"key": "lscc\u0000mycc",
"value": {
"rev": "1-dc6dc8ff92efd35358cf5b89e7949c25"
}
},
{
"id": "mycc\u0000a",
"key": "mycc\u0000a",
"value": {
"rev": "3-7ad1349ec711a99a2a2f1dd1c8b08a20"
}
},
{
"id": "statedb_savepoint",
"key": "statedb_savepoint",
"value": {
"rev": "6-2c3d131fc75772cc9e70311998bdde9d"
}
}
]
}
どのように格納され、取得されるキーの値はありますか? DB内の文書をチェックするときは以下のようになりますが、チェーンコードgetクエリを実行するときは正しく検索されます。
"value": {
"rev": "3-7ad1349ec711a99a2a2f1dd1c8b08a20"
}
は鍵がDBに持続している間
ます。http:// localhostを:5984/MYC/3、 "オフセット":0、 "行":[{ "ID": "LSCC \ u0000mycc"、 "キー": "LSCC \ u0000mycc" _all_docsは、以下の出力を { "TOTAL_ROWS" を与えます、 "値":{ "rev": "1-35f379c3ea35ef0077b595923bf36151" } } { "ID": "mycc \ u0000a"、 "キー": "mycc \ u0000a"、 "値":{ "REV": "2-f3049e0b19f6969f01671889c8b1456f" } }、 { 「ID 「: "statedb_savepoint"、 "キー": "statedb_savepoint"、 "値":{ "REV": "3-62ba0d88e905ef321c85c542bec7bd15" }} ] } –
がどのように私は 'キーの値を得るのですかmycc \ u0000a '? http:// localhost:5984/myc/mycc \ u0000aは動作していないようです。 http:// localhost:5984/myc/mycc%5Cu0000a –
これは '/ mycc%00a'に変換されます。curl -X GET "http:// localhos":5984/myc/mycc%00a?attachments = true "。 –