登录后可观看高清视频
回退(revert) | EVM 内存 10
28次播放
2025-01-27
在Solidity中,函数可以通过执行revert函数或在require语句中某些条件失败而回退。我们还可以使用汇编语言使函数回退。汇编中的revert函数接受两个输入:起始位置和长度,它会回退执行并返回存储在内存中从起始位置到起始位置加长度的数据。本文通过创建一个名为test revert的函数,演示了如何使用汇编实现revert,并展示了如何在内存中存储错误信息以便在回退时返回。通过将错误信息存储在特定内存位置,并计算出函数选择器、字符串偏移量和长度,最终调用revert函数,成功实现了在交易日志中显示错误信息的功能。此过程展示了如何在汇编中重现Solidity代码的回退机制。