JavaScript CRDT

Open-source JavaScript projects categorized as CRDT | Edit details

Top 5 JavaScript CRDT Projects

  • GitHub repo gun

    An open source cybersecurity protocol for syncing decentralized graph data.

    Project mention: gun: NEW Data - star count:15251.0 | reddit.com/r/algoprojects | 2022-01-08
  • GitHub repo orbit-db

    Peer-to-Peer Databases for the Decentralized Web

    Project mention: Any suggestions to build a decentralized web app? | reddit.com/r/ipfs | 2021-11-22

    I want to build a decentralized social media web app for a personal project, and I'm thinking on using IPFS. What tool, API, or library can get me set up without writing smart contracts or using blockchain solutions? I've heard that GunDB or OrbitDB are useful libraries- is that true? What are your thoughts and suggestions?

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • GitHub repo yjs

    Shared data types for building collaborative software

    Project mention: Consider SQLite | news.ycombinator.com | 2021-12-29

    You have to handle the merge conflicts yourself, see https://www.sqlite.org/session/sqlite3changeset_apply.html

    So you need to be carful how you design your schema, but very possible.

    One option is to use something like Yjs and a JSON column to get proper CRDTs for merging.

    https://github.com/yjs/yjs

  • GitHub repo teletype-crdt

    String-wise sequence CRDT powering peer-to-peer collaborative editing in Teletype for Atom.

    Project mention: 5000x Faster CRDTs: An Adventure in Optimization | news.ycombinator.com | 2021-07-31

    Cool! It'd be interesting to see those CRDT implementations added to Kevin Jahns' CRDT Benchmarks page[1]. The LogootSplit paper looks interesting. It looks like xray is abandoned, and I'm not sure about teletype. Though teletype's CRDT looks to be entirely implemented in javascript[2]? If the authors are around I'd love to see some benchmarks so we can compare approaches and learn what actually works well.

    And I'm not surprised these techniques have been invented before. Realising a tree is an appropriate data structure here is a pretty obvious step if you have a mind for data structures.

    To name it, I often find myself feeling defensive when people read my work and respond with a bunch of links to academic papers. Its probably totally unfair and a complete projection from my side, but I hear a voice in my head reword your comment to instead say something awful like: "Cool, but everything you did was done before. Even if they didn't make any of their work practical, usable or good they still published first and you obviously didn't do a good enough literature review if you didn't know that." And I feel an unfair defensiveness arise in me as a result that wants to find excuses to dismiss the work, even if the work might be otherwise interesting.

    Its hard to compare their benchmark results because they used synthetic randomized editing traces, which always have different performance profiles than real edits for this stuff. Their own university gathered some great real world data in an earlier study. It would have been much more instructive if that data set was used here. At a glance their RAM usage looks to be about 2 orders of magnitude worse than diamond-types or yjs. And their CPU usage... ?? I can't tell because they have no tables of results. Just some hard to read charts with log scales, so you can't even really eyeball the figures. So its really hard to tell if their work ends up performance-competitive without spending a couple days getting their enterprise style java code running with a better data set. Do you think thats worth doing?

    [1] https://github.com/dmonad/crdt-benchmarks

    [2] https://github.com/atom/teletype-crdt

  • GitHub repo y-crdt

    Rust port of Yjs

    Project mention: Show HN: Matrix-CRDT – real-time collaborative apps using Matrix as backend | news.ycombinator.com | 2022-01-18
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2022-01-18.

JavaScript CRDT related posts

Index

What are some of the best open-source CRDT projects in JavaScript? This list will help you:

Project Stars
1 gun 15,368
2 orbit-db 6,495
3 yjs 6,294
4 teletype-crdt 695
5 y-crdt 282
Find remote jobs at our new job board 99remotejobs.com. There are 28 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Less time debugging, more time building
Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.
scoutapm.com