Greetings,
It’s @gotjoshua writing ( github, gitlab, opencollective )
@tennox and I have been hacking away on bygonz since the IPFSCamp2022 in Lisbon, and it feels like its time to share our wip, and to gather some funding and possibly attract some more hackers into the crew.
I’ve been working on bygonz for quite a while. In short, bygonz is a local-first library that implements CRDT atomic attribute logs via Dexie middleware. Over the years, i have successful proof of concept implementations using, dgraph, git, wnfs, and most recently ipfs as “backends”.
@boris started calling bygonz a db that uses wnfs, but i actually prefer to think of it as a lib that facilitates a local-first data synchronization pattern. (I tend to agree with xtdb’s rather strict definition of a database)
Ok, ok, enough back story.
bygonz is fundable, and i want to use this thread to explore why and how.
2 Likes
The User Story
Imagine, you are using your favorite personal knowlege management tool (eg Logseq), and you get a link in your favorite messenging tool (eg perty) and this link opens up Logseq with a preview window that shows you a tree of blocks and asks you where you want to put it.
You see a little “powered by UCAN” badge with a green lock on it, which makes you feel all warm and fuzzy and safe because you know that the blocks are encrypted and signed by the human who sent it to you.
You embed the bygonz block into your Logseq page of choice, and start to explore. You notice that the person seems to think spaces are more efficient than tab characters as white space in code. You make a new node in the tree as a sub-item indicating your rather passionate opinion about the topic, and providing several links to articles on the inter-web indicating your rightness.
After a brief moment, your changes are instantly synced to your phone and to the human who sent you the link.
Yes, bi-directional block by block sharing with flexible permissions…
via logseq-plugin-bygonz
2 Likes
Current status
Using a hardcoded root node uuid and slash command, we can save and load all known atoms via ipfs (using orbitdb/ipfs-log). Soft-realtime is working via ipfs pubsub, both on a single client same page and across different users/clients on different devices (only tested on the same LAN so far).
Fusion with Fission
We have 2 main lines for integrating bygonz logseq plugin with fission schtuff:
- back up logseq files to wnfs
- use webnative auth for identity and key management to facilitate multi agent sync and share
1 Like