Wann wird ein SUICIDE-Opcode wirksam?

Die Dokumentation ( https://github.com/ethereum/wiki/wiki/Subtleties ) besagt, dass SUICIDE am Ende der Transaktion wirksam wird, aber in Block 116525 konnte derselbe Vertrag dreimal in drei verschiedenen Transaktionen SUICIDE sein:

0x7476afface26678a6c236618a7079db7ce567a213dc75652378f3580e1a10f28
0x51826f28e829cb9425dbd1c77a2c77484d04d8b02ccab05934e5885d313fbe91
0xa6c23583bba9139ca7e168328a2d15978d90dfdd61a6be697abbec1846b59e01

Ist es ein Fehler, der inzwischen behoben wurde, oder ist ein SUICIDE erst wirksam, nachdem ein Block abgeschlossen ist?

Warum sagen Sie, Selbstmord wurde 3 Mal aufgerufen? Ich sehe, dass es nur im ersten Fall passiert, den Sie erwähnen, aber kann natürlich falsch sein
ethercamp explorer und debug_traceTransaction melden es für alle 3 Transaktionen (könnte jedoch ein Fehler in beiden sein)
Ich sehe es nur einmal auf Ethercamp .
Welche Geth-Version verwendest du? Ich bekomme den Fehler auf 1.5.0, sehen Sie ihn auf 1.4.3?
Ich bin auf 1.5.0 von ppa:ethereum/ethereum-dev, ich kann es in ethercamp nicht mehr sehen, muss irgendwann verwirrt gewesen sein :/

Antworten (1)

Eine SUICIDE-Operation wird am Ende der Transaktion wirksam. Ich kann das Problem replizieren, also handelt es sich wahrscheinlich um einen Fehler in der Geth- traceTransactionImplementierung, bei der die anderen vorherigen Transaktionen im Block nicht berücksichtigt werden.

Edit: Dieser Fehler wurde behoben

Ich habe ein Problem eingereicht . Fühlen Sie sich frei, sich mit Ihrer Geth-Version usw.
Kommentar in Ausgabe #2542 hinzugefügt , und ja, das ist mit 1.5.0