Как получить сообщение об ошибке от модификатора контракта в пользовательском интерфейсе? - PullRequest
0 голосов
/ 12 сентября 2018

При тестировании контракта на Remix я замечаю, что если метод не проходит модификатор, вы на самом деле видите сообщение об ошибке, отображаемое в окне под кодом контракта. Это что-то, что я могу получить от web3, или как я могу получить в своем собственном интерфейсе сообщения об ошибках из контракта, когда они предоставляются?

Вот простой контракт:

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? Я не вижу этого

...