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

Uploaded Python 3

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

cryptodb-2.6.1-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.6.1.tar.gz.

File metadata

  • Download URL: cryptodb-2.6.1.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.6.1.tar.gz
Algorithm Hash digest
SHA256 465b3eeb4e5588e4dfd6a12ab549cecc8dac0f6c1ad4ec35042cc54ed6c1b37e
MD5 d1405b08f6acfc3076c39deac440b4ec
BLAKE2b-256 9b95fe951e626307f75030014ceb4d90a19786d3619974c022efe7157147e688

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cryptodb-2.6.1-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.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 184338dbe163b9ece9f42880d2b4821d7e1a7d124badbad85b11e5f1d0f8cd1e
MD5 6d78e2be86b51fa4759b30696f09e0d3
BLAKE2b-256 0ef80d1091c1374c468bd0fe33ee6e58033aedaf0cbde217fc97c3dae35a362f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryptodb-2.6.1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a72385b3e2baab6bea2219ef73ba56d1f12e8058db1f47399e2b7c26c8851715
MD5 8eb5045d44eb562967bac5ca4c934ab4
BLAKE2b-256 c21718b35f8611895e83208c55a592ad8ece0e63d467b25ecd1952c1096577ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryptodb-2.6.1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f29129012e651c77d03f35df4364cc58baa813b3e207667cbaf2c8f67acc8996
MD5 ba7a3480dcfb0af1937dce1a83549f59
BLAKE2b-256 2207fdb8ce9844a4f0fa351176a2e5f79a7482c4b68e9f83748a4723c78dedbf

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