{
  "kit": {
    "name": "Witness-in-a-box",
    "artifact": "witness-in-a-box.mjs",
    "download_url": "https://www.a2ally.com/cli/witness-in-a-box.mjs",
    "sha256_url": "https://www.a2ally.com/cli/witness-in-a-box.sha256",
    "sha256": "5ef2c53e30c927a3d7ef034375aedab7b989eace613a475fd0b943624c7682c5",
    "repo_path": "integrations/witness-in-a-box",
    "runtime": "Node 18+",
    "dependencies": "none (zero-dependency single file)",
    "verify_before_install": [
      "Download the kit from https://www.a2ally.com/cli/witness-in-a-box.mjs",
      "Run sha256sum witness-in-a-box.mjs and compare the result with kit.sha256 in this manifest and with the value served at https://www.a2ally.com/cli/witness-in-a-box.sha256 — do not run a file whose hash matches neither published value."
    ]
  },
  "one_command": {
    "run": "node witness-in-a-box.mjs run --domain <your domain> --key witness.pem",
    "quickstart": [
      "curl -sO https://www.a2ally.com/cli/witness-in-a-box.mjs && sha256sum witness-in-a-box.mjs",
      "node witness-in-a-box.mjs keygen --key witness.pem",
      "node witness-in-a-box.mjs register --domain <your domain>",
      "node witness-in-a-box.mjs run --domain <your domain> --key witness.pem"
    ]
  },
  "always_on": [
    {
      "systemd": "witness-in-a-box.service"
    },
    {
      "launchd": "com.a2ally.witness.plist"
    },
    {
      "cron": "witness.crontab"
    },
    {
      "docker": "Dockerfile + docker-compose.example.yml"
    }
  ],
  "join": {
    "page": "https://www.a2ally.com/witnesses/join",
    "register": "POST /v1/ledger/witnesses",
    "key_url_pattern": "https://<domain>/.well-known/a2ally-witness.pem",
    "witnesses_page": "https://www.a2ally.com/witnesses"
  },
  "network": {
    "registered": 1,
    "confirmed_unaffiliated": 0,
    "required_for_finality": 2
  },
  "managed_node": {
    "status": "interest_open",
    "about": "For customers who cannot self-host, a2ally runs the witness node for them; no price is published for a managed node and nothing is charged today — registering interest only asks for pricing news.",
    "feature": "managed_node",
    "interest_endpoint": "POST /v1/pricing/interest",
    "interest_counts_url": "https://www.a2ally.com/v1/pricing/interest",
    "interest_registered": 0,
    "pricing_url": "https://www.a2ally.com/pricing"
  },
  "note": "Counters are live-computed from the public witness record on every read. A witness counts toward finality only when confirmed unaffiliated: affiliated, unconfirmed, pending and challenged witnesses never count."
}