I have deployed [two org hyperledger fabric network1. Now I want to integrate it with hyperledger Cello. I have installed it, now I am bit confused what values shall I put in Add host fields as per my installed network(please refer to link regarding peer ip and port). Its just a simple network on my local machine with docker(not swarm or kubernetes).
Cello is used to deploy fabric network you can find the container configuration file in fabric.solo.yaml
once you add your host go to chain tab and add new chain network
write on your terminal docker ps you will find the container created
Related
Please help me! Now, I have a network hyperledger fabric includes 2 orgs deploy to 2 hosts. (orgA on host A and orgB on host B). Now I want to change host A to host C. But I don't know how to do it.
I was following Abdul Wahab's tutorial: Hyperledger Fabric on Multiple Hosts here. He had one organization with two peers.
It all worked fine for me until I tried to create two organizations each having 1 peer. I changed crypto-config.yaml, configtx.yaml and bmhn.sh and I’m pretty sure they’re right (In configtx.yaml, I added org2 with anchor peer0 and port 7051. In script.sh, I added CORE_PEER_ADDRESS=peer0.org2.example.com:7051). Is there something wrong with the ports?
And should I change something in the commands he provided? (For example in 6. Peer1, I changed org1 to org2 when necessary but I haven’t touched the port numbers). I think the problem is with the ports…
Could you please help me?
Assuming you need to run two org setup on multiple hosts, you'll need to do the following:
Open up the ports #2377(TCP), #7946(TCP+UDP) and #4789(UDP) for docker swarm network.
Create swarm from one of the hosts and make the other host join this swarm network.
Create an overlay network.
Make sure your docker-compose file for fabric components like orderers, peers, ca, couchdb and optionally cli joins this overlay network. These components should be configured to connect to the external network.
Spinup docker containers for fabric components on both the hosts.
Run "docker network inspect " on both the hosts to check if all the containers have joined the correct network.
By the end, you should be having a multi-org setup on multiple hosts ready.
Do you have any idea how am I going to connect 2 existing organizations from different machines using the existing channel of 1 organizations. Here is what I have as of now, Org1 is running in VM1 and Org2 is running in VM2 with both have there own chaincode installed. What I am trying to do is to connect Org2 to Org1 to a channel of Org1. I don't have any idea how am I going to do it since currently the only example that I have is only using the same VM. Thank you.
You can connect them through the channel.
Suppose that you have already all the url exposed of each components (peer, orderer ..) and that org1 hold the channel. You simply need give to org2 the right to join the existing channel.
Here a guide:
https://hyperledger-fabric.readthedocs.io/en/release-1.2/channel_update_tutorial.html
based on what you said, you should start the tutorial from the section "Generate the Org3 Crypto Material".
To connect organizations on different hosts, you'll need to create a Docker Swarm. Once you have all the hosts joined to docker swarm, you'll need to create an overlay network and make your containers join this overlay network.
You can start following this blog that describes a simple configuration for multiple hosts. For further reference, you can refer to this SO answer.
For deployment using Kubernetes, you can refer to this medium blog.
I'm trying to set up a 3-organization network, with users of each org connecting to their own peer over a REST interface.
In the examples I've seen for single-org networks, the rest connection is made to localhost, i.e. the host of all the Docker containers. In a multi-org network, what should I be trying to connect the REST interface to from the client, is it the peer of that org, i.e. peer0.org1 etc?
I have followed through the example at getting started overlay and i have a simple query. Is it possible to use multi-host networking feature using overlay without creating a swarm cluster? I don't want to use third party plugins like weave etc. I want to use docker native networking support for this.
I have 3.16+ kernel running RHEL and docker 1.9.
Yes, it is possible: see "Lab 6: Docker Networking".
The key part of an overlay network is the discovery service, like for instance Consul.
An overlay network requires a key-value store.
The store maintains information about the network state which includes discovery, networks, endpoints, ip-addresses, and more. Engine supports Consul, etcd, and ZooKeeper (Distributed store) key-value store stores.
The article "Docker Networks: Discovering Services on an Overlay" lay some criticisms about the current service discovery tools which are not built for individual container registration or discovery.
Overlay uses KV stores under the covers to model the network topology and enable cross-host container to container communication. It does not provide SRV record resolution.
The rub is that in an overlay network every container has its own IP address.
So, the only way you could make this work is by running Consul agents inside of every container on the network that contributes a service. That is certainly not transparent to the developer, or compatible with off-the-shelf images.