About Lucid ᵏᵛ

High performance and distributed KV store accessible through an HTTP API. 🦀

Introduction

Lucid is currently in a development stage but we want to achieve a fast, secure and distributed key-value store accessible through an HTTP API, we also want to propose persistence, encryption, WebSocket streaming, replication and a lot of features.

Some Uses Cases: Private Keys Storing, IoT (to collect and save statistics data), Distributed Cache, Service Discovery, Distributed Configuration, Blob Storage etc.

Getting Started

Get the latest binary from the releases page and run these commands:

$ ./lucid init
$ ./lucid --config lucid.yml server

Or run a node with Docker, but you need to create a lucid.yml file locally before.

$ docker pull lucidkv/lucid
$ docker run -v lucid.yml:/etc/lucid/lucid.yml lucidkv/lucid

Quick API Documentation

This is a simple API documentation, Lucid is a REST API, here you can found just CRUD endpoints.

put
Create or Update

https://localhost:7021/api/kv/:key
This endpoint is used to store and update data.
Request
Response
Request
Path Parameters
key
optional
string
Key of the object to store
Headers
token
optional
string
JWT Token, Needed if authentication is configured
Body Parameters
raw body
required
string
Raw Body / Json / Binary files
Response
200: OK
The data was successfully updated.
{
"message": "The specified key was successfully updated."
}
201: Created
The data was successfully created.
"message": "The specified key was successfully created."
}
401: Unauthorized
Your are not unauthorized to access to this resource.
Coming soon
404: Not Found
The key does not exists.
Coming soon

get
Get a Key

https://localhost:7021/api/kv/:key
This endpoint get an existing data with his key.
Request
Response
Request
Path Parameters
key
optional
string
Key of the object to retrieve
Headers
token
optional
string
JWT Token, Needed if authentication is configured
Response
200: OK
The raw content of the object, it can be a binary or an ascii text.
Hello world!
401: Unauthorized
You are not authorized to access to this resource.
Coming soon
404: Not Found
The key does not exists.
Coming soon

delete
Delete a Key

https://localhost:7021/api/kv/:key
This endpoint drop a key if it exists.
Request
Response
Request
Path Parameters
key
optional
string
Key of the object to delete
Headers
token
optional
string
JWT Token, needed if authentication is configured
Response
200: OK
Hello world!
401: Unauthorized
Coming soon
404: Not Found
{
"message": "The specified key does not exists."
}

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

About Development

Lucid is Written in Rust 🦀, powered by Clint.Network and published under the MIT License.

Name / Nickname

Email

Role

Clint Mourlevat

me@clint.network

Lucid Founder

Jonathan Serra

jonathan@blocs.fr

Core Development

CephalonRho

CephalonRho@gmail.com

Core Development

Rigwild

me@rigwild.dev

Web UI Development

Contribute to Lucid

See CONTRIBUTING.md for best practices and instructions on setting up your development environment to work on Lucid.

Make a Donation