In IPFS Private Network,
A and B are two nodes using different internet (JIO and Airtel)
They share the same swarm key as well as bootstrap node C
Bootstrap node C can show both the peer id’s of A and B. A and B can communicate to the Bootstrap node C.
Can A and B communicate with each other when they use different internet?
It works if both A and B are using the same internet.
They should be able to unless the ISP is blocking external traffic to Node A or Node B.
Given that both JIO and Airtel appear to be mobile internet providers, I wouldn’t be surprised if individual subscribers are firewalled from the internet.
I would suggest upgrading to v0.4.19 and enabling the experimental AutoRelay feature on your nodes and bootstrap node. In short,
- On Node A and Node B,
ipfs config --json Swarm.EnableAutoRelay true
- On Node C,
ipfs config --json Swarm.EnableAutoNATService true
If that doesn’t work, you can try connecting Node A and Node B manually through the relay (Node C) as described here.
You’ll also need to turn node C into a relay by running
ipfs config --json Swarm.EnableRelayHop true.
I have a similar problem; AB executable program downloaded from git version 0.4.23; C is version 0.5.0-dev compiled by myself;
ABC uses the same swarm.key;
C enable EnableRelayHop, EnableAutoNATService;
A and B have EnableAutoRelay turned on; and they are running under different routers with upnp turned off;
Nodes in C can see AB;
My test method is:
A add a file
B get a file
But B hasn’t responded for a long time.
Error: Post http://127.0.0.1:5001/api/v0/get?arg=QmNcKWhB2GJD9vWseNUYnH6wsgxf5p5ijBefuJArSs6f6o&encoding=json&stream-channels=true: context canceled
Am i missing something
i edit DefaultRelays in the file github.com\libp2p\go-libp2p\p2p\host\relay\autorelay.go and found it works
Hello, may I ask how you solved it and did you make any changes