broadcreek
Like deepstream in that it provides:
- realtime db with record subscriptions
- provide and call RPCs
- uws interface
- shitty documentation (for now)
Unlike deepstream in that it:
- logs what the fuck it's doing
- has proper security
- is designed for event sourcing
- uses blockchain technology (ooooh, fancypants -- it's just chained hashes and payload signatures)
- you can query shit
Still lots to do here... i.e.,
- multiple providers of RPC calls accepted, but all calls will currently be routed to the eldest active provider
- no analog of a list-type record
- query support limited to record parameter matching
- message validation could be more performant by caching certificate trust for the session
- websocket already using C-bindings for performance, tests indicate 10-12x further performance improvement if message integrity and authentication checks were also done with native methods
- subscribe to a query
Getting Started
Pre-requisites
- Setup a local CA
- Export CA cert in DER format, e.g.,
openssl x509 -inform PEM -outform DER -in ca.cert.pem -out ca.cer
(it expects to find it in $CA/certs/ca.cer, see env var below)
git clone ssh://git@bitbucket.corp.comply.cloud:7999/tools/broadcreek.gitcd broadcreeknpm iCA=/path/to/ca LOG=trace npm run dev