Hacker Timesnew | past | comments | ask | show | jobs | submit | andreasdz's commentslogin

Check out our section on "Operations", this is the data type we've built on top of the append-only log structure for multi-writer and conflict free data editing: https://p2panda.org/learn/operations


We're using our own CRDT called "Operations" giving us multi-writer conflict-free editing. It's a simple key/value map with a last-write win rule while we keep some sort of vector clock for every write to understand what every peer has seen when they updated the Document.

This might be limiting for some cases, though so far we could model many applications already with such simple CRDT. It is also possible to add your own or already existing CRDT frameworks on top of p2panda.


Yes, it's been a pleasure to work with OpenMLS, they consulted us with the integration into p2panda! As mentioned in my other comment: while most low-level parts have already been written, we still need to work on our high-level APIs, which should allow for easy integration of data encryption when using our SDKs. We aim at doing this in our next funding period.


Oh wow, we didn't expect p2panda to pop up here (I'm adz, one of the core contributors). Let us know if you have any questions :-)

This week we're wrapping up a long development phase for a new "aquadoggo" version (https://github.com/p2panda/aquadoggo/) - our p2panda node reference implementation. The release will come with a dynamic GraphQL query (filtering, cursor pagination, text search and ordering), blob support, a better configuration interface and a full p2p networking stack (QUIC) with NAT traversal techniques and relays based on libp2p.

Next steps in our current funding period is a showcase app for Android (built with Flutter and Rust FFI bindings from our core libraries), a bee sighting database for scientists in the Brazilian Amazon (in collaboration with https://www.meli-bees.org/).

Further down the lane we're continuing our integration of MLS - as some high-level APIs are still missing - and a capability system. We're definitely not out of ideas yet!


This subject is near and dear to me, but after clicking around for a few minutes I was left none-the-wiser about what it actually is. Is it a client? A server? A protocol? Your home page encourages the user to play what looks like a child's game, and your links to "specification" don't actually pull up a specification.

I say this, truly, as constructive criticism: I am probably in your core audience and I bounced off the site.


Thank you for this! We've heard that feedback from other people as well and totally agree. It's true that it is hard to explain what p2panda really is: It is three things at the same time: 1. a protocol specification 2. a reference implementation and 3. an SDK. We can do better at separating these worlds, maybe by giving it different names or a better website. End of our current funding period we dedicated some time for an overhaul.

The specification you find here: https://p2panda.org/specification/

The SDKs you find here: https://p2panda.org/libraries/

The reference node implementation you find here: https://github.com/p2panda/aquadoggo/

For more details what a "client" and a "server" is: https://p2panda.org/learn/networks


Thank you for the response. I will spend some more effort reading your site and related documents. I have a similar problem communicating the value and content of a project myself in the p2p web space. I'm not as far along as y'all. My audience will likely be programmers at first so I'm going to focus on them - and that audience wants to be able to identify what a thing is as fast as possible. I'm a big fan of informal communication, but with this I've found that going out of my comfort zone to be more formal has had a good impact on comprehensibility. Informality is there, but in small doses. I think this helps underscore the seriousness of the endeavor, too, as old-fashioned as that seems.


I'm going to study this project in great detail—it's something I'm very interested in contributing to, or at least building with. I've been hoping for something along these lines since around 2014 and have failed to make sufficient progress with my own attempts, so I'm really happy to see this kind of thing catching on.

A licensing question that pertains to adoption: your license is AGPL, which I'm a fan of except for the practical matter of deploying on Apple's iOS App Store, where Apple's distribution mechanism would make an otherwise well-meaning open source app run afoul of your license.

Do you plan to grant a special license to people building open-source iOS apps?

[edit: typo/clarity]


This looks super cool! I was thinking I couldn't finish my PWA without a database but its much cooler to use this instead I really don't want to store stuff for people who buy my service, I want to sell them support instead of storage.


If that means you will also have a Dart / Flutter package available for development I would be very interested.


We've started implementing one here as part of the "Meli" Android App project: https://github.com/p2panda/meli/ - as soon as we're happy with the API we would factor it out in a separate repository and publish it!


Curios to know why Meli only has Android support? Since Flutter + Rust (FFI) seems a good solution for multi moblie platform support.


Excellent, I did end up taking a look. Hopefully using the FFI approach worked out ok for you folks in the end


Without really understanding much what is going on, this seems to be related:

"System split registered in the synchronous area of Continental Europe – Incident now resolved"

https://www.entsoe.eu/news/2021/01/08/system-split-registere...


From https://www.electricitymap.org/zone/RO it seems there was a drop in hydropower ~1GW around that time in Romania.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: