How DataMgmt Node works
A request is encrypted, distributed across the P2P network, and recorded on-chain for compliance — in a single operation. Here is each layer, the data flow, and how to run it yourself.
The four layers
API layer
Three RESTful APIs — Internal (8080, localhost-bound), External (8081, public-facing) and Dashboard (8082, WebSocket) — with token-bucket rate limiting (50 req/s internal, 10 req/s external).
Security layer
Fernet encryption (AES-128-CBC) with PBKDF2 key derivation at 480,000 iterations. Versioned keys support backward-compatible rotation; nodes authenticate one another with RSA-PSS signatures.
P2P network layer
A Kademlia DHT distributes data redundantly across nodes with automatic peer discovery and health monitoring, and average sub-100ms retrieval latency.
Blockchain layer
Every share is recorded on an EVM chain as a zero-address transaction with encoded event data — an immutable compliance record you can verify with GET /verify_data.
Quickstart in five steps
- 1
Install DataMgmt Node
Run pip install datamgmtnode to install the Python package (Python 3.10+).
- 2
Initialise configuration
Run datamgmtnode init --network sepolia to create the .env file and required directories.
- 3
Configure environment
Set KEY_MASTER_PASSWORD, BLOCKCHAIN_URL and PRIVATE_KEY in .env. Use --network mainnet for production.
- 4
Start the node
Run datamgmtnode start to launch the internal (8080), external (8081) and dashboard (8082) APIs.
- 5
Verify health
curl http://localhost:8080/health and confirm the JSON response reports status "healthy".
Core API endpoints
A selection of the External API. See the full API reference for all routes.
| Method | Endpoint | Purpose |
|---|---|---|
| POST | /share_data | Share encrypted data with a recipient (records compliance on-chain). |
| GET | /data/{hash} | Retrieve shared data by its content hash. |
| GET | /verify_data/{hash} | Verify a share against the blockchain audit trail. |
| GET | /balance/{address} | Check a token balance for data monetization. |
| GET | /network/stats | Inspect P2P network statistics and connected peers. |