Building a BFT JSON CRDT

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • bft-json-crdt

    🏰 the first JSON-like Byzantine Fault Tolerant CRDT

  • I'm quite surprised by the [benchmarks versus Automerge JS & Rust](https://github.com/jackyzha0/bft-json-crdt#benchmarks) when it comes to memory:

    > Ours (Basic) 27.6MB

    > Ours (BFT) 59.5MB

    > Automerge (Rust) 232.5MB

    I would expect adding the public key tracking to use more memory; I wonder how Automerge is spending so much more memory. Possibly on a bunch of internal caches or memoization that give the order-of-magnitude improvement in speed?

    > Ops: 100k

    > Ours (Basic) 9.321s

    > Ours (BFT) 38.842s

    > Automerge (Rust) 0.597s

  • prolly-trees

    Hash consistent search trees.

  • Check out this implementation of hash-stable trees. The same dataset generates the same Merkle hash, regardless of insertion orders. This makes verifiable sync computationally efficient. https://github.com/mikeal/prolly-trees

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • wiki-collab

    A Hyper Hyper Space datatype for a collaborative, moderated wiki

  • This is a cool idea, but I didn't find any examples of max length constraints or other normalization rules in the source code I reviewed. Maybe there's something in there.

    Here's some source code for an early, work-in-progress Wiki CRDT: https://github.com/hyperhyperspace/wiki-collab/blob/master/s...

    Page in the Wiki. Note that data types have a validate method that returns true or false; maybe if false, they're just dropped from the UI? Not sure how the method is used. https://github.com/hyperhyperspace/wiki-collab/blob/master/s...

    I haven't found the underlying text or rich text CRDT implementation yet.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Rdoc – Build better decentralized and offline-first applications in Go

    1 project | news.ycombinator.com | 25 Jan 2021
  • My opinion about opinionated Prettier: 👎

    3 projects | dev.to | 2 May 2024
  • FastAPI Best Practices: A Condensed Guide with Examples

    1 project | dev.to | 30 Apr 2024
  • I made Swagger/OpenAPI type definitions and converter library

    3 projects | dev.to | 30 Apr 2024
  • Show HN: Leaderboard of most downloaded PyPI packages

    1 project | news.ycombinator.com | 26 Apr 2024