I am following the documentation (https://hyperledger-fabric.readthedocs.io/en/latest/test_network.html) to deploy a test network for Fabric on Ubuntu 16.04 on Amazon Lightsail. All commands have been executed successfully with results as expected until
./network.sh deployCC -l javascript
The following error message is received:
Error: endorsement failure during invoke. response: status:500 message:"error in simulation: failed to execute transaction 2554869d3683a7e77202f448aa201fd2f97243faa4ff5dd4839eb8d3175cf53b: could not launch chaincode fabcar_1:bec08b518fdb2bda0a0fb41a4a6f996a87ba08887583febedbc791cba7e91537: chaincode registration failed: container exited with 0" !!!!!!!!!!!!!!! Invoke execution on peer0.org1 peer0.org2 failed !!!!!!!!!!!!!!!!
Any assistance will be tremendously appreciated.
K
For fabcar sample, you can use startFabric.sh script inside fabcar to deploy chaincode with the language that you want. Specifically run ./startFabric.sh javascript in your case.
This script generally runs ./network.sh with some additional network cleanups.
everything is working as expected now. The issue had been with system sizing - increasing the memory to 4GB RAM fixed it
Thank you everyone for your suggestions.
K
I am assuming that you are doing a fresh installation.First stop all the containers if it's not stop.
docker stop $(docker ps -a -q)
After that remove the unused volume using the command.
docker volume prune
or docker system prune to remove any unused data.
You have to remove the certificates manually(if it's not deleted).First of all execute the ./network.sh down command.Then go into the test-network/organizations and remove the content of peerOrganizations and ordererOrganizations
Then move to the fabric-ca directory and remove the content of org1 ,org2 and ordererOrg, keep in mind that in here you don't have to remove any .yaml file.
And remove the fabcar.tar.gz package in test network.
Now start the network using the commands below:
./network.sh up createChannel -ca -c mychannel -s couchdb -i 2.0.0
./network.sh deployCC -l javascript
I have the same problem with javascript chaincode (it works 2 days ago, having the same error now), but deployCC with golang (weirdly) doesn't have this problem. So if using javascript is not a requirement you can also just run ./network.sh deployCC
Shut down your network. Then start it again. Then create a channel and deploy your chaincode. It will work.
I was getting same error because I created a named channel first and tried to deployed code there with -c. But when I shutdown and performed all steps again with default "mychannel" and it worked fine for me.
Related
I use fabric-samples/test-network ./test-network.sh createChannle command to create a test channle, however a problem occured:
a problem
Error: Post "https://localhost:7053/participation/v1/channels": read tcp 127.0.0.1:57664->127.0.0.1:7053: read: connection reset by peer
after executing this command, my docker is fine:
docker
does anyone know how to solve it?
my docker, fabric, fabric-samples are newest, and my go is 1.18.2
I am trying to deploy a sample ChainCode on Fabric test-network. I bring up the network and then I create a channel and then I run this command: ./network.sh deployCC and I get the following error:
Error: chaincode install failed with status: 500 - failed to invoke backing implementation of 'InstallChaincode': could not build chaincode: docker build failed: docker image inspection failed: Get "http://unix.sock/images/dev-peer0.org1.example.com-basic_1.0-4ec191e793b27e953ff2ede5a8bcc63152cecb1e4c3f301a26e22692c61967ad-42f57faac8360472e47cbbbf3940e81bba83439702d085878d148089a1b213ca/json": dial unix /host/var/run/docker.sock: connect: no such file or directory
Chaincode installation on peer0.org1 has failed
Deploying chaincode failed
I'm guessing you are running Docker on a Mac ? Docker made a change in version 2.4.0.0 (I think) and it causes a problem. You need to uncheck the option "use gRPC fuse".
see https://lists.hyperledger.org/g/fabric/topic/77402508?p=Created,,,20,2,0,0::recentpostdate%2Fsticky,,,20,2,0,77402508
for more details
If you are running Docker Desktop on macOS, this problem is caused by a newer version of Docker Desktop for macOS. To resolve this issue, in the Docker Desktop preferences, uncheck the box Use gRPC FUSE for file sharing to use the legacy osxfs file sharing instead and click Apply & Restart.
If you see errors on your create, approve, commit, invoke or query commands, make sure you have properly updated the channel name and chaincode name.
There was an Hyperledger Fabric error updating the anchor peer in the Building Your First Network document. This error is as follows.
Error: failed to create deliver client: orderer client failed to connect to orderer.example.com:7050: failed to create new connection: x509: certificate signed by unknown authority
I need your help.
I fixed by bringing the network down (byfn.sh down)
and then up again (byfn.sh up).
Please see this link for more information:
How to fix "FAILED to execute End-2-End Scenario" in Hyperledger Fabric?
x509: certificate signed by unknown authority
This error is due to the certificate format mismatch, It happed to me when I used v1.0 cryptogen tool for certificate generation and ran the network with v1.1 Fabric containers.
So, try to update the cryptogen tool from here -> http://hyperledger-fabric.readthedocs.io/en/release-1.1/samples.html#binaries.
I don't know what version you were using so, I assumed it would be v1.1. So, please specify the Hyperledger Fabric version you were using.
One of the problems could be that you have an old version of the Hyperledger Example and you are pointing to an old version of the Cryptogen tool. So if you download a newer example, when you generate the crypto-config it will generate it with the old version of the cryptogen tool, this could make your orderer container to stop, cause can validate the certificate generated.
This is because the differents versions of the cryptogen tool generate different metadata.
My suggest is to check if the cryptogen version that you are using is the one contained in your downloaded image of your example. If you had run lot of tests, clean all the docker images and containers, that always help.
If nothing of that works, I wrote a tutorial based on the basic-network example and how to run it in multiple hosts, maybe you can take some information from there.
https://medium.com/1950labs/setup-hyperledger-fabric-in-multiple-physical-machines-d8f3710ed9b4
Please, feel free to ask, if you have doubts!
This error is due to channel capabilities are set as true for v.1.4.0 so you should change it to false so that it can run for every version of the fabric.
Try:
docker ps -a
to find container ID of hyperledger orderer and peer images. Then try:
docker rm *container_ID*
to remove them. After you can run ./network.sh up createChannel.
so for this error i tried doing byfn.sh down and byfn.sh up but after that it threw another error, which i solved by first killing all the containers, removing them, cleaning all images and volumes that already exist and restarted the tutorial. to kill and remove processes and images and cleaning my system.
https://medium.com/coinmonks
docker kill $(docker ps -q)
docker rm $(docker ps -qa)
docker system prune -a
docker volumes prune -a
delete fabric-samples directory and start from the beginning and you're ready to go.
I am running Docker Toolbox on Windows. I have downloaded fabric samples from https://github.com/hyperledger/fabric-samples. Modified the fabcar chaincode.
The first time I ran ./startFabric.sh to bring up the local blokchain network, the chaincode is getting picked up well and fine.
Now I make further changes to fabcar chaincode. But this time, my latest chaincode changes are not being picked up by the blockchain network. I still see old log messages and responses.
I have tried the following options already:
1) clearing up docker containers
2) restarting docker toolbox.
3) rerunning ./startFabric.sh from scratch.
The only time my chaincode changes are picked up is the "first ever time" when i use that particular chaincode. Thereafter the first chaincode somehow resides in the memory forever.
Please let me know what I am doing wrong.
Thanks!
After changing chaincode in fabric-samples/chaincode/fabcar/go/fabcar.go (this is where you change the chaincode, I presume), you have to go build fabcar.go so that latest compiled code gets into the peer.
./startFabric.sh add a new docker image and use it as chaincode container.
To run updated chaincode, remove this container and execute ./startFabric.sh again.
docker rmi -f dev-peer0.org1.example.com-docchain-1.0-961b279a2d42ac81dd6585a11d9fad6bfe4f000a2c3d0cdc9be4bd1ecdf5610d
I'm trying Hyperledger Composer v0.16.0. According to this procedure, I want to Deploy BNA to Fabric network on cloud. but following error occurs.
Kindly let me know how I can solve it.
command:
composer network start --card PeerAdmin#myfabric --networkAdmin admin --networkAdminEnrollSecret adminpw --archiveFile trade-network.bna --file networkadmin.card
result:
tarting business network from archive: trade-network.bna
Business network definition:
Identifier: trade-network#0.1.13
Description: Commodities Trading Business Network
Processing these Network Admins:
userName: admin
✖ Starting business network definition. This may take a minute...
Error: Error trying to instantiate composer runtime. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: chaincode error (status: 500, message: chaincode instantiation policy violated(Failed to authenticate policy))
Error: No valid responses from any peers may be b/c you don't ./startFabric (in fabric-tools folder) or may be the .acl file (permissions.acl) have error (try change it to the beginning version).
The error 'Error: Error trying to instantiate composer runtime.' Suggests you have not run the composer runtime install command e.g.
composer runtime install -c PeerAdmin#fabric-network -n tutorial-network
Or that the command did not complete successfully.
The other possibility is that your fabric has stopped or is not contactable.
The runtime must be installed on fabric for the network to start.
"composer runtime install -c PeerAdmin#hlfv1 -n "
The Steps:
1) ./startFabric.sh,
2) ./createPeerAdminCard.sh,
3) composer runtime install -c PeerAdmin#hlfv1 -n ,
4) composer network start -a ./#0.0.1.bna -A admin -S adminpw -c PeerAdmin#hlfv1
there seems to be some challenges / bug with the use of composer
Composer Updates : 0.19.0 Changes:
End of March developers of Composer framework released version 0.19.0. Although there are multiple new features (mostly under the covers) in this release, it also introduced some BREAKING changes :( So what does that mean? It means that:
Some of the composer CLI commands have become obsolete or have changed
BNA Installation commands have changed ( install + start )
Following Composer CLI commands have been removed
runtime install, network deploy, network update, network undeploy
BNA upgrade requires an install of new version followed by
Composer card commands standardised to use -c or --card. Earlier some commands used -n and some used -c
Some of the Composer API have changed
That error can mean that the identity you are using to perform a network start doesn't have channel admin authority and thus is not authorised to perform a network start. I would suggest you check with whoever created your Hyperledger Fabric environment and channel to find out who the right identities are for administrative authority on the channel and build a card with the appropriate crypto material representing that identity in order to perform a network start.
1. ./stopFabric.sh
2. export FABRIC_VERSION=hlfv11
3. ./startFabric.sh
4. ./createPeerAdminCard.sh
5. install network
6. start network
Please create a new card with your business network name. Hopefully it will work:
composer network start --card PeerAdmin#myfabric --networkAdmin admin --networkAdminEnrollSecret adminpw --archiveFile trade-network.bna --file trade-network.card
I came up with a solution to my problem, which is similar to yours, it might be useful to you too:
I noticed that with other networks it works properly so, there is a problem with the DNS:
Edit or create /etc/docker/daemon.json in your machine and add:
{ "dns": ["your dns", "8.8.8.8"] }
Stop Fabric, restart Docker, Start Fabric
Repeat composer install and composer start
Well i was getting the similar error :-
Upgrading business network definition. This may take a minute...
Error: Error trying to upgrade business network. Error: No valid responses from any peers.
Response from attempted peer comms was an error: Error: 2 UNKNOWN: chaincode error (status: 500, message: could not find chaincode with name 'airlinev9')
Command failed
My composer version: v0.19.4
What I was trying to do:-
I was trying the update my BNA to a newer version. But got the error which i shown you above.
What I did to solve the issue :-
I first deleted the previous card using the command :-
composer card delete -c admin#airlinev9
And then start the BNA with (already created, installed):-
composer network start -c PeerAdmin#hlfv1 -n airlinev9 -V 0.0.3 -A
admin -S adminpw
And it worked for me.
I am SUPER new to HyperLedger hence I am not sure on how it worked out me but just in case might work for you too so try it out. I did only 2 things((on fabric-tool directory) :
1) ./startFabric.sh
2) ./createPeerAdminCard.sh
Ok I agree I lied. Not 2 things but 3.
3) Retry .bna association as expected normally.
I hope it works for you too :)