Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

After cloning Fabric, you can can test fabric binaries using a sample configuration. Using the binaries and sample configuration makes it simple and quick to iteratively make code changes, rebuild fabric, and test your changes from an end-to-end consumer perspective.

...

   peer chaincode invoke -o 127.0.0.1:7050 -C mychannel -n marbles -c '{"Args":["initMarble","marble1","blue","35","tom"]}' --waitForEvent

...

   peer chaincode invoke -o 127.0.0.1:7050 -C mychannel -n marbles -c '{"Args":["transferMarble","marble1","jerry"]}' --waitForEvent

...

Cleanup data, chaincode containers and images

rm -r /var/hyperledger/

docker rm -f $(docker ps -aq)

docker rmi -f $(docker images -q --filter=reference='*dev*')


The CLI commands can be scripted or copy/pasted to expedite execution:

configtxgen -channelID mychannel -outputCreateChannelTx mychannel.tx -profile SampleSingleMSPChannel
peer channel create -c mychannel -o 127.0.0.1:7050 -f mychannel.tx
peer channel join -b mychannel.block
peer lifecycle chaincode package marbles.tar.gz --path github.com/hyperledger/fabric/integration/chaincode/marbles/cmd --lang golang --label marbles_1
peer lifecycle chaincode install marbles.tar.gz
CC_PACKAGE_ID=marbles_1:274e1e4a1110e74e95973ceb7d0d5fb02347d07d7b70d43c66ea6e8b27f5fc63
peer lifecycle chaincode approveformyorg -o 127.0.0.1:7050 --channelID mychannel --name marbles --version 1 --package-id $CC_PACKAGE_ID --sequence 1
peer lifecycle chaincode commit -o 127.0.0.1:7050 --channelID mychannel --name marbles --version 1 --sequence 1
peer chaincode invoke -o 127.0.0.1:7050 -C mychannel -n marbles -c '{"Args":["initMarble","marble1","blue","35","tom"]}' --waitForEvent
peer chaincode invoke -o 127.0.0.1:7050 -C mychannel -n marbles -c '{"Args":["transferMarble","marble1","jerry"]}' --waitForEvent
peer chaincode query -C mychannel -n marbles -c '{"Args":["readMarble","marble1"]}'

...

peer chaincode install -n marbles -p github.com/hyperledger/fabric/integration/chaincode/marbles/cmd-v 1
peer chaincode instantiate -C mychannel -n marbles -c '{"Args":["init"]}' -v 1 -o 127.0.0.1:7050

...