feknall / Hyperledger-FL

4 stars 0 forks source link

Solve the problem of communication between two agents #1

Closed feknall closed 2 years ago

feknall commented 2 years ago

Create two different docker containers that each container corresponds to one agent. The agents should be able to communicate with each other by using Swagger API. Also, instead of using an online ledger like http://dev.greenlight.bcovrin.vonx.io, deploy a local ledger using the von-network project.

feknall commented 2 years ago

Containers of von-network projects use their own specific instead of 'bridge'. Therefore, I changed docker-compose.yml file to use bridge instead of von.

feknall commented 2 years ago

Now, agents can connect to the von-network by using IP address of the main container for getting the genesis configuration. For example, check --genesis-url in this command:

PORTS="5000:5000 10000:10000" ./scripts/run_docker start --inbound-transport http 0.0.0.0 10000 --outbound-transport http --log-level INFO --admin 0.0.0.0 5000 --admin-insecure-mode --endpoint http://127.0.0.1:10000 --genesis-url http://172.17.0.3:8000/genesis --wallet-key key --wallet-name my-wallet --wallet-type indy
feknall commented 2 years ago

--endpoint option is wrong in the previous commands. This must be used:

PORTS="5000:5000 10000:10000" ./scripts/run_docker start --inbound-transport http 0.0.0.0 10000 --outbound-transport http --log-level INFO --admin 0.0.0.0 5000 --admin-insecure-mode --endpoint http://172.17.0.1:10000 --genesis-url http://172.17.0.6:8000/genesis --wallet-key key --wallet-name my-wallet --wallet-type indy

This IP address is equal to the default gateway of the network!