У меня возникла проблема с отправкой значения в мой смарт-контракт. Я создал очень простой смарт-контракт и развернул его с помощью MetaMask и Remix в Ropsten Testnet. Контракт успешно создан.
Теперь я пытаюсь отправить какое-то значение на адрес моего контракта, и он постоянно терпит неудачу. Я пробовал это и в разных тестовых сетях, например, в Rinkeby, но с той же ошибкой.
"Передача значения не завершена, скорее всего, из-за кода операции REVERT"
Код контракта
pragma solidity ^0.4.18;
contract HelloWorld {
event log_string(bytes32 log); // Event
function () public { // Fallback Function
log_string("Hello World!");
}
}
Транзакция для создания контракта
Транзакция для отправки значения
К транзакции, к которой вы привязались, привязан эфир (0,5 эфира), но функция, которую вы вызываете (резервная функция), не помечена payable
. Если вы хотите, чтобы вам разрешили отправлять эфир в эту функцию, используйте:
function () public payable { ... }
См . https://programtheblockchain.com/posts/2017/12/15/writing-a-contract-that-handles-ether/ .