{"repo":"ethdebug/format","free":true,"listed":false,"github":"https://github.com/ethdebug/format","clone":"git clone https://github.com/ethdebug/format.git","description":"Smart contract debugging data format – Standards development working group","language":"TypeScript","stars":79,"topics":["ethereum","smart-contracts","debugging-data-format","standards-working-group"],"license":null,"category":"blockchain-web3","readme_excerpt":"ethdebug format Because debugging on Ethereum is hard. Problem statement Smart contracts offer the fundamental promise that code execution is verifiably transparent. Not only is this necessary to ensure network liveness, but this ability to directly observe the step-by-step operation of the Ethereum Virtual Machine (EVM) affords a foundation for public trust amongst software developers, auditors, and end-users at large. Unfortunately, direct observation of the EVM fails to connect low-level system behavior with any code authors' original framework of meaning. Humans usually write programs in high-level languages that they must compile to a form the machine can execute. It is extremely impractical to reason about the machine-code that compilers output and the system behavior that results upon executing this code. Traditional computing platforms have largely solved this problem through the design, standardization, and use of debugging data formats [^1], which allow compilers a mechanism to specify precisely how to translate a program as the machine runs it into a program as the human wrote it. Several such formats exist in use today, most notably DWARF[^2], and these allow ubiquitous software integration between compilers, editors, and debuggers. Sadly, no existing format suffices to cover the intrinsic differences present in smart contract programming, let alone cover some of the architectural decisions that high-level languages have made in response to the EVM's constraints. ","default_branch":null,"files":null,"tree":[],"storefront":"/r/ethdebug","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ethdebug/format/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}