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

Uploaded Python 3

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

cryptodb-2.5.55-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.55.tar.gz.

File metadata

  • Download URL: cryptodb-2.5.55.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.55.tar.gz
Algorithm Hash digest
SHA256 60956f57a68a081f3815d9f4eb42c4ac65b38fe8de813f58b4d5c25665127e1b
MD5 94db600b01d25b38729c07e66248866d
BLAKE2b-256 8e81689babab15721f89ce89c14fdcb85cca93206309f115eaa188ceb367b1d7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: cryptodb-2.5.55-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.55-py3-none-any.whl
Algorithm Hash digest
SHA256 0a91b65cd451c6f65855282cc4e325e84a858404995cb159080e1f5c1d351b55
MD5 14f49e9028b99aa2626ad0f9cd2b8fda
BLAKE2b-256 84bc3fbe2bb1fe61dcd65a1c771d6922bad4006490eb91db47fed057da3583ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryptodb-2.5.55-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d9b8a2f6756359f7cc2bea3e60df62a7ad57656871ddb0f0676235c37e444b9f
MD5 6c2c5cb70b531b165212a83b26bd6a60
BLAKE2b-256 b4c687cfd9b97e58206dc7ed8987ab20cf1726362d7f2957ddfd623b9f370508

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for cryptodb-2.5.55-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 408f70a5d16e79ee318b4cd8000de972b584e8f8125d6fd074aef5998d75a11d
MD5 1c2ed0f3e352790f148a0fc7ebab392f
BLAKE2b-256 1658bdfd405269f7bf182dc1d235bb3568df98c84caf12317ff1d141a72f5b35

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