Senden des Werts an Smart Contract auf Testnet Rinkeby, Ropsten über MetaMask fehlgeschlagen

Ich habe ein Problem mit dem Senden von Werten an meinen Smart Contract. Ich habe einen sehr einfachen Smart Contract erstellt und ihn mit MetaMask & Remix auf Ropsten Testnet bereitgestellt. Vertrag erfolgreich erstellt.

Jetzt versuche ich, einen Wert an meine Vertragsadresse zu senden, und es schlägt ständig fehl. Ich habe dies auch auf verschiedenen Testnets versucht, zB Rinkeby, aber derselbe Fehler.

"Die Wertübertragung wurde nicht abgeschlossen, höchstwahrscheinlich aufgrund des REVERT-Opcodes "

Vertragscode

pragma solidity ^0.4.18;

contract HelloWorld {  
    event log_string(bytes32 log); // Event

    function () public { // Fallback Function
        log_string("Hello World!");
    }
}

Transaktion zur Vertragserstellung
Transaktion zum Senden des Wertes

Antworten (1)

An die Transaktion, mit der Sie verknüpft sind, ist Ether angehängt (0,5 Ether), aber die Funktion, die Sie aufrufen (die Fallback-Funktion), ist nicht mit gekennzeichnet payable. Wenn Sie Ether an diese Funktion senden dürfen möchten, verwenden Sie:

function () public payable { ... }

Siehe https://programtheblockchain.com/posts/2017/12/15/writing-a-contract-that-handles-ether/ .