JSN deployment and operations
Public JSN service availability, contract addresses and operator release details are TBD. This guide describes deployment requirements and operational responsibilities. It does not provide a source-build or installation walkthrough.
Deployment requirements
A JSN deployment needs a compatible chain, coordinator, SigNet and subscription contracts, funded worker accounts and configured proving identity. Review the chain, contract addresses, owner roles, fees and VRF signer before admitting application requests.
Separate service roles
| Role | Responsibility |
|---|---|
| API | Authenticated control API and public SigNet |
| Indexer | Confirmed event discovery and queueing; separate SigNet publication cursor |
| Worker | Funded transaction lanes and request fulfillment |
The roles share a durable queue and record namespace. Use a distinct funded transaction key per worker lane; reusing one key adds no throughput because nonce-sensitive work is serialized. The VRF proving key is a separate identity and must match the coordinator's configured signer. Coordinator ownership administers workers and fees; it is not the same as a random-word consumer.
Chain transport requirements
An Ethereum-compatible transport needs calls, logs, gas/nonce reads, raw transactions and receipts. Native transport uses JZTX and authenticated storage/history, checks deployed runtime bytecode against expected artifacts and needs retained history from the first indexed deployment block and pending transaction journals.
Native operation also requires a chain with enough block gas for deployed contracts and callbacks and seconds-based application timestamps. The current cpp-node validator executable fixes block gas at one million; JSN does not change that consensus setting. A standalone RPC process only admits transactions—an actual block producer must commit them.
Recovery and monitoring
Monitor queue depth, worker connectivity, callback failures, expired requests, gas funds, subscription automation budgets and indexer progress. Preserve signed-transaction journals so a restart can resolve an already broadcast transaction before signing a replacement. Diagnose a failed job before requesting retry; never repeat a consumed application callback merely because a client timed out.
Keep backing stores private, terminate TLS at public ingress and issue separate scoped API credentials. Public deployments and service-level measurements remain to be published. The API reference includes proposed public host names and request templates.