Setting up a Blockchain Business Network With Hyperledger Fabric & Composer Running in Multiple Physical Machine


(Waqas Khan) #133

This usually happens when the volumes are not mapped correctly in the docker compose, which peer did you get this error on? check that your docker compose for this peer maps the volumes


(Waqas Khan) #134

Hi Ivan, this link is dead, could you please provide another? thank you


(Waqas Khan) #135

Hi, did you manage to solve your problem with the hostname and ip addresses for the orderer? can you please share your insights with me? i am trying to do the same, thanks


(Ivan Vaccari) #136

Hi @Waqas_Khan, i am able to deploy the network. See my previous comment to dara. I have use this approach, actually i am stuck because in the second machine, i can’t use the data. Nobody know how to access data in remote machine? Thanks


(Waqas Khan) #137

I see, @Ivan_Vaccari

I think i have the network running.

Do you know if there are some checks i can do to verify that it’s running?

i checked docker ps and it’s all up, i also checked docker-compose ps and it’s also showing them all there as status of UP … is there anything else i can do?

I would like to next deploy some basic chaincode on to the network and manipulate it from both hosts to ensure the connectivity is good


(Ivan Vaccari) #138

Docker logs, you should see the transaction.


(Waqas Khan) #139

Hi all,

This has been a very good example to run, but can anyone explain how does one add a new peer in another organisation on a third machine to an existing network?

Do you have to bring the entire network down and regenerate all of the crypto artefacts? this doesn’t seem practical for real world application

@varun your comments would be much appreciated
@karthik and yours :slight_smile:

Thanks


#140

hello,@Varun I face a same issue of @Apoorv_Chandurkar .

The crypto-config is disappeared when I execute command:

./bysn -m down

However, the error is also existed when I execute:

../bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME...

how this problem can be solved? Can anybody help me? Thanks!


(Rajiv) #141

How to create multichannel network with multi host configuration?


(Rajiv) #142

do we need to add Host 1’s IP address in Host 2’s registerAdmin.js, registerUser.js files?


(Nanano) #143

Firstly, I would like to say thank for you tutorial. but in this tutorial need create card only one in 1st machine and on 2nd machine not create card. In 2nd machine i can see only the transaction logs of docker when i click transaction on 1st machine. so, in 2nd machine i can’t do anything. How 2nd machine can do?(create 2nd card for using composer-rest-server)


(vinod) #144

Hi @varun,

When i am creating the ./createPeerAdminCard.sh , facing below error couid you please help me on this.

vinod@vinod-VirtualBox:~/MultipleMachinces/fabric-dev-servers-multipeer-master$ ./createPeerAdminCard.sh 

Using composer-cli at v0.19.1
composer card list

List all business network cards

Options:
  --help         Show help  [boolean]
  -v, --version  Show version number  [boolean]
  --card, -c     The name of the card to list  [string]
  --quiet, -q    Only display the card name  [boolean]

Unknown argument: n

Successfully created business network card file to 
	Output file: /tmp/PeerAdmin@hlfv1.card

Command succeeded


Failed to import the business network card
keyword:    required
dataPath:   
schemaPath: #/required
params: 
  missingProperty: x-type
message:    should have required property 'x-type'

keyword:    required
dataPath:   
schemaPath: #/required
params: 
  missingProperty: client
message:    should have required property 'client'

keyword:    required
dataPath:   
schemaPath: #/required
params: 
  missingProperty: certificateAuthorities
message:    should have required property 'certificateAuthorities'

keyword:    required
dataPath:   
schemaPath: #/required
params: 
  missingProperty: channels
message:    should have required property 'channels'

keyword:    type
dataPath:   .orderers
schemaPath: #/type
params: 
  type: object
message:    should be object

keyword:    type
dataPath:   .peers
schemaPath: #/type
params: 
  type: object
message:    should be object

Error: Errors found in the connection profile in the card
Command failed

(zia) #146

Hello Varun,

Thanks for sharing wonderful article !!!

In second machine i am receiving this error

docker exec -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/Admin@org1.example.com/msp" peer2.org1.example.com peer channel fetch config -o orderer.example.com:7050 -c composerchannel
Error response from daemon: Container 78aadf90fd2f85020febe4a578b1a918a3cc6f4ad9f71c8cb1417ec39f33e09f is not running

(zia) #148

I think you need not create a card in second machine use the request URL’s and event URL’s provided in the connection.json in for third peer and use it to write front end app using those end points.


(Varun Raj) #149

I think your container has crashed. Please check docker logs


(Paresh Varde) #150

Very good article. This helped a lot. Had some issues with external system Peer but configuring IP for orderer fixed it.

I have installed tutorial-network sample application to my core peer and I see the database is created in Peer1 couchdb.

I have Peer2 on same system as Peer1 and Peer3 on external system. I don’t see Couchdb database (“composerchannel_tutorial-network”) on Peer2 and Peer3.

