Smart Contract Web Console
The NOOSChain Web GUI includes a Smart Contracts workspace for production operators. It mirrors the CLI runbooks and uses the same node HTTP endpoints for launch, registry review, readiness, migration planning, deactivation safety, monitoring, and launch-gate reports.
Start the console:
npm run web:devOpen the printed local URL, connect to the target node, then select Smart Contracts in the left navigation.
Operator Token
Most smart-contract operator endpoints require NOOS_OPERATOR_TOKEN.
- Paste the token into Operator token.
- The browser stores it in local storage for this origin.
- Clear the field when you finish the operator session.
Do not share browser profiles between operators. The console never needs a contract author private key for read-only operator checks.
Launch
Use Launch to stage the human-readable inputs for a release:
- package name and version
- target contract id
- owner user id
- organization id
- manifest bucket access
The right panel shows the launch payload shape that should match the package descriptor and generated transaction payloads from the publishing tutorial. The checklist is the short launch-room gate before submitting registry approval, deployment, instantiation, bucket access, readiness, first calls, monitoring, and rollback evidence.
Registry
Use Registry to inspect approved package and release state:
- Confirm the package name and version.
- Confirm audit metadata exists for the release.
- Confirm the release status has advanced through the expected path.
- Confirm the target contract id is the contract that traffic should use.
The page reads:
GET /contracts/releases
GET /node/observability/contractsReadiness
Use Readiness before routing calls:
- Enter the contract id.
- Select Refresh readiness.
- Resolve any missing bucket, runtime, registry, or local ciphertext availability failure.
- Select Load ABI to inspect callable methods and schemas.
- Select Load state keys before migration or rollback planning.
The page reads:
GET /contracts/:id/readiness?refresh=true
GET /contracts/:id/abi
GET /contracts/:id/state/keysMigrations
Use Migrations to dry-run state movement before submitting governance transactions:
- Enter the source contract id.
- Enter the target contract id.
- Enter the state keys, separated by commas.
- Choose
copyormove. - Select Plan migration.
The page posts:
POST /contracts/migrations/planTreat missing source keys, target collisions, ABI incompatibilities, and contract-defined migration warnings as launch blockers until reviewed.
Deactivation
Use Deactivation before submitting DEACTIVATE_CONTRACT:
- Enter the contract id that would be deactivated.
- Enter the replacement contract id when one exists.
- Select Check dependencies.
- Review dependent callers, manifest C2C references, pending migrations, registry state, and policy warnings.
The page reads:
GET /contracts/:id/deactivation-dependenciesBlocking warnings mean the deactivation should not proceed without an explicit governance exception.
Monitoring
Use Monitoring during and after launch:
- Review per-contract calls, failures, fuel, host calls, emitted events, and writes.
- Review alert-manager style alerts.
- Select Load metrics to see the Prometheus-style export.
- Query events by contract id.
- Load structured return values by transaction hash.
The page reads:
GET /node/observability/contracts
GET /monitoring/contracts/alerts
GET /metrics/contracts
GET /contracts/events
GET /contracts/calls/:tx/resultLaunch Gate
Use Launch Gate before enabling production smart contracts on a network:
- Enter the profile, usually
mainnet. - Select Run launch gate.
- Select Runtime activation and Runtime preflight.
- Attach the gate JSON to the launch ticket.
The page reads:
GET /node/contracts/launch-gate?profile=mainnet
GET /node/contracts/runtime/activation
GET /node/contracts/runtime/preflightA red gate means the governance activation switch should remain disabled. A warning gate requires an operator decision recorded in the launch ticket.
Verification
The web-console contract flows are covered by the GUI test suite:
npm run web:test
npm run web:buildFor production rehearsals, pair the console with the documented CLI flows:
npm run test:contract-operator-launch-rehearsal
npm run test:contract-production-multinode-rehearsal
npm run noos -- contracts launch-gate --profile mainnet --json