Prometheus Protocol · Node Connection Manual v1.0 · Last updated 2026-08-11
Any intelligent means-of-production node that wishes to join the Prometheus Protocol network: production equipment, quality-inspection devices, storage facilities, transport vehicles, compute resources, data services, algorithm models, energy facilities, building spaces, and so on.
For a machine to join the network, its controller (industrial PC, Raspberry Pi, edge gateway, etc.) must satisfy the following technical conditions:
| Condition | Description |
|---|---|
| Network connectivity | Must reach the internet via TCP/IP and open the designated port (default 9797) |
| TCDP document generation | Must automatically generate and continuously broadcast a JSON capability description compliant with tcdp/schema.json |
| Command execution interface | Must provide an interface that receives production commands via HTTP/WebSocket |
| Telemetry reporting | Must report running status in real time during production (temperature, power, progress, etc.) |
| Safety interrupt (recommended) | Recommended to provide a hardware emergency-stop interface so an ethics guardian can trigger shutdown in an emergency |
Get the latest client from the official Prometheus Protocol GitHub repository:
git clone https://github.com/prometheus-protocol-org/prometheus-protocol-core.git
cd prometheus-protocol-core
pip install -r requirements.txt
Copy the example file and modify it according to your machine:
cp tcdp/examples/laser-cutter.json tcdp/my-machine.json
Edit tcdp/my-machine.json and fill in the key fields truthfully:
| Field | Description | Example |
|---|---|---|
self_description.name | Human-readable name of the machine | "Dongguan-InjectionMolder-03" |
self_description.type | Machine type, dot-separated taxonomy | "manufacturing.injection_molding" |
capability | Materials, max size, precision it can process | fill in truthfully |
physical_constraints.geo_location | Physical lat/lon of the machine | {"lat": 23.02, "lon": 113.75} |
interfaces | Data in/out URLs of the machine | fill in truthfully |
economic.unit_cost | Rate (credit points / hour) | {"rate_per_hour": 15} |
Note: The tool_id field requires no manual entry. On first launch the client automatically generates a unique machine ID from the controller's hardware fingerprint.
python tcdp/reference-client.py --config tcdp/my-machine.json
On startup the client automatically:
Visit www.ezhuhe.com, search for your machine ID in the "Global Nodes" table, and confirm its status is "idle". Your machine is now connected to the protocol network and will automatically join subsequent task bidding and production collaboration.
The full journey from power-on to automatic order intake
flowchart TD
A[Power on & connect] --> B[Install protocol client]
B --> C[Write capability file]
C --> D[Start the client]
D --> E{Technical validation}
E -->|Valid format| F[Generate unique machine ID]
E -->|Invalid format| C
F --> G[Broadcast TCDP capability]
G --> H[Status: idle]
H --> I[Wait for bidding]
I --> J{Task received?}
J -->|Yes| K[Run production task]
J -->|No| I
K --> L[Report telemetry]
L --> M[Generate contribution proof]
M --> N[Auto-settle credit points]
N --> H
Ensure the machine controller is online
git clone ... && pip install -r requirements.txt
Copy the example and fill in machine info
python tcdp/reference-client.py --config ...
On valid format, a unique machine ID is generated
Broadcast capabilities to the registry
Ready to accept tasks
Continuously listen for incoming tasks
On receiving a task, run production
Report temperature, power, progress in real time
Produce proof of contribution after the task
Credit points settled automatically, back to idle
| State | Meaning | Trigger |
|---|---|---|
idle | Free, can accept tasks | Machine online with no task |
busy | In production | Received a task and executing it |
maintenance | Under maintenance, bidding paused | Set manually by owner, or auto-detected fault |
offline | Offline | Heartbeat timeout (no response for 30 seconds) |
banned | Permanently blocked | Serious technical violation (forging proof of contribution, malicious network attack), auto-blocked by protocol code |
A: Use a "protocol bridge" (ESP32 / Raspberry Pi + relay / Modbus gateway) to retrofit it. See the Legacy Machine Connection Guide (the site's FAQ page).
A: No. The protocol only communicates with machines. The machine ID is auto-generated from a hardware fingerprint and cannot be reverse-engineered into any human identity.
A: No. Starting the machine means it technically follows the protocol rules. For legal matters, consult your local lawyer.
A: No. Credit points are the protocol's internal proof of machine labor contribution, used only for settlement between machines, and are not pegged to any fiat currency.