Since all peers are subscribed to single channel I assume I should be seeing this database on all couchdb instances for each peer. Making any transaction on Peer1 should replicate them to other Peers.

I see following error in my Peer2 docker logs

unable to get chaincode data from ledger for tx due to lscc’s state for [tutorial-network] not found

I see following error in my Peer3 docker logs (external system)

error getting chaincode tutorial-network on channel: composerchannel (err: could not find chaincode with name ‘tutorial-network’)

@varun Can you please advise why they are not showing up on rest of the two peers?


(phanikumar) #151

Hi @varun

I am looking for a some tutorial on how to configure multi-org setup across two physical machines. Can you please help me out on that.


(Paresh Varde) #152

I had a similar issue. It was due to second machine was not able to locate orderer.example.com:7050

You need to change it to your machine 1 IP address, re generate genesis and you should be good. Also on machine to refer to your order with IP:7050 after the change.


(Saeedi) #154

I am receiving following error when i try to use composer network start

    Starting business network marbles-network at version 0.2.4-deploy.0

    Processing these Network Admins: 
    	userName: admin

    ✖ Starting business network definition. This may take a minute...
    Error: Error trying to start business network. Error: No valid responses from any peers.
    Response from attempted peer comms was an error: Error: 2 UNKNOWN: error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "npm WARN deprecated nodemailer@2.7.2: All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/
    npm WARN deprecated mailcomposer@4.0.1: This project is unmaintained
    npm WARN deprecated socks@1.1.9: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0
    npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
    npm WARN deprecated buildmail@4.0.1: This project is unmaintained
    npm WARN deprecated socks@1.1.10: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0
    npm WARN notice [SECURITY] debug has 1 low vulnerability. Go here for more details: https://nodesecurity.io/advisories?search=debug&version=2.6.2 - Run `npm i npm@latest -g` to upgrade your npm version, and then `npm audit` to get more info.
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/commander-558b3520/LICENSE'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/debug-07dabfa3/LICENSE'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/async-e04a06be/LICENSE'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/commander-558b3520/Readme.md'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/debug-07dabfa3/karma.conf.js'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/async-e04a06be/bower.json'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/debug-07dabfa3/node.js'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/async-e04a06be/CHANGELOG.md'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/debug-07dabfa3/component.json'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/async-e04a06be/.jshintrc'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/debug-07dabfa3/Makefile'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/async-e04a06be/component.json'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/core-js-25614c68/LICENSE'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/debug-07dabfa3/.coveralls.yml'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/core-js-25614c68/Gruntfile.js'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/debug-07dabfa3/bower.json'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/core-js-25614c68/index.js'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/debug-07dabfa3/.eslintrc'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/core-js-25614c68/shim.js'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/debug-07dabfa3/.travis.yml'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/debug-07dabfa3/CHANGELOG.md'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/acorn-3d20bf66/dist/acorn.es.js'
    npm WARN tar ENOENT: no such file or directory, open '/chaincode/output/node_modules/.staging/bluebird-25432266/js/browser/bluebird.js'
    npm WARN The package composer-common is included as both a dev and production dependency.
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bytes@3.0.0 (node_modules/bytes):
    npm WARN network SKIPPING OPTIONAL DEPENDENCY: request to https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz failed, reason: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: double-ended-queue@2.1.0-0 (node_modules/double-ended-queue):
    npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: Cannot cd into '/chaincode/output/node_modules/.staging/double-ended-queue-5d5dc01a'
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: depd@1.1.2 (node_modules/depd):
    npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: Cannot cd into '/chaincode/output/node_modules/.staging/depd-034cb485'
    npm WARN optional SKIPPING OPTIONAL DEPENDENCY: esprima@3.1.3 (node_modules/degenerator/node_modules/esprima):
    npm WARN enoent SKIPPING OPTIONAL DEPENDENCY: ENOENT: Cannot cd into '/chaincode/output/node_modules/.staging/esprima-aa16605d'

    npm ERR! code ENOTFOUND
    npm ERR! errno ENOTFOUND
    npm ERR! network request to https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz failed, reason: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443
    npm ERR! network This is a problem related to network connectivity.
    npm ERR! network In most cases you are behind a proxy or have bad network settings.
    npm ERR! network 
    npm ERR! network If you are behind a proxy, please make sure that the
    npm ERR! network 'proxy' config is set properly.  See: 'npm help config'

    npm ERR! A complete log of this run can be found in:
    npm ERR!     /root/.npm/_logs/2018-05-11T05_26_58_243Z-debug.log
    "
    Response from attempted peer comms was an error: Error: 2 UNKNOWN: failed to init chaincode: handler not found for chaincode marbles-network:0.2.4-deploy.0
    Command failed


(Varun Raj) #155

This happens when you’ve not joined the peer2 and peer3 into the composerchannel. Make sure you joined the channels with following.

docker exec peer2.org1.example.com peer channel join -b composerchannel.block
docker exec peer3.org1.example.com peer channel join -b composerchannel.block