ccip-router 0.5.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -240,6 +240,23 @@ What `withWyriwe()` adds on top of basic:
|
|
|
240
240
|
|
|
241
241
|
---
|
|
242
242
|
|
|
243
|
+
## Node modes
|
|
244
|
+
|
|
245
|
+
ccip-router runs in two modes — any combination can form a mesh.
|
|
246
|
+
|
|
247
|
+
| Mode | Description | Typical host |
|
|
248
|
+
|---|---|---|
|
|
249
|
+
| **Operator node** | Admin dashboard, signing key, ENS records, attestation pipeline | Self-hosted (Docker / VPS / home server) |
|
|
250
|
+
| **Public node** | Mesh sync + CCIP-Read serving only. No admin surface, no key UI. Set `DISABLE_ADMIN=true` | Any PaaS (Railway, Fly, Render) |
|
|
251
|
+
|
|
252
|
+
Both modes use the same Docker image and npm package. The difference is configuration only.
|
|
253
|
+
|
|
254
|
+
**→ [Full deployment guide](DEPLOYMENT.md)** — self-hosted operator setup, Railway one-click public node, reverse proxy config, Cloudflare Tunnel, multi-URL resolver, key generation, security notes.
|
|
255
|
+
|
|
256
|
+
[](https://railway.com/template/ccip-router)
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
243
260
|
## Quick start (setup wizard)
|
|
244
261
|
|
|
245
262
|
```bash
|
|
@@ -266,6 +283,8 @@ npm run dev
|
|
|
266
283
|
|
|
267
284
|
## Environment variables
|
|
268
285
|
|
|
286
|
+
> **Security:** never put `GATEWAY_PRIVATE_KEY` or other secrets inline in a compose file. Use `env_file:` pointing to a `chmod 600` file, or your platform's secrets UI (Railway Variables, Fly secrets, etc.). See [DEPLOYMENT.md](DEPLOYMENT.md) for the recommended pattern.
|
|
287
|
+
|
|
269
288
|
| Variable | Required | Default | Description |
|
|
270
289
|
|---|---|---|---|
|
|
271
290
|
| `GATEWAY_PRIVATE_KEY` | Yes* | — | 32-byte hex signing key (`0x...`). Without it the node runs in dry-run mode (unsigned records). |
|
|
@@ -282,6 +301,12 @@ npm run dev
|
|
|
282
301
|
| `NODE_REGISTRY` | No | — | Deployed `NodeRegistry` contract address. Enables on-chain node registration. |
|
|
283
302
|
| `RPC_URL` | No | — | JSON-RPC endpoint. Required alongside `ATTESTATION_INDEX`. |
|
|
284
303
|
| `MODEL_HASH` | No | — | `keccak256` of model weights CID. Required to activate WYRIWE attestation. |
|
|
304
|
+
| `NODE_URL` | No | — | This node's public URL. Required for VNI (signed node identity). |
|
|
305
|
+
| `AUTO_DISCOVER` | No | `true` | Pull peer lists from synced peers automatically. |
|
|
306
|
+
| `CDN_PROVIDER` | No | — | `pinata` or `storacha`. Enables IPFS upload from admin panel. |
|
|
307
|
+
| `CDN_API_KEY` | No | — | API key / JWT for the configured CDN provider. |
|
|
308
|
+
| `NETWORK_KEY` | No | — | Ethereum address. Messages signed by this key are marked as official network announcements. |
|
|
309
|
+
| `DISABLE_ADMIN` | No | `false` | Set `true` to skip mounting `/admin` and `/static` entirely. Recommended for public PaaS nodes. |
|
|
285
310
|
|
|
286
311
|
\* Can also come from `config.json` written by the setup wizard.
|
|
287
312
|
|
package/package.json
CHANGED