poaw-node is configured by environment variables; serve also takes --host and --port. Install it with pip install ./core-python "./node[anchor]" from a clone of the repository (Python 3.11+, PostgreSQL 14+).
Commands
command
Applies the schema (
node/src/poaw_node/schema.sql) to an empty database. Safe to re-run — it checks whether the
schema is already applied and does nothing if so. Requires POAW_DATABASE_URL.command
Writes a new 32-byte signing key to
<path> (mode 600) and refuses to overwrite an existing file. Use this once
for POAW_SIGNING_KEY_FILE, and again for POAW_ANCHOR_KEY_FILE if you’re anchoring.command
Creates a workspace and prints its first API key. The key is shown once — it’s stored only as a hash
(
sha256), never in plain text, so there’s no way to recover it later; run this again to create a new key if you
lose it. Self-hosted API keys start with poaw_sk_. --label defaults to initial.command
Runs the claims API and a background tick that re-checks queued claims, on the given host and port (defaults shown).
Environment variables
Anchoring only turns on when
POAW_ANCHOR_CHAIN is set. Without it, the node still signs receipts and maintains the
Merkle log — it just doesn’t anchor the log’s root on chain.Send a claim and check a receipt
--rpc — the on-chain anchor.