JSON RPC sendTransaction-Datenparameter

Ich versuche, einen sendTransaction-JSON-RPC-Aufruf zu tätigen, und ich weiß nicht, wie ich den Datenparameter berechnen soll.

Aus der Dokumentation:

data: DATA - The compiled code of a contract OR the hash of the invoked method signature and encoded parameters. For details see Ethereum Contract ABI

Es gibt keine Spezifikation, wie dies gemacht werden sollte: der Hash der aufgerufenen Methodensignatur und der codierten Parameter

Antworten (1)

Ja, es gibt eine Application Binary Interface Specification

Die Application Binary Interface ist die Standardmethode zur Interaktion mit Verträgen im Ethereum-Ökosystem, sowohl von außerhalb der Blockchain als auch für die Interaktion zwischen Verträgen. Daten werden gemäß ihrem Typ codiert, wie in dieser Spezifikation beschrieben. Die Codierung ist nicht selbstbeschreibend und erfordert daher ein Schema, um sie zu decodieren.

Dazu gibt es hier mehrere Fragen:

Ja, aber ich versuche nicht, mit einem Vertrag zu kommunizieren, sondern nur mit einer einfachen Eth-Überweisung.
Das ist wirklich einfach, Daten sollten leer sein.
Es ist also kein optionaler Parameter, aber er muss leer sein?
Entschuldigung, ich habe mich nicht richtig ausgedrückt, ich meinte, es kann leer sein. Normalerweise reichen leere Daten aus, aber Sie können dort beliebige Zeichenfolgen einbetten. Einige Anwendungen verwenden Daten, um beispielsweise eine Transaktions-ID einzubetten.
Tut mir leid, komme zu spät. Könnten Sie eine andere Methode aus einem Smart Contract (unter Verwendung des Datenfelds) aufrufen und so die Übertragung täuschen, von der der Benutzer dachte, dass sie unterzeichnet wurde? Ich habe Angst, nachdem ich eine solche Nachricht unterschrieben habe. Oder ist es bei dieser Art von Transaktion nur informativ? Danke
@Nre Es ist besser, wenn Sie dafür eine neue Frage erstellen. Sie können auf dieses verlinken, wenn es hilft, den Kontext festzulegen.