-
-
Notifications
You must be signed in to change notification settings - Fork 30
Description
From @pcaversaccio in #4 (comment):
I love the playground feature from https://www.evm.codes/playground: it would be a nice feature to be able to simulate the differences at opcode or Solidity level, for example. Let me make a simple example: you have a contract compiled with solc version
0.8.20and default EVM versionshanghai. You copy-paste the contract into the playground, select "Optimism<>Ethereum diff" and pressrun. It will deploy on Ethereum but not on Optimism yet due toPUSH0. Diffs are very powerful on a documentation level, but many times you also want to understand the engineering implications. Thus, we should also think about how to integrate this best into the UI.
This would be nice to have, I think the main thing to figure out is how to actually implement it. The EVM Codes playground is powered by ethereumjs and solc-js, and there's no guarantee these exist for each chain. Since EVM compatible chains should support solc out of the box, ethereumjs is the main one to figure out. Probably can just query a node instead of simulating locally with etheruemjs