Web3.py: debug_traceTransaction is not implemented

Created on 15 Sep 2017  路  4Comments  路  Source: ethereum/web3.py

The RPC method debug_traceTransaction (listed there for instance: https://github.com/ethereumjs/testrpc) is not implemented, and thus not callable directly using web3.py.
This method is not standard (according to https://github.com/ethereum/go-ethereum/wiki/Management-APIs#debug), and is not available in web3.js either.

Would it be desirable to have in web3.py, or is it out of scope of the project?

I would like to know before I spend time on a possible pull request for this feature.
Thanks!

Edit: I guess this applies to the whole debug API.

Most helpful comment

For non-standard, client-specific APIs, I am of the opinion that we shouldn't build convenience functions to access them. We'll see if Piper disagrees, early next week.

You can bypass the convenience methods with something like: web3.manager.request_blocking('debug_traceTransaction', ["TX_ID_AS_HEX_STRING"])

If there is anything else in the list of Issues that would scratch an itch you have, or you have other ideas, I'm happy to talk them through!

All 4 comments

For non-standard, client-specific APIs, I am of the opinion that we shouldn't build convenience functions to access them. We'll see if Piper disagrees, early next week.

You can bypass the convenience methods with something like: web3.manager.request_blocking('debug_traceTransaction', ["TX_ID_AS_HEX_STRING"])

If there is anything else in the list of Issues that would scratch an itch you have, or you have other ideas, I'm happy to talk them through!

Wondering if there is a middleground? It's not documented, but web3 currently supports custom modules.

See: https://github.com/pipermerriam/web3.py/blob/master/web3/main.py#L110-L111

Maybe we can write the module but not include it in the Web3 object by default and just provide docs on how a user can include it?

:+1: Adding a geth module with support for their custom calls makes a lot of sense, just not adding it to the default module list.

Would be nice to have, as it is available thorugh rpc/ipc with geth.

Was this page helpful?
0 / 5 - 0 ratings