Skip to content

Latest commit

 

History

History
39 lines (28 loc) · 892 Bytes

File metadata and controls

39 lines (28 loc) · 892 Bytes

Sylan Node

A minimal, production‑ready node that:

  • Watches APIConsensus.RequestRegistered
  • Pulls provider snapshot (HTTP)
  • Verifies EIP‑712 (provider signature)
  • Optionally pins payload to IPFS
  • Submits snapshot
  • Opportunistically calls finalize near/after expiry+grace

Quick start

cp .env.example .env
# Fill in RPCs, CHAIN_ID, CONSENSUS_ADDR, REGISTRY_ADDR, PRIVATE_KEY, IPFS/Pinata config & PROVIDER_BASE_URL
npm i
npm run dev

Docker

docker build -t sylan/node .
docker run --rm --env-file .env sylan/node

Operability

  • Health: GET /healthz (200 OK when event loop active)

  • Logs are JSON (pino) with levels

  • Graceful shutdown on SIGINT/SIGTERM

Security

  • Use a dedicated EOA for node ops

  • Keep PRIVATE_KEY out of docker‑compose files checked into git

  • Rate limit provider fetch; random jitter to avoid thundering herds