#ethereum #solidity
Вопрос:
В следующем коде DApp, где кто-то может продать токен для eth (используя тестовую сеть BSC прямо сейчас, потому что это быстрее). Когда я иду, чтобы вызвать функцию из приложения dapp, я утверждаю утверждение с помощью metamask, на втором экране я получаю одобрение на передачу, с этим: «Ошибка транзакции. Исключение, указанное в контрактном коде» , наряду с сумасшедшей платой за газ в размере 0,285 млрд.
Тем не менее, функция работает нормально и проходит.
РАСПРОДАЖА:
function sellToken(uint256 _amount) external {
token.transferFrom(msg.sender, address(this), _amount);
Реагировать JS:
const sellToken = (amount) => {
setUpdateState(true)
token.methods.approve(spender._address, amount).send({from: account}).on('transactionHash', (hash) => {
spender.methods.sellToken(amount).send({from: account}).on('transactionHash', (hash) => {
})
})
}
Это просто утверждение из dapp -> перевод из части смарт-контракта spender, теперь понятно, почему я продолжаю получать эту ошибку с высоким расходом газа. Возможно, дело в том, как это называется из react?