strawberry-store
TypeScript icon, indicating that this package has built-in type declarations

0.4.0 • Public • Published

strawberry-store

Fault tolerant distributed key-value store

Based on MochiDB link

Sandwich structure

network protocol (cream)
- UDP req/res
- HTTP (TODO)
------------------------
core logic (strawberry)
------------------------
storage engine (bread)
- In-memory
- SQLite

To do list

  • [ ] Scrub (put a ceiling on the last read time for all stored keys, a read is performed when necessary)
  • [ ] Add signature to Write1ReqMessage to prevent writes from being spoofed
  • [x] Notifying peers that are slow so they can catch up (resync)
  • [ ] Use an X.509 certificate for each peer signed by a certificate authority instead of using a whitelist of peer public keys
  • [ ] Log warnings/errors to a file
  • [ ] Tests! All the tests!
  • [ ] More efficiency over the network and in storage
  • [ ] Faster transactions
  • [ ] Length limits for keys and values

Tests

npm run build
cd test
docker-compose up

UDP req/res protocol spec

here

Readme

Keywords

none

Package Sidebar

Install

npm i strawberry-store

Weekly Downloads

16

Version

0.4.0

License

Apache-2.0

Unpacked Size

126 kB

Total Files

57

Last publish

Collaborators

  • iroha.is