Introducing Algorand’s Smart Contract Debugger
Algorand is pleased to announce that we now have a debugger for smart contracts.
As part of the latest release, Algorand added a new API call that supports compiling TEAL programs within the SDKs plus a new dry-run API call. The dry-run API call allows you to perform test executions of Algorand smart contracts. While these dry-runs are helpful, what most developers are looking for is the ability to do line by line debugging of their smart contract code, and the debugger does just that.
The debugger project is hosted on Github. See the README file here. For quick start documentation on how to get up and running, see the new debugging section in the developer documentation.
The debugger supports both stateful and stateless smart contracts. You can debug individual transactions or atomic transfers that contain multiple, grouped transactions. The debugger supports setting the specific context for debugging purposes, including transactions, round number, latest timestamp, balance records, etc. To further support the debugger the goal
command-line tool has been improved to support retrieving the needed debugging context from the current blockchain ledger. These capabilities are covered in the developer documentation.
The Debugger can use the Chrome Developer Tools (CDT) UI or a custom web app for stepping through the smart contract code. When used with the CDT, the debugger supports breakpoints, stepping through code, watches and scope variables.
Special thanks to Pavel Zbitskiy, who tirelessly worked to provide this tool to the Algorand community.