Hinterlegen Sie Ether in einem Vertrag
Ich habe meinem bereitgestellten Vertrag die folgenden drei Funktionen hinzugefügt, wie im Artikel beschrieben https://programtheblockchain.com/posts/2017/12/15/writing-a-contract-that-handles-ether/
Ich habe Remix auf Rinkeby bereitgestellt. Wenn ich in Remix 1 Ether in die Einzahlungstransaktion eingebe, wird der Fehler "Gasschätzung fehlgeschlagen" angezeigt.
Warum erzeugt die Einzahlungsfunktion einen Fehler?
Vielen Dank
Funktion entfalten () public {msg.sender.transfer (Adresse (this) .balance); }}
function deposit(uint256 amount) payable public {
require(msg.value == amount);
// nothing else to do!
}
function getBalance() public view returns (uint256) {
return address(this).balance;
}
Aktualisieren
Ich habe versucht, eine Fallback-Funktion zu verwenden, aber Remix mag sie nicht.
Pragma-Solidität> = 0,4,0 <0,7,0;
Vielen Dank
Antworten
- Ich habe die folgende Fallback-Funktion verwendet und es hat funktioniert.
receive() external payable {}
- Dieser Beitrag war genau das, wonach ich in meiner ursprünglichen Frage gesucht habe. Jetzt funktioniert alles gut.
Wie senden Sie Ether als Funktion mit Remix an einen Vertrag?