Überweisen Sie einen Betrag zwischen zwei Ethereum-Konten mit json-rpc

Ich versuche, etwas Geld zwischen 2 eigenen Ethereum-Konten zu überweisen. Ich habe einen Knoten und kommuniziere mit ihm über das Json-RPC-Protokoll. Ich denke, ich muss die eth_sendTransactionMethode verwenden, aber ich finde es ziemlich verwirrend, weil das Datenfeld mit einem Smart Contract gefüllt werden soll, aber ich möchte jetzt keinen Smart Contract verwenden, sondern nur eine einfache Transaktion mit einem bestimmten Betrag dazwischen meine Ethereum-Konten.

Muss ich eth_sendTransactionMethode aufrufen? Wie fülle ich das Datenfeld aus? Wofür wird das Nonce-Feld verwendet?

Antworten (2)

eth_sendTransactionkann zum Senden von Ether, zum Erstellen von Verträgen und zum Aufrufen der Vertragsfunktion verwendet werden. Es hängt alles von den Parametern ab.

  1. Um nur Ether zu senden, möchten Sie die Felder value, tound ausfüllen.from

  2. Um Verträge zu erstellen, würden Sie das Feld toleer lassen, aber ausfüllen data.

  3. Um eine Vertragsfunktion aufzurufen, würden Sie sowohl als auch ausfüllen tound dataoptional, valuewenn Sie auch Ether in den Vertrag übertragen möchten.

Beziehen aufeth_sendTransaction

Erstellt eine neue Nachrichtenaufruftransaktion oder eine Vertragserstellung, wenn das Datenfeld Code enthält.

  1. Object- Das Transaktionsobjekt
    • from: DATA, 20 Bytes - Die Adresse, von der die Transaktion gesendet wird.
    • to: DATA, 20 Bytes - (optional beim Erstellen eines neuen Vertrags) Die Adresse, an die die Transaktion gerichtet ist.
    • gas: QUANTITY- (optional, default: 90000) Ganzzahl des für die Transaktionsausführung bereitgestellten Gases. Es wird ungenutztes Gas zurückgeführt.
    • gasPrice: QUANTITY- (optional, Standard: To-Be-Determined) Ganzzahl des gasPrice, der für jedes bezahlte Gas verwendet wird
    • value: QUANTITY- (optional) Ganzzahl des mit dieser Transaktion gesendeten Werts
    • data: DATA- Der kompilierte Code eines Vertrags ODER der Hash der aufgerufenen Methodensignatur und der codierten Parameter. Einzelheiten siehe Ethereum-Vertrag ABI
    • nonce: QUANTITY- (optional) Ganzzahl einer Nonce. Dies ermöglicht das Überschreiben Ihrer eigenen ausstehenden Transaktionen, die dieselbe Nonce verwenden.

Beispiel

params: [{
  "from": "0xb60e8dd61c5d32be8058bb8eb970870f07233155",
  "to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
  "gas": "0x76c0", // 30400,
  "gasPrice": "0x9184e72a000", // 10000000000000
  "value": "0x9184e72a", // 2441406250
  "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"
}]