traceReplayBlockTransactions does not work at block 0
Closed this issue · 1 comments
ankitchiplunkar commented
Describe the bug
traceReplayBlockTransactions does not work at block 0. This is due to an error in Parity openethereum/parity-ethereum#8762
To Reproduce
With an archive parity node run the command
ether_sql --settings=PersonalParitySettings scrape_block --block_number=0
See error
Traceback (most recent call last):
File "/home/ankit/ether_sql/venv/bin/ether_sql", line 11, in <module>
load_entry_point('ether-sql', 'console_scripts', 'ether_sql')()
File "/home/ankit/ether_sql/venv/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/home/ankit/ether_sql/venv/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/home/ankit/ether_sql/venv/lib/python3.6/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/ankit/ether_sql/venv/lib/python3.6/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/ankit/ether_sql/venv/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/home/ankit/ether_sql/venv/lib/python3.6/site-packages/click/decorators.py", line 17, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/ankit/ether_sql/ether_sql/cli/__init__.py", line 69, in scrape_block_range
end_block_number=end_block_number)
File "/home/ankit/ether_sql/ether_sql/scrapper.py", line 34, in scrape_blocks
ether_sql_session=ether_sql_session)
File "/home/ankit/ether_sql/ether_sql/scrapper.py", line 64, in add_block_number
mode=['trace'])
File "/home/ankit/ether_sql/venv/src/web3/web3/parity.py", line 40, in traceReplayBlockTransactions
[block_identifier, mode]
File "/home/ankit/ether_sql/venv/src/web3/web3/manager.py", line 110, in request_blocking
raise ValueError(response["error"])
ValueError: {'code': -32000, 'message': 'This request is not supported because your node is running with state pruning. Run with --pruning=archive.'}
Expected behavior
Either the parity needs to be able to run the above command at block 0 or ether_sql needs to skip trace and stateDiff calculation at block 0
Desktop (please complete the following information):
- OS: Ubuntu 18.4
- Version 0.1.0
ankitchiplunkar commented
Pull request to correct this issue has been merged into the parity node.
openethereum/parity-ethereum#8891
Should update the current code when this issue gets released with a stable release