Я впервые работаю над 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.
Можно ли сохранить только то сообщение, которое я отправил из контракта?