Lucid — An HTTP Key-Value Store

clint21.eth ⚡️
3 min readJan 30, 2020

--

Lucid is a modern concept of key-value store, which improves the way data is created and consumed by providing a RESTful API.

Getting Started

The first step to begin to use lucid is to download binaries, Lucid is portable you can use as you want, you don’t need to downloads any dependencies.

Go on GitHub releases page, and drop the last binary here.

Initialize Lucid

The init command will create an initial configuration file in your AppData folder on Windows or in ~/.config folder on Linux.

$ ./lucid init

Run the Server

When you have a good configuration you can run the server with this command:

$ ./lucid server

Now the server is listening, and the console is like this:

Play with Lucid

We will play with the HTTP API using cURL, you can use Powershell or WSL on Windows by example and for macOS or Linux it’s native.

Create or Update

You need to use PUT method to create or update data

curl -X PUT -d "hey!" https://localhost:7021/api/kv/hello_world

Read

You also can consume this URL directly in the browser, you need to know that Lucid send the same Content-Type that it is stored, if you store JPG image using PUT` you will have a JPG image in the browser.

The Content-Type is defined by analyzing bytes, you don’t need to specify in the PUT request.

curl https://localhost:7021/api/kv/hello_world

Delete

And this last query will destroy the data in memory if the specified key exists.

curl -X DELETE https://localhost:7021/api/kv/hello_world

I just will show you how to make CRUD operations, if you want more you can check out our documentation here.

Or Just Watch It

I made a video if you just want to check out without doing anything!

Lucid KV Video Demonstration

Need a Demonstration?

We have hosted a demo node on Heroku, and he is available here:

If you want to deploy your own node, it’s easy, you just need to go here.

Go further

Lucid has many more commands and features, you can look at our documentation our help us on GitHub, most of them are currently in development, you are welcome to help us!

Using Docker

To runs a node with Docker, 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

A demonstration instance is accessible at http://lucid-kv.herokuapp.com (with authentication disabled).

Contribute to Lucid

Lucid is developed by @clintnetwork, @Slals, @CephalonRho, @rigwild and published under the MIT License.

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

--

--