Show HN: Lightbase, an Abstract API for P2P Database
I developed an abstraction layer for read&#x2F;write operations with IPFS.<p>I wanted to build a database tool that solves some current database limitations:<p>+ Cost: how traditional server-based databases can become costly to run and operate<p>+ Development speed: traditional databases can take time to set up (i.e. defining the schema)<p>+ Duplicate items: duplicate items or profiles can appear between databases (i.e. a bio description that has to be inputted separately on different websites or platforms).<p>Lightbase aims to solve these issues by being:<p>+ Affordable: low-cost by leveraging P2P file sharing (currently on IPFS)<p>+ Frictionless: minimal commands (via an abstraction layer) that are inspired by HTTP-commands<p>+ Unique (future feature): allow a single row (or item) to be accessible by different applications with respect to relevant permissions&#x2F;visibility settings<p>I developed the current codebase on GitHub in one afternoon, which is capable of read&#x2F;write operations on IPFS.<p>I would love to hear everyone&#x27;s recommendations on what could be improved, and future features of interest.<p>Thanks in advance!
GitHub - TheFloatingString/lightbase: An abstract, low-cost database library built on peer-to-peer networks.
Lightbase

Lightbase is an abstract, low-cost database library built on peer-to-peer networks. To simplify operations with databases, Lightbase is built to be:

Affordable: as low-cost as possible leveraging peer-to-peer databases.
Frictionless: fast and easy for developers to use. Built on REST API (minimal dependencies required) and HTTP-inspired calls.
Unique: unique items that can be accessed across different databases.

Lightbase is currently built on IPFS.
Feel free to create an issue for feature requests.
Running IPFS
Installing ipfs on Linux for terminal:
wget https://dist.ipfs.tech/kubo/v0.28.0/kubo_v0.28.0_linux-amd64.tar.gz
tar -xvzf kubo_v0.28.0_linux-amd64.tar.gz
cd kubo
sudo bash install.sh
In this project's root folder:

Running the Backend
cd backend
pip install -r requirements.txt
fastapi dev main.py
Read:
curl -XGET localhost:8000/read/<ipfs_hash>
Write:
curl -XPOST localhost:8000/create -H "Content-Type: application/json" -d "{\"data\":\"<Attachment string>\"}"
Web app view at localhost:8000/view.
