What I did:
Get into the cli container.
Make channel.
Join channel.
What I'm doing:
peer chaincode install.
I want to install the Chaincode which I have made and is on the GitHub.
So I think it can be installed like example02.
I didn't change the code in docker-compose-cli.yaml and others as well.
When I use the command "peer Chaincode install", it says "path to chaincode does not exist".
root#7fdb5cf9a746:/opt/gopath/src/github.com/hyperledger/fabric/peer#
peer chaincode install -n mycc -v 1.0 -p github.com/Gela-Gunp/OriginChaincodeForMe
2019-01-22 07:48:52.599 UTC [msp] GetLocalMSP -> DEBU 001 Returning existing local MSP
2019-01-22 07:48:52.599 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
2019-01-22 07:48:52.599 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
2019-01-22 07:48:52.599 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
Error: Error getting chaincode code chaincode: path to chaincode does not exist: github.com/Gela-Gunp/OriginChaincodeForMe
Maybe I should do something before Chaincode install.
But I don't know what that is.
#gelatine, in your chaincode install command "-p" flag indicates your chaincode's source path (Note: local path)..
It can be like your command, but you should have those directories mounted inside your cli container. Also don't forget to take care of the GOPATH env variable :p
Please go thorough the Fabric chaincode reference docs:
Fabric Chaincode for developers
Related
I'm trying to update a chaincode with a 3 nodes blockchain using Hyperledger Fabric 1.4.4, raft and multi ordering.
I'm using ansible to deploy the BC : https://github.com/Altoros/Ansible-Fabric-Starter
What I'm trying to do is upgrading the chaincode.
I first log in the cli container in a node:
ubuntu#ip-172-31-46-199:~$ docker exec -it cli.org0.domain bash
root#56e6868e66a0:/etc/hyperledger/artifacts# export CORE_PEER_ADDRESS=peer0.org0.domain:7051 && peer chaincode install -n main -v 1.0.1 -p main -l golang
2021-03-18 16:54:45.475 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2021-03-18 16:54:45.475 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
2021-03-18 16:54:47.599 UTC [chaincodeCmd] install -> INFO 003 Installed remotely response:<status:200 payload:"OK" >
root#56e6868e66a0:/etc/hyperledger/artifacts# export CORE_PEER_ADDRESS=peer0.org0.domain:7051 && peer chaincode upgrade -n main -v 1.0.1 -c "{\"Args\":[\"GetMeasuresBetween\",\"2019-03-29T12:00:00Z\", \"2019-03-29T14:00:00Z\"]}" -o orderer2.domain:7050 -C org0 --tls --cafile /etc/hyperledger/artifacts/crypto-config/ordererOrganizations/domain/tlsca/tlsca.domain-cert.pem
2021-03-18 17:03:09.896 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2021-03-18 17:03:09.897 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
Everything seems to be working.
But when I try to invoke the chaincode where I changed a debug message
peer chaincode invoke --cafile /etc/hyperledger/artifacts/crypto-config/ordererOrganizations/domain/tlsca/tlsca.domain-cert.pem --tls -o orderer2.domain:7050 -C org0 -n main -c "{\"Args\":[\"AddMeasure\",\"ACC00000000\",\"23547901584620111112\",\"Conso\",\"BASE\",\"1010\",\"2019-11-01T08:30:01Z\"]}"
it is also working well, but I cannot see in the logs the new debug message, only seeing old one.
Is it something I am missing ? When invoking the chaincode, will it always take the latest version ?
After you install the new version on each peer, you need to then perform an upgrade operation (analogous to doing install and instantiate when you deployed the initial version of the chaincode).
Problem:
I have set up a Hyperledger Fabric network. When I try to install a chaincode it is only installed in the first peer. But when I try to install chaincode on other peers it was failed by saying that chaincode does not exist.
This is the command I issued on the first peer.
peer chaincode install -n fabcar -v 1.0.0 -l node -p /opt/gopath/src/github.com/chaincode/fabcar/javascript-low-level
This is the output after the command.
2020-03-01 07:27:26.245 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2020-03-01 07:27:26.245 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
2020-03-01 07:27:26.705 UTC [chaincodeCmd] install -> INFO 003 Installed remotely response:
This is the command I issued on the second peer.
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/doctor.hrm.com/users/Admin#doctor.hrm.com/msp CORE_PEER_ADDRESS=peer1.doctor.hrm.com:10051 CORE_PEER_LOCALMSPID="DoctorMSP" CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/doctor.hrm.com/peers/peer1.doctor.hrm.com/tls/ca.crt peer chaincode install -n fabcar -v 1.0.0 -l node -p /opt/gopath/src/github.com/fabcar/javascript-low-level
This is the error that was given to me.
2020-03-01 07:34:28.268 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2020-03-01 07:34:28.268 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
Error: error getting chaincode code fabcar: path to chaincode does not exist: /opt/gopath/src/github.com/fabcar/javascript-low-level
Can someone help me with this to find the issue?
Check your GOPATH set in cli container docker-compose.yaml file.
If GOPATH=/opt/gopath then you should give path inside src folder. So you should give path in peer chaincode install as github.com/fabcar/javascript-low-level
so your command will be
peer chaincode install -n fabcar -v 1.0.0 -l node -p github.com/chaincode/fabcar/javascript-low-level
so check your GOPATH set in cli container of docker-compose.yaml and accordingly set the path in peer chaincode install command
I'm using this Hyperledger Fabric tutorial, I am block on the step 1 of part Install chaincode on all peers
When I run the command peer chaincode install -n marblesp -v 1.0 -p github.com/chaincode/marbles02_private/go/I have the following result containing an error :
2018-12-10 13:19:37.515 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2018-12-10 13:19:37.515 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
Error: Error getting chaincode code chaincode: path to chaincode does not exist: /opt/gopath/src/github.com/fabric-samples/chaincode/marbles02_private
Could you help me please? thanks
Do you have the chaincodes in this path? Be sure you have the chaincode in this path.
Do you have Go installed? If yes, do you export the Go path?
Try with this:
export PATH=$PATH:/usr/local/go/bin
I have created hyperledger in azure blockchain and created fabric-ca, orderer and 2 peer nodes. I am able to create channel and 2 peers joined in the channel. I am not able to install chaincode. The commands are executed form Git bash. Getting below error while running the command from peer node. Please help...
root#d62e3aedc701:/# peer chaincode install -n balcc -v 1.0 -p Chaincode/fabric-samples/balance-transfer/artifacts/src/github.com/example_cc/go/
2018-05-25 05:32:42.702 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2018-05-25 05:32:42.702 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
Error: Error getting chaincode code chaincode: : failed with error: "exec: not started"
In my case, I just reinstall go and this problem fix.
The official hyperledger fabric v1.0.0 gives a simple demo by using docker.
What i am doing is to avoid docker and directly run them on the machine. Thanks to the answer from my previous question, I have successfully launched 1 solo orderer, two peers (each from one org), created and joined the channels from peers, installed the chaincode on two peers.
The client side's command to install chaincode is
peer chaincode install -n myC1 -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
Both peers return the following message and I think it should be correct.
2017-09-11 16:34:26.361 SGT [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2017-09-11 16:34:26.361 SGT [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
2017-09-11 16:34:26.556 SGT [main] main -> INFO 003 Exiting.....
However, when i try to instantiate the chaincode as follows
peer chaincode instantiate -o orderer.example.com:7040 --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME -n myC1 -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "OR ('Org1MSP.member','Org2MSP.member')
Client console returns the error message
2017-09-11 17:00:18.181 SGT [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2017-09-11 17:00:18.181 SGT [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
Error: Error endorsing chaincode: rpc error: code = Unknown desc = Failed to init chaincode(handler not found for chaincode myC1:1.0)
The console of Peer0.org2 gives NO error message. But Peer0.org1's console gives the following:
2017-09-11 17:00:18.183 SGT [chaincode] Launch -> ERRO 032 sending init failed(handler not found for chaincode myC1:1.0)
2017-09-11 17:00:18.184 SGT [endorser] simulateProposal -> ERRO 033 failed to invoke chaincode name:"lscc" on transaction a665c5305c5e3f158d272e4a39b04611e5335406e2a7c7057f11d32d8e07670e, error: Failed to init chaincode(handler not found for chaincode myC1:1.0)
Can any one help me to solve this problem and give me a simple explanation??