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.

Client / app REST · SDK API layer 8080 · 8081 · 8082 Encryption Fernet · PBKDF2 RSA-PSS auth P2P storage Kademlia DHT · redundant Blockchain audit EVM · immutable record

The four layers

01

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).

02

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.

03

P2P network layer

A Kademlia DHT distributes data redundantly across nodes with automatic peer discovery and health monitoring, and average sub-100ms retrieval latency.

04

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. 1

    Install DataMgmt Node

    Run pip install datamgmtnode to install the Python package (Python 3.10+).

  2. 2

    Initialise configuration

    Run datamgmtnode init --network sepolia to create the .env file and required directories.

  3. 3

    Configure environment

    Set KEY_MASTER_PASSWORD, BLOCKCHAIN_URL and PRIVATE_KEY in .env. Use --network mainnet for production.

  4. 4

    Start the node

    Run datamgmtnode start to launch the internal (8080), external (8081) and dashboard (8082) APIs.

  5. 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.

MethodEndpointPurpose
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.

See it running

Interact with a live node on the Sepolia testnet, or explore the use cases.