0chroma/recipra

Decide data layer

Closed this issue · 4 comments

Potential things that could be used:

commented on this in the hopes of finding out more info -> redwood/redwood#109

Some updates on this, since it's been a while:

  • Gnunet seems like an extremely good fit on paper since it includes a lot of great features, but:
    • some aspects of it use proof-of-work (NSE and Revocation) which wouldn't work well on mobile apps
    • doesn't have a huge community around it, unsure of how stable it is
    • I wrote to their mailing list about some of these things, if I don't get a response it's a bad sign
  • libp2p seems to be the best in terms of community support and research, but I'd have to implement things like auth, privacy transports, and messaging that gnunet provides for free (maybe there's a library for this?)
  • Automerge-rs and yrs can provide the data sync layer, yrs seems to be further along in development

My research on this is like 85% done, just need to make the final decision between Gnunet and libp2p

After doing a lot of reading on the topic, including the recent ecosystem review written by bluesky contributors, I've decided to stick with yrs and libp2p. It seems to have the best community support for the use case.