Unterstützt die EVM dies? Lässt die Solidität das zu? Wie kann ich es tun?
Theoretisch ist es möglich, bei einer Transaktion zu einem Ethereum-Vertrag eine Signatur zu berechnen und eine signierte Transaktion zu erstellen. Dies ist jedoch selten nützlich, da zum Signieren einer Transaktion ein privater Schlüssel erforderlich ist und private Schlüssel normalerweise nicht nützlich sind, es sei denn, sie sind privat.
Wenn das Ziel darin besteht, eine Aktion für einen anderen Vertrag auszulösen, kann Ihr Code diesen Vertrag einfach aufrufen. Es ist nicht erforderlich, eine Transaktion zu unterzeichnen.
Wenn das Ziel darin besteht, eine Transaktion zu einem späteren Zeitpunkt an die Blockchain zu senden, kann dies erreicht werden, indem jemand anderes dazu angeregt wird, die Transaktion zu senden. Sehen Sie sich den Ethereum-Wecker für ein Beispiel an.
Nicht ganz das, was Sie tun möchten, aber Multisig-Wallets ermöglichen das Senden beliebiger Transaktionen. Sie erstellen eine Rohtransaktion ohne Signierung und senden sie mit an das Multisig-Wallet submitTransaction(destination, txValue, txData)
.
Wenn die erforderliche Menge an Bestätigungen erreicht ist confirmTransaction
, wird die Rohtransaktion mit so etwas ausgeführt
destination.call.value(txValue)(txData);
txData kann alles sein. For example if destination is a token contract, then txData can be a token transfer "0xa9059cbb00000000000000000000000012345678901234567890123456789012345678900000000000000000000000000000000000000000000000000de0b6b3a7640000".
0xcaff
Edmund Edgar
MadeInDreams