Skip to content

FAQ and troubleshooting

vukasin gostovic edited this page Jul 13, 2023 · 2 revisions

Why is sothis so slow?

Sothis uses a lot of JSON-RPC calls. This may cause your RPC provider to throttle you. It's recommended to use your own local node.
If using anvil make sure you add the --cups {REALL_HIGH_VALUE} arg so anvil doesn't throttle itself.

If you aren't getting throttled, open an issue.

Why is my node stuck on evm_mine?

This means that anvil/hardhat is querying your source_rpc for the state needed to replay the transactions. Sothis only sends transaction data to the node. The node then queries the necessary state to replay the block.

My node is stuck at sending transactions/is really slow at sending transactions

You are getting throttled, check your source_rpc. If you aren't open an issue.

Im getting a Connection refused (os error 111)!

This means that sothis can't connect/lost connection to a node(either the source_rpc, replay_rpc, or both). This can happen for a variety of reasons, but the most common ones are firewall, nodes not having open ports, or not running.

I am getting a lot of warnings about entropy. What does this mean?

As you deploy your contracts and interact with your forked network, you inadvertantly create a butterfly effect. Where things like swapping on uniswap can lead to a cascade of transactions failing down the line due to less liquidity/more slippage.

By default, sothis will notify you when 7% of transactions in a block fail to replay for any reason. You can adjust this percentage with the --entropy_threshold, where 35% would be set as --entropy_threshold 0.35.

If entropy goes beyond your tolerance level(the 7% default is mostly arbitrary), it's recommended to restart your fork.

the following is not a thing yet
Sothis can also attempt to automatically recover from entropy if enabled. It will not which contract interactions fail to execute when they shouldn't, and reset the storage for that contract to the current head block.