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.0.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.0-py3-none-any.whl (88.1 kB view details)

Uploaded Python 3

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

cryptodb-2.5.0-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.0.tar.gz.

File metadata

  • Download URL: cryptodb-2.5.0.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.0.tar.gz
Algorithm Hash digest
SHA256 1c8d91289fd882f91b2ad0d039682a450e094d7613ef03f136701e3e850b3034
MD5 583dc1f3e7214691bf9c5365999693f6
BLAKE2b-256 395a413580ecbd8c9de004dffa3ead4bdd503158aa5d424ad0a4a09173fb14de

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cryptodb-2.5.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c7f85bd1b532cfa68ed652d11beba5c6447e4bf8619d16b84eeeb5b9fdb4a9b2
MD5 5612a1db1b63a5830b157aa686757c8a
BLAKE2b-256 ec71bd5c30a7110900fe97c398bf52a5d4a9e0f5fa389244f9717f60b9461773

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryptodb-2.5.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b09cdfb75441f27086269bff2c46b2ff3480b4086356a11e6d669de4b64ef5e5
MD5 4448903b467ed60fc9f39229c6976b6e
BLAKE2b-256 a14e042f10e39994f6cab6fcb09e2fea1dcadb8e396148f65c7cac5cb39c16ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryptodb-2.5.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1add1e7eadf8cfc45baa5de12664c4c686561d681a8dd85267088ee296286446
MD5 ea630130023d7a3111fad363f6a3f6ad
BLAKE2b-256 3330311d52712186b56440af3708a6d8efead1cd5c784162ede4148afc2674d8

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