Skip to main content

NEDB — a versioned, self-compressing, time-traveling embedded database (replay-protected, idempotent, relational, searchable) with durable AOF persistence and a server daemon (nedbd).

Project description

crypto-database

The database that can prove it never lied.


crypto-database is a content-addressed, hash-chained, time-traveling datastore. Every version of every record is an immutable, BLAKE2b-verified object in a Merkle DAG — nothing is ever overwritten, and the store can prove its own integrity on demand.

If your data is evidence — ledgers, audit trails, provenance, anything you may one day have to defend — crypto-database makes the history itself tamper-evident and replayable.

Why crypto-database

  • 🔒 Tamper-evident by construction. verify() re-hashes every object against its content address. Flip a single byte on disk and it's caught — silently impossible to forge history.
  • Time-travel is a query. AS OF <seq> returns the exact state at any point. VALID AS OF <time> adds bi-temporal validity — what was true, as of when.
  • 🧬 Causal provenance. caused_by links every record to the facts that produced it; TRACE walks the graph. Audit why, not just what.
  • 🔐 Encrypted at rest (AES-256-GCM), RESP2 wire protocol, SQL / Redis / Mongo adapters, a nedbd-v2 server daemon.

Install

npm install crypto-database   # Node (native addon)
pip install cryptodb          # Python  ← note the PyPI name
cargo add crypto-database     # Rust

Why the split name? crypto-database was already taken on PyPI by an unrelated project, so the Python distribution keeps the original cryptodb name there. npm and crates.io publish as crypto-database. Same engine, same version, same code — only the registry labels differ.

Reach for it when

Audit logs · financial & token ledgers · compliance trails · supply-chain provenance · anything where provable, replayable history is the product, not a nice-to-have.

import { NedbCore } from "crypto-database";
const db = new NedbCore();
db.put("ledger", "acct:alice", JSON.stringify({ balance: 100 }));
db.put("ledger", "acct:alice", JSON.stringify({ balance: 250 }));
db.getAsOf("ledger", "acct:alice", 0n);   // → balance 100, the past, intact
db.verify();                               // → true: nothing was tampered

crypto-database (previously CryptoDB) is a distribution of the NEDB engine, tuned for verifiability. Engine development happens upstream at Eth-Interchained/nedb. © Interchained LLC.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cryptodb-2.5.2.tar.gz (83.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cryptodb-2.5.2-py3-none-any.whl (88.1 kB view details)

Uploaded Python 3

cryptodb-2.5.2-cp38-abi3-macosx_11_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

cryptodb-2.5.2-cp38-abi3-macosx_10_12_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file cryptodb-2.5.2.tar.gz.

File metadata

  • Download URL: cryptodb-2.5.2.tar.gz
  • Upload date:
  • Size: 83.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for cryptodb-2.5.2.tar.gz
Algorithm Hash digest
SHA256 e4fa9d7e511e15f0aa130e36733cac33daeef6bb2049b69a8f20b740547e1588
MD5 6de1b732225da1f15427e993c0c9be7b
BLAKE2b-256 107e38c9413d98ac930c61e8ac430e920518f5075ba4b0a2ffe84b732309092d

See more details on using hashes here.

File details

Details for the file cryptodb-2.5.2-py3-none-any.whl.

File metadata

  • Download URL: cryptodb-2.5.2-py3-none-any.whl
  • Upload date:
  • Size: 88.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for cryptodb-2.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9915abea94386047be749cfb5b46a80f684e34739478763de4b31b64f97f07d4
MD5 2517fb648222fdf719527b1ee110117c
BLAKE2b-256 458aa03060b98de5bf8c86415b7f05d66dbae20ec47d91239a9e8ce6cf2933db

See more details on using hashes here.

File details

Details for the file cryptodb-2.5.2-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cryptodb-2.5.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 57d151607776142ef0d77d8e4bf1b39b4621a6ec0e909aeb817724e51dc698de
MD5 df1cdece44101f717775321bc16ffab4
BLAKE2b-256 76dd965616e63bef7bb627685d738116ca3b7a5f9a88bc67edea106a968c7047

See more details on using hashes here.

File details

Details for the file cryptodb-2.5.2-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for cryptodb-2.5.2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2bc6aaf293b3007339b7c67de997f257b1ff67e3fdf95b5ab9dbd3a630b96e2f
MD5 5c8d6ffb92dad2aff0156fe9e2d2570c
BLAKE2b-256 bfb4355487cf4e529e36c07e17e6214af24742d25341a31faa27e3c68518884b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page