███████████ ██████████ ███████████ ██░░░░░░███ ██░░░░░███ ██░░░░░░░███ ██ ███ ██ ███ ██ ███ ██ ███ ██ ███ ██ ███ ██ ███ ██ ███ ██ ███ ███████████ ██████████ ███████████ ░░░░░░░░░░ ░░░░░░░░░ ░░░░░░░░░░░
web3 database · ipfs native · encrypted · self-hosted
one command. detects your OS, installs Node 20+, Kubo IPFS, PM2, and the ZDB server.
curl -fsSL https://zdb.zexvro.in/install.sh | bash
works on Linux, macOS, and Termux (Android). idempotent — safe to re-run for updates.
~/zdbzdb CLI to ~/.local/bin/| command | description |
|---|---|
zdb up | start IPFS + ZDB daemons |
zdb up --info | start and show system info |
zdb down | stop all services |
zdb status | check daemon status |
zdb info | traffic, storage, memory, peers |
zdb logs | tail daemon logs |
zdb install | install or update ZDB |
ZDB runs on http://localhost:8899 by default. all endpoints return JSON.
GET /health // response { "status": "ok", "version": "0.2.1", "uptime": 12345 }
POST /v1/db/{collection}
Content-Type: application/json
{
"name": "zexvro",
"value": 42
}
// response
{
"ok": true,
"id": "a1b2c3d4e5f6",
"cid": "Qm..."
}
GET /v1/db/{collection}/{id}
// response: the stored JSON object
GET /v1/db/{collection}
// response
{
"records": [...],
"total": 100,
"page": 1
}
PUT /v1/db/{collection}/{id}
Content-Type: application/json
{
"name": "zexvro",
"value": 99
}
DELETE /v1/db/{collection}/{id}
{
"ok": true,
"deleted": "a1b2c3d4e5f6"
}
POST /v1/db/{collection}/query
Content-Type: application/json
{
"where": {
"field": "status",
"op": "==",
"value": "active"
}
}
all data is AES-256-GCM encrypted before uploading to IPFS. encryption is on by default.
data/settings.json as encryptKeyZDB_ENCRYPT=0 environment variableZDB uses IPFS as its storage and verification layer.
Qm, bafy, bafk, zdb1IPFS_API_URL env var| variable | default | description |
|---|---|---|
PORT | 8899 | server port |
IPFS_API_URL | http://localhost:5001 | Kubo API endpoint |
ZDB_ENCRYPT | 1 | enable AES-256-GCM encryption |
ZDB_IPFS_ONLY | 0 | read data exclusively from IPFS |
ADMIN_KEY | — | admin API authentication key |
ZDB is designed as a lean, self-contained daemon. phone = storage/compute/IPFS. laptop = frontend/API.
zero npm dependencies. entire server fits in a single directory.
ZDB runs natively on Android via Termux. no root required.
pkg install nodejs then run the installerZDB is a web3-native database. it stores data on IPFS with end-to-end encryption. self-hosted, zero dependencies, runs anywhere Node.js runs.
content-addressed storage means your data is tamper-proof by design. every write gets a CID — a cryptographic fingerprint of the data. no central authority, no vendor lock-in.
yes. the server uses only Node.js built-ins. no npm install needed for the server itself.
ZDB is designed for self-hosted, personal, and small-team use. for high-traffic production, consider running multiple IPFS nodes for redundancy.