Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better EVM tracer #802

Open
yourheropaul opened this issue Oct 1, 2018 · 0 comments
Open

Better EVM tracer #802

yourheropaul opened this issue Oct 1, 2018 · 0 comments
Assignees

Comments

@yourheropaul
Copy link
Member

We're getting a lot of evm: transaction reverted error when running multiple validators on the testnets. It's a real problem because we have no idea what's failing, or where the errors are coming from.

There is a EVM tracer setup (see the Ethereum Tracing wiki and the code) which runs when the client is started with --vmdebug. It's possible to extract the opcodes for contract execution transactions... in a really hard to use way.

There is an interface for creating a custom tracer, and at least one example implementation. Implementations need to be registered at runtime, usually through a flag.

Since we know the addresses of the major contracts (kcoin addresses) and we have all the core contracts named in the KNS, we should be able to do something more useful that the default: we should be able to tracelog, by name, all contract call opcodes, right down to the point where they fail.

For bonus points, it seems like we could also produce a stacktrace to the original contract code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants