NextDotID/kv_server

KVService: impl “revert” function

Opened this issue · 1 comments

nykma commented

Description

KVService is a Zero-Trust Key-Value storage space for any user who has an elliptic curve-based asymmetric key pair (aka Avatar.

It is designed as a git-like patch chain, so there is a possibility to implement a revert function, which allows the user to undo a specific change he/she has accidentally made before.

  • This revert action should also be a link in the patch chain, and should be signed by the user’s Avatar.
  • When a revert is done, the entire KV state from the beginning of the KVChain should be updated.

Have a look at ProofService’s Proof Chain to help you understand this chain structure.

Expected outcomes

Modify model/kv_chains (the place to store the whole chain), model/kv (snapshot of a chain’s final status) and /controller to add a action field with possible values create and revert .

And correctly handles action: revert request.

Don’t forget to write unit tests.

Skills required

  • Rust
  • Basic knowledge of database

Mentor

Nyk Ma @nykma

Expected size of project

175h

Level

Easy

It looks like this workload isn't that great, so I'm hoping I can write code to finish this function within the next month.