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

Uploaded Python 3

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

cryptodb-2.5.45-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.45.tar.gz.

File metadata

  • Download URL: cryptodb-2.5.45.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.45.tar.gz
Algorithm Hash digest
SHA256 1702d6b7f59a9c2b94d49457eb5c0e76ac9561d1ddfe29ebe0c6ca9480ca9758
MD5 29a01620c42a39e89a8514dd7e9694ce
BLAKE2b-256 e771dee5d46f2c1e058a660b1a5a61cabf3d09f75e42e795e3593dfa91c4ca5e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cryptodb-2.5.45-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.45-py3-none-any.whl
Algorithm Hash digest
SHA256 f5c5bb6d3bb45afc7b117f97826305856559f548f5630c985da1124d57ce57c9
MD5 64c63d15e4ed5cc2479b45aea32113c3
BLAKE2b-256 9753dfb5b65a040f0260bec4d591a39411cdf75490aead40c216af564ac1466e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryptodb-2.5.45-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d7275270e1327eefa203490e9f024cfef618dd6a40271c92d66309b6dd99c269
MD5 ccf6eeee2eb98baa17c0323c1c37b5d3
BLAKE2b-256 802e60eb37b5f404e431f05cc8f6bab21a6cc9decaab011fa43d8b5fbc26c22d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryptodb-2.5.45-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c4fc58057b3214f769a5da62c9f3dba2bee1acb383ddb82bc1d6da7125f93a0e
MD5 2a057420d89620a29afd7b67c85968b3
BLAKE2b-256 23417d016eae6ba749cd6cf198b4fc03870a90567631f93db0b25825ec4bbd83

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