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

Uploaded Python 3

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

cryptodb-2.6.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.6.0.tar.gz.

File metadata

  • Download URL: cryptodb-2.6.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.6.0.tar.gz
Algorithm Hash digest
SHA256 4d733fc1f3b99e9e5621f95352c913a8bc61392f97242e755b62110e74b7a008
MD5 2e501b139dfa6fe7fa4027cf1f2a6d47
BLAKE2b-256 906416538544cbdb9ea2163effee39762a981d3ad25d86aadc4f910dbf5ba213

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cryptodb-2.6.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.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f74d4fbc002348eb6e67176a9eef13b2a3735993b96daad2a87a8128f303ac4
MD5 f8908c8bc3f000de6faa9c02d699b4c6
BLAKE2b-256 5ceec0202be7d10db5d52c87f149fdd4c9e4a5f941dee3d25db0f304455c719d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryptodb-2.6.0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3c511cda016214572a3db53a991d35ed87b2604f093b90736f6765c56171d083
MD5 3fb1985e79f6a76c3a5c0e7487f5b851
BLAKE2b-256 ea53612df0f31f4c6730597c69d13f24a03e866246a1a02faf0b3ff14c46da35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryptodb-2.6.0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 257a86662ea4a8a3d755e60c9a943b18034f6e24d82b57d21168ddf1d98ee340
MD5 4539c0c6289e718523f49e5d9249809b
BLAKE2b-256 fe33e617c5a7439db1650ec433907b13eff4b109674ca8fed362825d51d88e7b

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