Hyperledger Fabricビーズ資産管理chaincodeテスト

6131 ワード

ブログの中の文章の著作権はブロガーの所有に帰って、授権を得ていないで、転載を禁止して、転載して出典を明記してください

配備チェーンコード


パチンコ資産管理システムのチェーンコードをfabric-samples/chaincodeにコピー

チェーンコード開発ディレクトリへ

cd fabric-samples/chaincode-docker-devmode

3つの端末を開く
ターミナル1
$ docker-compose -f docker-compose-simple.yaml up

ターミナル2
$ docker exec -it chaincode bash

$ cd chaincode006

$ go build

$ CORE_PEER_ADDRESS=peer:7051 CORE_CHAINCODE_ID_NAME=mycc:0 ./chaincode006

ターミナル3
$ docker exec -it cli bash

$ peer chaincode install -p chaincodedev/chaincode/chaincode006 -n mycc -v 0

$ peer chaincode instantiate -n mycc -v 0 -c '{"Args":[]}' -C myc

$ peer chaincode invoke -n mycc -c '{"Args":["initMarble","marble1","blue","35","tom"]}' -C myc

$ peer chaincode invoke -n mycc -c '{"Args":["initMarble","marble2","red","50","tom"]}' -C myc

$ peer chaincode invoke -n mycc -c '{"Args":["initMarble","marble3","blue","70","tom"]}' -C myc

$ peer chaincode query -n mycc -c '{"Args":["readMarble","marble1"]}' -C myc

$ peer chaincode invoke -n mycc -c '{"Args":["transferMarble","marble2","jerry"]}' -C myc

$ peer chaincode query -n mycc -c '{"Args":["readMarble","marble2"]}' -C myc

$ peer chaincode invoke -n mycc -c '{"Args":["deleteMarble","marble1"]}' -C myc

$ peer chaincode query -n mycc -c '{"Args":["getMarblesByRange","marble1","marble3"]}' -C myc

$ peer chaincode query -n mycc -c '{"Args":["getHistoryForMarble","marble1"]}' -C myc

$ peer chaincode query -n mycc -c '{"Args":["queryMarblesByOwner","tom"]}' -C myc

リッチクエリエラー


リッチクエリにはCouchDBの構成が必要
chaincode for develop構成CouchDBchaincode-docker-devmode/docker-compose-simple.yaml構成の変更
# peer  

environment:
#  

- CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984 - CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME= - CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD= 
depends_on:
- orderer - couchdb
couchdb:
container_name: couchdb
image: hyperledger/fabric-couchdb
# Populate the COUCHDB_USER and COUCHDB_PASSWORD to set an admin user and password # for CouchDB. This will prevent CouchDB from operating in an "Admin Party" mode. environment: - COUCHDB_USER= - COUCHDB_PASSWORD= ports: - 5984:5984

公衆番号に注目