Ich versuche, eine Funktion in meinem Smart-Vertrag zu erstellen, die eine Zahlung vom Benutzer aufruft. Wenn beispielsweise auf eine Schaltfläche geklickt wird, fordert die Metamaske auf, die Zahlung von 0,10 ETH an meinen Vertrag zu bestätigen. Ich verstehe zahlbare Funktionen und habe dies getestet Remix und kann meinen Vertrag bezahlen, aber ich möchte wissen, wie ich eine Zahlung mit einer vordefinierten Menge an Ether „aufrufe“ und sie vom Benutzer anfordere. Danke
Verträge können keine Transaktionen von Externally Owned Accounts (EOA) aufrufen – da das Initiieren von Transaktionen erfordert, dass ein (EOA) mit seinem privaten Schlüssel signiert. Sie sind sich bei Ihrer speziellen Anwendung nicht sicher, aber könnte sie mit einem Treuhandvertrag gelöst werden? So könnte der Nutzer Gelder an ein Treuhandkonto senden, um es bis zum Hauptvertrag zu halten und dann möglicherweise zu senden. Wenn Sie nur Transaktionen akzeptieren möchten, die einen bestimmten Wert haben, würden Sie Folgendes verwenden:
function userSendsEth() {
require(msg.value > someamount)
//Any additional functionality
}
JAG
Karen S
someamount
.JAG
Karen S