ethereum - 如何从 UI 中的合同修改器获取错误消息?
问题描述
在 Remix 上测试合约时,我注意到如果某个方法没有通过修饰符,您实际上会在合约代码下方的窗口中看到错误消息。这是我可以从 web3 获得的东西,或者我如何在我自己的 UI 中从合同中获取此错误消息?
这是一个简单的合同:
address public owner;
modifier onlyOwner() {
require(msg.sender == owner, "Owner account is required");
_;
}
constructor() public {
owner = msg.sender;
}
function doStuff()
external
view
onlyOwner
returns (bool) {
return true;
}
当我不是从混音中调用合同时owner
,在控制台中我收到以下消息:
call to Contract.doStuff errored: VM error: revert.
revert The transaction has been reverted to the initial state.
Reason provided by the contract: "Owner account is required". Debug the transaction to get more information.
它给出的错误是我可以从 web3 交易中得到的东西吗?我没看到
解决方案
推荐阅读
- javascript - 如何在用户退出我的应用程序后更新用户,然后重新登录
- google-apps-script - Hmac256 Signature invalid error Google App Script
- php - 在生产中更新 .json 文件
- azure - AKS LoadBalancer 仅将流量发送到一个 pod
- python - Telnet 从跳转启动服务器(linux)切换
- parse-platform - 无法在 javascript 中初始化 Parse
- mysql - 遍历一个表中的记录并通过计算将它们添加到另一个表中
- sql-server - 带有 raiserror 语句错误的 MSSQL 案例?
- ios - 在 iOS 中为 Pjsip 打开 SSL 和 TLS 问题
- serilog - Serilog 的 StoredProcedure 自定义接收器