Get and Put operations are implemented and working fine, but OpeDatabse isn't ready for use
related paper: https://eprint.iacr.org/2013/129.pdf
cargo fix --allow-dirty --allow-staged
cargo fmt & cargo test
cargo clippy (recomended)
RUST_LOG=debug cargo test ope_btree::tests::put_many_and_get_them_back_test -- --nocapture
Run Grpc-based Ope Db server implementation
bash cargo run --bin server-grpc -- --arity 4
Run Grpc-based Ope Db client implementation
bash cargo run --bin client-grpc -- --host http://localhost:7777 --debug-mode true
- create base entities (Node, Cmd, MPath, etc.)
- implement KVStore
- implement get operation
- implement put operation
- integration test for BTree
- create Database
- integration test for Database
- implement transport (Grpc)
- make integration test with real transport
- support dataset for client
- support dataset for server
- create CI with Github actions
- make distribution for the server (build docker image)
- make cli client
- make wasm cli
- verifying non-trivial rebalancing
- fix all todos
- implement range operation (when Streams will be stabilized)
- implement delete operation
- implement rockDb backend for all KVStores
- keep min and max elem of tree for quick response if key < min and > max (optimisation)
- bulk upload api is nice to have.
- implement OPE table [optional] (OPE Table is updated to map the DET ciphertexts to their new or updated OPE encodings, see paper)
- Put operation should rewrite encrypted key and value