Skip to content
An open, scalable and distributive infrastructure for a data-driven community of applications.
Clojure HTML JavaScript TeX
Branch: master
Clone or download
Latest commit 1533a7e Mar 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Add presentation of Clojure Amsterdam Meetup. Aug 22, 2017
nodejs
npm add release link Jul 5, 2017
resources adjust html text Jul 5, 2017
src/replikativ Merge branch 'master' of github.com:replikativ/replikativ Aug 22, 2017
test/replikativ
theory First 1e5 commits benchmark with optimized metadata. Jul 26, 2015
.gitignore ignore some files and add some temporary libs Dec 6, 2013
CHANGELOG.md Improve fetching throughput, remove hash middleware. Jun 5, 2017
LICENSE Use cljx to fix cljs build. Mar 25, 2014
README.md
hooks.html
index.html Remove motivation. Jan 19, 2016
javascript.md
project.clj
related_work.md Port old tests, fix logging, bump deps. Dec 26, 2016
replication.html Prepare release. Jan 19, 2016
vision.md

README.md

replikativ CircleCI Gitter

Project homepage

Changelog

Roadmap (suggestions)

0.3.0

  • Investigate JS side integration of http://y-js.org/
  • Investigate integration with similar systems, eg. IPFS pubsub
  • Split middleware from replicated datatype implementations
  • Improve network IO library kabel (Android support) [DONE]
  • Move hashing into fetch middleware to simplify parallelization. [DONE]
  • Experimental automatic Gossip protocol
  • Experimental Snapshot Isolation
  • Build reasonable small support libraries to partition application data for efficient client side consumption, Datomic and Datascript. Look into datsync etc.
  • Add a monitoring interface as a cljs library with basic web views for applications to communicate their synching state to the user in a uniform way. [DONE]
  • Introduce clojure.spec to stage/... API.

0.4.0

  • Authentication with signed public-private key signatures
  • Model some level of consistency between CRDTs, probably Snapshot Isolation, to compose CRDTs. (NMSI, Antidote, research)
  • Implement more useful CRDTs (counter, vector-clock, ...) from techreview and other papers and ship by default.

0.5.0

  • Use p2p block distribution similar to BitTorrent for immutable values (similar to blocks)
  • support WebRTC for value distribution similar to BitTorrent
  • Java bindings

Long-term (1.0.0)

  • Encryption of transaction with CRDT key encrypted by userkeys, public key schema, explore pub/private key solutions. Maybe metadata signing can work (slowly) on a DHT?
  • Distribute bandwidth between CRDTs.
  • Negotiate middlewares with versioning.
  • Implement diverse prototypes, from real-time to "big-data".

Contributors

  • Konrad Kuehne
  • Christian Weilbach

Support

If you would like to get some commercial support for replikativ, feel free to contact us at lambdaforge.

License

Copyright © 2013-2018 Christian Weilbach, Konrad Kühne

Distributed under the Eclipse Public License, the same as Clojure.

You can’t perform that action at this time.