Debugging locally
Logs and run events stream to the terminal where you rungoldsky compose start. Output is formatted and colored so it’s easy to scan.
Chain forking
For testing against live on-chain state without spending gas, start your app with the--fork-chains flag:
Impersonating wallet addresses
If you need to test privileged contract methods that are restricted to a specific address (e.g. an owner or admin), you can impersonate that address on the fork without needing the private key:Testing individual tasks
You can trigger any task on your locally-running app by name with a JSON payload:callTask posts it to the local server at http://localhost:4000/tasks/<name> and prints the response.
Debugging a Deployed Compose App
Once your app is running in the cloud, debug it from its details page in the web app athttps://app.goldsky.com/dashboard/compose/{appName}. From there you can view logs and inspect task run records. See Monitoring your app via the webapp for a walkthrough.
Every context function call (for example evm.wallet(), evm.writeContract(...), ctx.db.collection(...)) is automatically captured as a run event and shown in the task run view.
Using context.logger for run-aware logs
Use context.logger instead of console.log to get logs that are tagged with the task name and run ID. This unlocks a powerful debugging flow in the dashboard:
- Search for a log pattern in the app-level Logs tab (e.g. search for “payout failed”)
- Click “View run” on any matching log entry to jump directly to that task run
- Inspect the full trace — see every context function call, other logs, and the outcome of that specific run
context.logger also appear in the run-specific Logs tab, so when you’re looking at a single task run you see only the logs from that execution. See the full logger reference for the API.
Examples
Next Steps
Deploying your App
Learn about deploying your app to the cloud for production use cases.
Full CLI Reference
View the full CLI command reference