Ich versuche, die Datenfelder gemäß dem Vertrag ABI mit Pyethereum in Python zu codieren. Ich führe eine Rohtransaktion durch. Ich kann Ether erfolgreich von einer Adresse zur anderen senden, indem ich eine Transaktion signiere und sie dann roh sende. Jetzt versuche ich, eine Handelsfunktion für einen Vertrag auszuführen, daher die Notwendigkeit der Datenfeldcodierung.
Ich habe das Gefühl, dass in Pyethereum eine Codierungsfunktion integriert sein sollte, aber ich kann sie nicht finden. Soll ich diese stattdessen manuell codieren? Wie soll ich vorgehen?
Function: trade(address tokenGet, uint256 amountGet, address tokenGive, uint256 amountGive, uint256 expires, uint256 nonce, address user, uint8 v, bytes32 r, bytes32 s, uint256 amount)
MethodID: 0x0a19b14a
[0]:0000000000000000000000000000000000000000000000000000000000000000
[1]:0000000000000000000000000000000000000000000000002e8678fcd97f4000
[2]:000000000000000000000000e41d2489571d322189246dafa5ebde1f4699f498
[3]:0000000000000000000000000000000000000000000000a2a15d09519be00000
[4]:0000000000000000000000000000000000000000000000000000000000401042
[5]:000000000000000000000000000000000000000000000000000000008d64da5d
[6]:00000000000000000000000049b85d124dde84d651e0efb02f738c5e9c484a89
[7]:000000000000000000000000000000000000000000000000000000000000001b
[8]:f92d42545bd87995b4af1d3edf225dab7515a31350b755ef4761d6de160722de
[9]:3352d494554c036bd798fd287e4c2ac68371adf653a2dd6252ec7625555c1a52
[10]:00000000000000000000000000000000000000000000000000000a29e1e7c600
Ich habe vor ein paar Tagen tatsächlich einen Blogbeitrag darüber geschrieben :)
Die Ethereum-Wiki-Dokumentation zu diesem Thema ist hier .
Keine Ihrer Eingaben hat eine unbekannte Länge, daher müssen die Eingabeargumente einfach codiert und entsprechend aufgefüllt werden.
Lampenschirm
Ismael