nedb-engine 2.2.32__tar.gz → 2.2.33__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/PKG-INFO +1 -1
- nedb_engine-2.2.33/examples/mini-chain/README.md +39 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/pyproject.toml +1 -1
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/__init__.py +1 -1
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/_native.abi3.so +0 -0
- nedb_engine-2.2.33/python/nedb/nedbd-v2 +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/nedbd-v2.exe +0 -0
- nedb_engine-2.2.32/python/nedb/nedbd-v2 +0 -0
- nedb_engine-2.2.32/python/nedb/nedbd-v2-darwin-arm64 +0 -0
- nedb_engine-2.2.32/python/nedb/nedbd-v2-darwin-x64 +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/.gitignore +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/LICENSE +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/README.md +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/client/node/README.md +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/client/python/README.md +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/autoindex.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/backends/__init__.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/backends/redis_backend.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/cascade.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/concurrent.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/crypto.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/engine.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/index.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/log.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/merkle.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/mongo.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/proof.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/query.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/redis_compat.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/relations.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/resp2.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/server.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/snapshot.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/sql.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/store.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/python/nedb/wrap_redis.py +0 -0
- {nedb_engine-2.2.32 → nedb_engine-2.2.33}/rust/nedb-v2/README.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nedb-engine
|
|
3
|
-
Version: 2.2.
|
|
3
|
+
Version: 2.2.33
|
|
4
4
|
Summary: NEDB — a versioned, self-compressing, time-traveling embedded database (replay-protected, idempotent, relational, searchable) with durable AOF persistence and a server daemon (nedbd).
|
|
5
5
|
Project-URL: Homepage, https://github.com/aiassistsecure/nedb
|
|
6
6
|
Project-URL: Repository, https://github.com/aiassistsecure/nedb
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# NEDB Mini-Chain
|
|
2
|
+
|
|
3
|
+
> The database where your data **is** a blockchain.
|
|
4
|
+
|
|
5
|
+
A ~80-line runnable micro case-study for `nedb-engine`. It tells NEDB's whole
|
|
6
|
+
story in one gamified console run — and uses the exact primitives
|
|
7
|
+
(`caused_by` / `AS OF` / `verify`) that back the real ITC node (**itcd**),
|
|
8
|
+
where NEDB replaces LevelDB as the block-index + chainstate.
|
|
9
|
+
|
|
10
|
+
## Run
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install nedb-engine
|
|
14
|
+
node mini-chain.mjs # default 5,000 blocks
|
|
15
|
+
node mini-chain.mjs 50000 # crank it
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## What it demonstrates
|
|
19
|
+
|
|
20
|
+
| Step | NEDB feature | Why it matters |
|
|
21
|
+
|------|--------------|----------------|
|
|
22
|
+
| ⛏ Mine N blocks | content-addressed writes | one doc per block; hash-chained automatically |
|
|
23
|
+
| ⚡ Read them back | indexed `get` | real writes/sec + reads/sec from *your* machine |
|
|
24
|
+
| ⏳ Time-travel | `getAsOf(seq)` (MVCC) | read any block as it was at a past sequence |
|
|
25
|
+
| 🧭 Provenance | `link` / `neighbors` (causal DAG) | walk a block's `prev` edge |
|
|
26
|
+
| 🛡 Tamper-evidence | `verify()` (BLAKE2b) | corrupt a block on disk → `verify()` flips to `false` |
|
|
27
|
+
|
|
28
|
+
The tamper step is **real**: it flips a byte in a block's on-disk object and
|
|
29
|
+
re-opens the store — `verify()` catches the BLAKE2b mismatch. You can't fake
|
|
30
|
+
history in NEDB.
|
|
31
|
+
|
|
32
|
+
## Storage strategy
|
|
33
|
+
|
|
34
|
+
One document per block in a `blocks` collection, keyed by height, each carrying
|
|
35
|
+
`prev`. Time-travel, causal provenance, and tamper-proofing come **free** — no
|
|
36
|
+
extra tables, no external indexer. That is the same model itcd uses for the ITC
|
|
37
|
+
chain.
|
|
38
|
+
|
|
39
|
+
*© Interchained LLC — GPL-3.0-or-later*
|
|
@@ -10,7 +10,7 @@ build-backend = "hatchling.build"
|
|
|
10
10
|
|
|
11
11
|
[project]
|
|
12
12
|
name = "nedb-engine"
|
|
13
|
-
version = "2.2.
|
|
13
|
+
version = "2.2.33"
|
|
14
14
|
description = "NEDB — a versioned, self-compressing, time-traveling embedded database (replay-protected, idempotent, relational, searchable) with durable AOF persistence and a server daemon (nedbd)."
|
|
15
15
|
readme = "README.md"
|
|
16
16
|
requires-python = ">=3.8"
|
|
index 11d4494..2e1c715 100755
|
|
|
Binary file
|
|
Binary file
|
|
index fd43312..748c337 100644
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|