Yes, well I don't have very good computers, but if you want that it works also on shittier devices or poorer regions of the world, I think it needs to eat up less resources. The "lowpower" profile is I think good enough for such, but the whole scheme is not then adapted to it, even thou with the simple hack proposed in the 1st post it would be suitable for it as well.
I did it now differently to prove this. Node A is still in "low power", Node C is default settings.
I tried first on Node C
ipfs ping [peer ID of Node A], it timed out.
I went on Node C and did
ipfs dht findpeer [peer ID of Node A] and quite quickly, it found the associated IPs, local and exterior ones.
I did again on Node C
ipfs ping [peer ID of Node A] and I got an average of 10 ms.
I've generated a new random file on Node A and put it on ipfs, waited a bit (no idea how much, let's say 10 min).
I ran again on Node C the ping and got a weird ping result:
Pong received: time=9353.73 ms
Pong received: time=3177.23 ms
Pong received: time=2466.85 ms
Pong received: time=2485.99 ms
Pong received: time=2424.44 ms
Pong received: time=1739.68 ms
Pong received: time=1299.30 ms
Pong received: time=1078.96 ms
Pong received: time=934.47 ms
Pong received: time=616.13 ms
Average latency: 2557.68ms
Progressively shorter. Did it again.
Pong received: time=40.65 ms
Pong received: time=40.64 ms
Pong received: time=83.18 ms
Pong received: time=76.54 ms
Pong received: time=14.61 ms
Pong received: time=21.42 ms
Pong received: time=10.15 ms
Pong received: time=7.34 ms
Pong received: time=10.06 ms
Pong received: time=9.29 ms
Average latency: 31.39ms
Weird. Like it forgot the peer, found it again, changed the routing while pinging and then did it directly again. No idea?!
Anyway next pings were normal, so I quickly did the
ipfs get [hash of random file on Node A] and it needed just 19 s to download, compared to 8-13 minutes before this is stellar.
I pinged then again and it was OK, but then after 10 min I tried again and it was again first 137 ms, then 26 ms, then again in 10 ms approx. Why is this?!
Main point though, if I force the IPFS to connect to Node A, in the before mentioned way, prior to Node C downloading the file, it works approx. 30 times faster, than what it does without "hinting where it is". So I still think URI hinting with
[peer IDs] and maybe not IPs would be stellar.
Also, is there a traceroute tool for IPFS?