Der Versuch, eine Transaktion mit Remix auf lokaler Javascript-VM zu übermitteln, ist erfolgreich.
Wenn ich es in meinem echten privaten Netzwerk einreiche, schlägt es fehl mit " invalid opcode 0x3d"
.. Ich kann 0x3d online nicht finden ... haben Sie eine Ahnung, was dieser Fehler bedeutet? Bezieht es sich auf Gas?
Das ist die Anweisung RETURNDATASIZE
, die in EIP-211 angegeben ist . Ihr privates Netzwerk ist wahrscheinlich veraltet, wenn es dies nicht unterstützt. Es wurde im Mainnet während der Byzantium Hard Fork bei Block 4.370.000 im Oktober 2017 eingeführt.
Danke @mafrasi2.
Ich konnte das lösen, indem ich Folgendes tat:
"byzantiumBlock": 0
chaindata
befindet sich wahrscheinlich auf .ethereum.geth init genesis.json
eth.getTransactionReceipt(<tx hash>)
. wenn Sie "status" als Spalte sehen, dann verwenden Sie byzantium.
Kevco26
mafrasi2
Kevco26
RETURNDATASIZE
in seiner Kernimplementierung enthalten ist, und ich verwende ein privates Azure-Ethereum-Netzwerkmafrasi2
solc
mit an--evm-version spuriousDragon
und diese neuen Anweisungen sind weg.