The Challenge of Implementing Solidity Stack Traces by Patricio Palladino

Debugging is an unavoidable phase of the software development cycle, and the most frustrating and productivity wasting part of developing smart contracts. The essential tools that a programmer would use to debug code manually in a mature platform are missing or unstable in Ethereum or are unstable. These are easy debug logging (e.g. console.log) and stack traces. In addition, smart contract development presents extra challenges, like testing code and smart contract code being written in different programming languages.

In this presentation, we'll shed some light on how stack traces work in other platforms and the challenges we had to solve for building them for Solidity in Buidler. These include identifying the code behind each contract address, identifying the functions in the stack, recognizing Solidity's compilation patterns to improve error messages, and how to display them from your JavaScript tests.

Share your thoughts, add a comment!

You must be logged in in order to place a comment.

Article comments

Loading...
No comments yet, be the first to comment this article