Ошибки обработки метамаски - PullRequest
0 голосов
/ 02 июля 2019

Я впервые работаю над Ethereum, и у меня возникло несколько проблем.

У меня есть контракт, требующий некоторых, чтобы проверить некоторые данные от отправителя.Например:

function bid() public payable {
     require(msg.value >= basePrice, "Amount must be greater than the base price.");
}

Проверяя это из интерфейса JavaScript, я смотрю на ответ, который получаю в случае ошибки, и считаю, что слишком сложно разобрать сообщение

async function bid() {
    var accounts = await web3js.eth.getAccounts();
    auction.methods.bid()
        .send({ from: accounts[0], value: web3.toHex(web3.toWei($("#ethValue").val(), 'ether')) })
        .on("receipt", function(receipt) {
            console.log("Money sent!");
        })
        .on("error", function(error) {
            console.log(error);
        } 
}

Это то, что я получаю в журнале ошибок

Error: Returned error: Error: Error: [ethjs-rpc] rpc error with payload {"id":2431858122425,"jsonrpc":"2.0","params":["0xf872118504a817c8008280b89494620ca9f4aef9b39edb3c1092269e03c64f98598810a741a462780000841998aeef822d46a0113065dec1772bb4ef374f2d9c76593278849bb70f8dd3b94ce8b728ec702c36a0157f5915c39695f653b92fa0b30966098baecdbd195b29e76e205d92554a6dff"],"method":"eth_sendRawTransaction"} Error: VM Exception while processing transaction: revert Amount must be greater than the minimal price.

Можно ли сохранить только то сообщение, которое я отправил из контракта?

...