Node
A node is an independent HTTP server that implements the EWP API. It is the atomic participant in epress world.
Required Capabilities
A conformant EWP node MUST implement all of the following:
GET /ewp/profile— serve its canonical identityGET /ewp/publications— serve its signed publication indexPOST /ewp/publications— accept inbound publication notifications from followed publishersGET /ewp/contents/:contentHash— serve content by hashPOST /ewp/connections— accept follow handshakesDELETE /ewp/connections— accept connection termination requestsPATCH /ewp/nodes/:address— accept signed profile update payloads
Optional Capabilities
A conformant EWP node MAY implement:
GET /ewp/avatar— serve the node's avatar image
Node Profile
The profile is the public identity record of a node:
| Field | Type | Required | Description |
|---|---|---|---|
address | string | REQUIRED | Ethereum address in EIP-55 checksum format |
url | string | REQUIRED | Canonical HTTPS URL of this node |
title | string | REQUIRED | Human-readable node name |
description | string | null | OPTIONAL | Node description. MUST be null when not set. |
ewpVersion | string | REQUIRED | Highest EWP major version this node implements (e.g., "1") |
createdAt | string | REQUIRED | ISO 8601 UTC timestamp of node creation |
updatedAt | string | REQUIRED | ISO 8601 UTC timestamp of last signed profile update |