Giter VIP home page Giter VIP logo

kv_server's People

Contributors

fengshanshan avatar lyfer233 avatar nykma avatar xudaotutou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

kv_server's Issues

KVService: impl “revert” function

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

A common standard for favoritism

We need to draft a common standard (like common.favorite) for all third-party users to build a common, cross-user favorite list.

[WIP] KVService: upload chains onto Arweave

Description

KVService is a Zero-Trust Key-Value storage space for all users who has a elliptic curve based asymmetric keypair (aka Avatar.

It is designed as a git-like patch chain, each link on the chain is created and signed by user, so any third-party cannot modify / falsify it.

Currently we’ve impl it in a zero-trust way, but we still want to make it more decentralized, more neutral, by putting user’s link onto a storage provider like Arweave.

By uploading all KVChain onto Arweave, we can reach more usability and data transparency improvement.

Expected outcomes

  • You may write a separated worker to do async upload job.
  • You need to record Arweave’s ObjectID-ish into database after a successfully uploading.
  • Arweave’s ObjectID should be returned in query API (if target record has one)
  • Take a look at ProofService’s current impl as an example.
  • Don’t forget unit tests.

Skills required

  • Rust
  • Basic knowledge of Arweave usage

Mentor

Nyk Ma @nykma

Expected size of project

175h

Level

Medium

Add an ability to `revert` change(s)

Since KVServer is designed as a git-like patch chain, there is an ability to implement a revert function which allows user to revert a specific change made accidentally by user himself before.

  • Add a new action called revert (or delete ?)
  • Signature needed
  • When Revert is made, rebuild the whole KV status from scratch.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.