GithubHelp home page GithubHelp logo

js-deje's Introduction

js-deje, a JavaScript DEJE library

This allows browsers and Node.js servers to act as DEJE clients. The DEJE protocol is built on WAMP, so even in the browser, JavaScript is a first-class citizen among protocol peers.

This library is currently very limited - even less production-ready than the Go implementation of DEJE. It's quick-and-dirty, with demos in mind. Not only that, but it implements the current "toy" edition of the protocol, which is profoundly griefable.

Also note that the final version will depend on having access to a bitcoind API server that you have reasonable trust in. DEJE uses the Bitcoin blockchain as a distributed, secure timestamping service. This is less of a pain in the butt than it sounds, because the standard daemon implementation exposes a REST HTTP interface.

Dependencies

js-deje's People

Contributors

maddiem4 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

js-deje's Issues

Travis CI integration

We really want to run the serialization test suite every time we push. Someday, there will also be a test suite for the rest of the code, and we want that to be able to just hook into an existing Travis setup.

DELETE leaves null entry when used on arrays

If you have an array with 2 elements, and you DELETE the second, you end up with [, null]. That's not correct. And since DELETE can have some more complex implications on arrays, we need to make sure this works right.

Clean up object serialization API

There's a bit of awkwardly duplicated code in document.serialize and event.serialize. Both of them should, ideally, accept a format object and pass it on to utils.serialize.

Will also need changes to the test suite.

Implement Event.compatibleWith(other)

Right now this just returns true, because for demo purposes, that's usually the case. For the real world, with scary people, we need something a little more robust, that actually takes the event graph topography into account.

Update to support protocol v02

Version 02 of the protocol is out and working in go-deje, although the ticket to update the version number itself is still pending at this time (DJDNS/go-deje#38).

Update js-deje to support the new protocol mechanisms, and deprecate the old ones.

Automatic timestamp navigation

Figure out, and go to, the current tip event, as per current client.timestamps value.

This is that permanent logic that's gonna stick around even when we stop passing timestamps around between peers.

Track timestamps

I didn't want to outrageously inflate the scope of #5, and support things that are totally unprecedented/not strictly necessary for the browser client. But for simple, drop-in use, especially for other projects? We want us some timestamp support.

Peer timestamp sharing is not a permanent situation, but it's here to stay for awhile, so it's not chasing shadows to support it in js-deje.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.