弹珠资产管理 chaincode 测试

部署链码

将 弹珠资产管理系统的链码拷贝到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 配置 CouchDB

修改 chaincode-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

results matching ""

    No results matching ""