Another one:

Author: Pe44eCreated Nov 26, 2025Updated Nov 26, 2025

Another one: It would be good to make the prestateTracer compatible with t8n. Example

json
{
  "env": {
    "currentCoinbase": "0xc94f5374fce5edbc8e2a8697c15331677e6ebf0b",
    "currentDifficulty": "0x20000",
    "currentGasLimit": "0x750a163df65e8a",
    "currentNumber": "1",
    "currentTimestamp": "1000"
  },
  "alloc": {
    "a94f5374fce5edbc8e2a8697c15331677e6ebf0b": {
      "balance": "0x5ffd4878be161d74",
      "code": "0x",
      "nonce": "0xac",
      "storage": {}
    },
    "0x8a8eafb1cf62bfbeb1741769dae1a9dd47996192": {
      "balance": "0xfeedbead",
      "nonce": "0x00"
    }
  }
}

This is compatible with evm t8n:

[user@work evm]$ cat foobar.json | ./evm t8n --input.alloc=stdin --input.txs=./testdata/1/txs.json --input.env=stdin --output.alloc=stdout --trace
INFO [04-20|14:43:00.126] rejected tx                              index=1 hash=0557ba..18d673 from=0x8A8eAFb1cf62BfBeb1741769DAE1a9dd47996192 error="nonce too low: address 0x8A8eAFb1cf62BfBeb1741769DAE1a9dd47996192, tx: 0 state: 1"
INFO [04-20|14:43:00.126] Trie dumping started                     root=84208a..ae4e13
INFO [04-20|14:43:00.127] Trie dumping complete                    accounts=3 elapsed="68.344µs"
INFO [04-20|14:43:00.127] Wrote file                               file=result.json

If we can make an online node spit out the such an env+alloc file, then we can more easily try out patches and in general analyze what's happening on a given transaction, in case the evm is misbehaving.

This is basically the original reason for why I made prestateTracer in the first place, but I suspect it's a bit bitrotted by now.

Originally posted by @holiman in https://github.com/ethereum/go-ethereum/issues/24720#issuecomment-1103891192

Source: ikatyang/emoji-cheat-sheet