项目作者: Daniel-Szego
项目描述 :
Hyperledger Fabric Java Chaincode programs step by step
高级语言: Java
项目地址: git://github.com/Daniel-Szego/FabricJavaChaincodeTutorials.git
Chaincode examples for Java
- HelloJavaChaincode: simplest Hello World java chaincode
- copy the gradle files and the scr files apart from test to the chaincode/01_HelloJavaChaincode directory
- start a Hyperledger Fabric network (like fabric-samples/basic-network): pay attention if the cli drive mappings are valid
- run on the cli container
docker exec -it cli /bin/bash - install chaincode
peer chaincode install -l java -n mycc -v v1 -p /opt/gopath/src/github.com/01_HelloJavaChaincode - initiate chaincode
peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n mycc -v v1 -c ‘{“Args”:[“init”,”HelloWorld”]}’ -P ‘OR (“Org1MSP.member”)’ - query hello world message
peer chaincode query -C mychannel -n mycc -c ‘{“Args”:[“getHelloWorld”]}’ - change the hello world message
peer chaincode invoke -o orderer.example.com:7050 —cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc —peerAddresses peer0.org1.example.com:7051 —tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt -c ‘{“Args”:[“setHelloWorldMessage”, “HalloWelt”]}’ - query the changed hello world message
- JavaChaincodeAsset: administrating a house on the blockchain
- copy the gradle files and the scr files apart from test to the chaincode/02_JavaChaincodeAsset directory
- start a Hyperledger Fabric network (like fabric-samples/basic-network): pay attention if the cli drive mappings are valid
- run on the cli container
docker exec -it cli /bin/bash - install chaincode
peer chaincode install -l java -n mycc -v v1 -p /opt/gopath/src/github.com/02_JavaChaincodeAsset - initiate chaincode
peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n mycc -v v1 -c ‘{“Args”:[]}’ -P ‘OR (“Org1MSP.member”)’ - create new house
peer chaincode invoke -o orderer.example.com:7050 —cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc —peerAddresses peer0.org1.example.com:7051 —tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt -c ‘{“Args”:[“setHouse”,”houseID123”,”2”,”testCountry”,”testCity”,”testStreet”,”4”]}’ - read the house
peer chaincode query -C mychannel -n mycc -c ‘{“Args”:[“getHouse”,”houseID123”]}’ - update the number of rooms for the house
peer chaincode invoke -o orderer.example.com:7050 —cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc —peerAddresses peer0.org1.example.com:7051 —tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt -c ‘{“Args”:[“buildNewRoom”,”houseID123”,”4”]}’ - read the modfied house
peer chaincode query -C mychannel -n mycc -c ‘{“Args”:[“getHouse”,”houseID123”]}’
- AssetWithAccess: administrating a house on the blockchain with access rights