About the Lucid ᵏᵛ Project

Hi,

I started this project because I would love to create a KV Store with an HTTP API, to be easily used in a JS Frontend, for IoT and a lot of other use cases.

It's my first rust project, I've +7 years in programming and especially C#, and I do this project to learn rust, that it's a bit complicated for me because I'm a web developer (even I do a lot of C++ in the paste)

If you are interested in this project, you can star the repo, or contact me on Telegram or Twitter if you want to join this project!

Some Use Cases

  • Private Keys Storing (for a wallet by example)
  • IoT: collect and save statistics data
  • A distributed cache for an application
  • Service Discovery
  • Distributed Configuration
  • Blob Storage

Works Progress

  • Minimum Viable Product (MVP)
    • Initialization process
    • Configuration files handling
    • JWT token Issuing
    • HTTPS Support
    • Rest API
      • JWT Authentication
  • WebUI in VueJS
  • Persistence
  • Encryption on the Fly (Serpent)
  • Access Control List (ACL)
  • WebSocket or Event Source (SSE)

The GitHub Repository:

https://docs.lucid-kv.store/

9 Likes

Take a look on the web ui :stuck_out_tongue_winking_eye:

4 Likes

Hi,

We have completely replace Nickel by warp, feel free to follow us, we need GitHub stars :smiley:

1 Like

Hi,

Now we have released a docker here!

Best regards

Hi,

I would like to keep you in touch, this is our roadmap:

  • Persistence #17
    • Define file format and location
    • Define file format
  • Encryption with Serpent #26
    • In-memory object encryption / decryption
  • Achieve PATCH Operations #44
    • Lock / Unlock
    • Increment / Decrement
    • Define / Cancel Expiration
    • Get object Metadata
  • Finish Warp Migration #30
    • Graceful shutdown
  • Server Sent Event #27
    • Broadcast key update and creation
  • Improve Logging
    • Store logs in a file
    • Implement syslog
    • Add colored logs (as an option)

If you want to contribute, you are welcome, this is our contribution guidelines.

Hey,

I do a little website => https://lucid-kv.store/

In the future I will do a better website with a live demo etc :grinning:

Thankx!

2 Likes

Hey hey,

Little demonstration on YouTube:

PS: the curl -k parameter is used for self signed certificates

Kind regards

2 Likes

Hey!

We juste finished to implement Serpent encryption in Lucid.

We have some optimisations to produce in the KvStore and in the Serpent library, but anyway all works fine :ok_hand:

Here the output of our benchmark:

Set 1KB                 time:   [545.38 us 547.93 us 550.51 us]                    
                        change: [-10.159% -8.5361% -6.9179%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 3 outliers among 100 measurements (3.00%)
  2 (2.00%) high mild
  1 (1.00%) high severe

Get 1KB                 time:   [286.96 us 289.38 us 292.26 us]                    
Found 16 outliers among 100 measurements (16.00%)
  6 (6.00%) low mild
  3 (3.00%) high mild
  7 (7.00%) high severe

Set 1KB (w/o encrytion) time:   [900.00 us 906.57 us 913.81 us]                                    
Found 9 outliers among 100 measurements (9.00%)
  6 (6.00%) high mild
  3 (3.00%) high severe

Get 1KB (w/o encryption)                                                                            
                        time:   [380.97 ns 384.96 ns 389.67 ns]
Found 13 outliers among 100 measurements (13.00%)
  13 (13.00%) high mild

Kind regards

Hey guys,

We are working on persistence if you want to help us, you are welcome!

Kind regards

Hey

I wrote a little article on Medium about Lucid and how to use it.

Hey hey!

Now we have a good setup of Heroku, you can deploy a Lucid node with one click.

And if you want to play with our own demonstration node you can: http://lucid-kv.herokuapp.com/ (using /api/kv/:key)

Kind regards

2 Likes