Python中的Solidity "require"错误消息



我在Python控制台中显示智能合约的require方法的错误消息时遇到麻烦。我正在使用web3.py模块与合约交互。

下面是智能合约代码:

function burn(uint258 amount) public returns(bool){
require(balance[msg.sender]>=amount, "Not enough balance to burn");
...
}

调用此方法试图触发require限制在控制台中不做任何事情。在以太扫描上检查事务是否完成(这是期望的行为)。我在网上找到了一些关于Remix的解决方案,但我希望错误消息显示在我的python代码中。

错误消息是否在某些响应中加密,例如事务的哈希,或者是否有其他方法获得消息?

要获取事务的还原原因,可以使用web3-ethereum-defi库中的fetch_transaction_revert_reason函数。

相关内容

最新更新