JavaScript for the web
This is a single-threaded non-blocking implementation useful for websites. Data accesses are handled synchronously, while store access operations call a handler (callback) function upon completion.
Download
2016-05-13 – condensation.js
Examples
API documentation
No API documentation available yet. Feel free to contact us if you have questions.
Available stores
- HTTP
- HTTPS
Limitations
- The RSA implementation is about half as fast as in other implementations. This is because no 64-bit integers are available in JavaScript.
- RSA key generation is be done in little bits, because JavaScript does not allow for asynchronous tasks. The whole process may take a few seconds, but does not block the user interface.
- Because of CORS, HTTP stores on foreign domains are not accessible unless they explicitly allow this.
- Web sites delivered through HTTPS can usually access HTTPS stores only. Most browsers block plain HTTP requests from HTTPS websites to avoid security holes. By default, Condensation translates http://... URLs to https://..., hoping that the store is accessible through both protocols.
- The maximum object size is approximately 2 GiB, since the implementation uses regular JavaScript arraybuffers to handle them internally. As a consequence, the maximum size of a record node byte sequence is approximately 2 GiB as well.
- The default integer serialization functions (bytesFromInteger, bytesFromUnsigned, integerFromBytes and unsignedFromBytes) use JavaScript's number type, and therefore keep 52 significant bits only.