You cannot buy the revolution. You cannot make the revolution. You can only be the revolution. It is in your spirit, or it is nowhere.
Ursula K. Le Guin, The Dispossessed
As noted before, PluGeth our Geth fork to end all Geth forks, was built to be versatile, in that it facilitates modification of Geth while being as stable as possible. Along with getting PluGeth situated into our production environment we have been creating custom plugins to meet identified needs of the community as well as demonstrate the possibilities of the project.
OpenEthereum (previously Parity) is now a defunct project. It is no longer supported and will not survive the next hard fork. Nevertheless there are many projects which still rely on Parity tracing to support their applications. We have developed a plugin which provides Parity tracing to run against PluGeth nodes.
We have implemented four of the five methods of the OpenEthereum ad-hoc tracing API:
trace_call trace_rawTransaction trace_replayTransaction trace_replayBlockTransactions
Each method can be executed with one to three of the following diagnostics:
trace vmTrace stateDiff
Using the plugin requires access to a current PluGeth node. The plugin can be built like any other PluGeth plugin. Once built just point towards a PluGeth node and they will take the same arguments as the OpenEthereum documentation specifies.
Throughout our development process we came to the conclusion that OpenEthereum’s tracers do not properly implement EIP-2929, OpenEthereum still seems to be able to process blocks post-EIP-2929. As a result the
used(gas used) reported on contract calls in
vmTrace is not accurate. Also,
stateDiff on Clique networks incorrectly reports the miner address as the zero address and the balance change as a change to the balance of the zero address. All of our development was done on the Goerli test net and we believe that this issue will only effect Clique networks. We have chosen to not recreate either of these behaviors. If any users have a need that these behaviors remain intact we invite them to fork the project and develop their own versions.
We encourage all users and developers to get in touch to help us continue to refine the accuracy of the plugin and to inform us as to how the plugin is being used. Along those lines we would also like to extend an invitation to the community of users who may want other OpenEthereum exclusive features to get in touch with us about their use case and the potential for future extension of those feature. As with any PluGeth related communication we can be found on Discord.