# Ropsten Besu Consensus Fork Investigation
First step was to identify the bad blocks using `debug_getBadBlocks`.
```console
curl --location --request POST 'http://127.0.0.1:8545' --header 'Content-Type: text/plain' --data-raw '{"jsonrpc":"2.0","method":"debug_getBadBlocks","params":[],"id":1}'
```
Then we retrieved log files of operations performed on the bad blocks using `debug_standardTraceBadBlockToFile` RPC API.
```console
curl --location --request POST ‘http://127.0.0.1:8545’ --header ‘Content-Type: application/json’ --data-raw '{"jsonrpc":"2.0","method":"debug_standardTraceBadBlockToFile","params":["0x0d9db1248c91a8a2f9b37442d50e7c38b2344853f35b1862e1cf6275ce792467", {"disableMemory":false}],"id":1}’
```
We found the splitter transaction.
It is the transaction number 23.
![](https://i.imgur.com/lrGZxTH.png)
The problem is located here: https://github.com/hyperledger/besu/blob/ebefafe09ff408545954305a8de30868a38b2ba9/ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/BerlinGasCalculator.java#L195-L209
Besu charges `100` for the `SSTORE` while other clients charge `2900`.
Finally this was not the issue. However it showed a bug in the `debug_standardTraceBadBlockToFile` API because the gas reported was not the one actually charged.
### Resources
[Open Ethereum traceReplayTransactions](https://gist.github.com/rakita/faa1d3072e40e0426dfdb730c6df8419)
[Canonical block on Ropsten](https://ropsten.etherscan.io/block/9821958)
[Monitoring link](https://testnet.forkmon.ethdevops.io/)
[Traces](https://drive.google.com/drive/folders/1XrG78F48dELe0RhJLqrJ_Rfkmshm_1oE?usp=sharing)