4 ms·
CRDTs are quite actively discussed in the IPFS community, in particular here: https://github.com/ipfs/research-CRDT/ https://github.com/ipfs/research-CRDT/ (lot
by lachenmayer 8y ago
CRDTs are quite actively discussed in the IPFS community, in particular here: https://github.com/ipfs/research-CRDT/ https://github.com/ipfs/research-CRDT/ (lots of great resources if you're interested in CRDTs)
Also check out automerge, a CRDT that aims to be as JSON-like as possible: https://github.com/automerge/automerge https://github.com/automerge/automerge
Martin Kleppmann (one of the creators of Automerge) has given several great in-depth talks about it, eg. https://www.youtube.com/watch?v=yCcWpzY8dIA https://www.youtube.com/watch?v=yCcWpzY8dIA
- sagichmal 8y agoI was not able to actually find the Javascript implementation of the data type in that repo. I have tried to implement from first principles (i.e. the paper) in my language, but large parts seem to be left under- or un-specified. Did I miss something? I would love to be wrong about this...
- lachenmayer 8y agoI haven't dug deep into the implementation, but most of the interesting CRDT stuff seems to be in the "backend" directory in that repo: https://github.com/automerge/automerge/tree/master/backend https://github.com/automerge/automerge/tree/master/backend In particular the "operations" defined in [1] section 4.2 are defined in this file: https://github.com/automerge/automerge/blob/master/backend/op_set.js https://github.com/automerge/automerge/blob/master/backend/o... [1] https://www.cl.cam.ac.uk/~arb33/papers/KleppmannBeresford-CRDT-JSON-TPDS2017.pdf https://www.cl.cam.ac.uk/~arb33/papers/KleppmannBeresford-CR...