Libp2p – p2p network stack
github.com
github.com
We're working on cleaning up interfaces, getting to a good level of completeness and interop between go and js, and then messaging/explanations. Stay tuned for proper a launch later on. But note both go-libp2p and js-libp2p are usable and in use now. :)
- Go: https://github.com/ipfs/go-libp2p
- js: https://github.com/diasdavid/js-libp2p
- specs: https://github.com/ipfs/specs/tree/master/libp2p
brb, 8hr flight.
This would help provide developers with an alternative to blindly matching peers, which will usually result in worse than possible latency if multiple peers have the content being requested.
Currently you can get an approximation of this feature by building on top of MaxMind's GeoIP database, but it's non-free and possibly not as precise for this purpose as other methods[1][2], although it is much easier to use.
[1]: http://nowak.ece.wisc.edu/infocom09.pdf
[2]: https://www.cs.montana.edu/~utkarsh.goel/docs/MickaPcpICCCN1...
IP address signals are good, but we must maintain real measurements of all our connections to be able to adjust over time. also, with things like cjdns and tor, IP addresses wont help much.
I'd love to get network quality estimation at various levels -- as close to the wire as we can for proper measurements, but also across layers of the stack to quantify overheads and so on.
Would love to see how transports like QUIC improve things like parallel fetching of blocks.