Transaction Science open standards monorepo. Each subdirectory is a self-contained reference protocol with its own README and licence. - openpay/ Apache-2.0 payment-acceptance stack (Rust, 26 crates) - smart-byte/ CC-BY-4.0 content-addressed value carrier (spec) - eoc/ CC-BY-4.0 energy-optimised compute (spec) The wire format and the right to fork are public. The optional hosted services are the offer; the protocols are not.
60 lines
2.5 KiB
Text
60 lines
2.5 KiB
Text
# OpenPay — env file template.
|
|
#
|
|
# Copy to /etc/openpay/openpay.env (referenced by openpay.service)
|
|
# and edit. systemd reads `KEY=value` lines; quote strings only if
|
|
# the value itself contains spaces.
|
|
#
|
|
# Reality check on what's wired:
|
|
#
|
|
# READ BY SHIPPED BINARY (crates/op-server/src/main.rs):
|
|
# OP_BIND_ADDR, RUST_LOG
|
|
#
|
|
# CONVENTIONS THIS GUIDE ADOPTS (need a patched main.rs or a
|
|
# custom binary that reads them — see deploy/README.md):
|
|
# OP_GRAPH_PATH, OP_API_KEYS, OP_LOG_FORMAT
|
|
|
|
# --- Bind address ---------------------------------------------------
|
|
# Where op-server binds. Default 127.0.0.1:8080 in the shipped
|
|
# binary. Keep it on loopback; terminate TLS in Caddy.
|
|
OP_BIND_ADDR=127.0.0.1:8080
|
|
|
|
# --- Persistence ----------------------------------------------------
|
|
# Path to the single-file Minigraf-backed graph database. Every
|
|
# domain store (refunds, disputes, settlement, ledger, reconciliation,
|
|
# webhooks, subscriptions, idempotency) writes here. Reopening the
|
|
# same path on restart recovers all state.
|
|
#
|
|
# Wired via AppState::with_graph_path in crates/op-server/src/state.rs.
|
|
# The shipped main.rs ignores this — patch it to read this env var
|
|
# (see deploy/README.md §3) or it has no effect.
|
|
OP_GRAPH_PATH=/var/lib/openpay/data.graph
|
|
|
|
# --- Authentication -------------------------------------------------
|
|
# Comma-separated list of API keys accepted by ApiKeyAuthLayer.
|
|
# Generate with: openssl rand -hex 32
|
|
# Clients pass the key as `Authorization: Bearer <key>` (or
|
|
# whatever header your ApiKeyAuthLayer config picks up — check
|
|
# crates/op-server/src/auth.rs).
|
|
#
|
|
# Empty / unset disables auth — DO NOT ship to production without
|
|
# this set, unless you've wired your own auth layer.
|
|
OP_API_KEYS=
|
|
|
|
# --- Logging --------------------------------------------------------
|
|
# tracing-subscriber EnvFilter directive. The shipped main.rs
|
|
# defaults to "info,op_server=debug" when this is unset. Examples:
|
|
# RUST_LOG=info
|
|
# RUST_LOG=warn,op_server=debug,op_orchestrator=trace
|
|
# RUST_LOG=off # silence everything
|
|
RUST_LOG=info,op_server=debug
|
|
|
|
# Log output format. The shipped main.rs uses the default pretty
|
|
# subscriber and does NOT branch on this env. To get newline-
|
|
# delimited JSON for journald → loki / Datadog ingestion, patch
|
|
# main.rs to read it and switch to `tracing_subscriber::fmt().json()`
|
|
# when this is `json`. See deploy/monitoring.md.
|
|
#
|
|
# Accepted values (by convention, not by the shipped binary):
|
|
# text (default — human readable, color)
|
|
# json (one event per line, structured)
|
|
OP_LOG_FORMAT=json
|