Freenet no longer using libp2p

Was interested to notice freenet no longer uses libp2p for their network.

It was removed around May 2024 in this commit
https://github.com/freenet/freenet-core/commit/18b5e079c185cbdd737afc79613b261cc0682b7f

I can’t find a particular reason for why it was removed.

Looks like most of the network code is in p2p_protoc.rs and network_bridge.rs and uses tokio for network connections.

2 Likes

Interesting, it looks like libp2p code there, but in the README.md there is this snippet? (possibly a rip of some libp2p agreed by them maybe)

Protocol Labs

In addition to creating the excellent libp2p which we use for low-level transport, Protocol Labs has generously supported our work with a grant.

2 Likes

That’s a leftover they forgot to remove.

They’re also listed on the libp2p github as a user of the library under the old project name locutus, also seems to be historical.

The current code for freenet-core only has 2 instances of libp2p:

$ grep -r "libp2p" .
./README.md:[libp2p](https://github.com/libp2p/rust-libp2p) which we use for low-level
./crates/core/src/node.rs://! - libp2p: all the connection is handled by libp2p.
2 Likes

Even more interesting. Would love to know why they switched. I do know PR’s can take an age to get into libp2p and maybe that frustrated them, but seems they have quite specific use case here and perhaps it was easier without all the other bits??

1 Like