Is it possible to view the amount of storage a smart contract uses from an existing tool? Or if not is it possible to determine it by making json rpc calls?
There are a few similar questions such as the following, however none of the answers are satisfactory:
- web3.eth.getStorageAt for mapping
- what is the biggest contract by byte code size and by storage size on the evm?
- Using getStorageAt() on mapping(address => uint64[])
- What does web3.eth.getStorageAt() return?
They all suggest using the eth_getStorageAt
json rpc method. However that doesn't seem to work too well with dynamic variables such as mappings.
I'd appreciate it if anyone could provide a function that works on a common Ethereum mainnet smart contract that has dynamic data types such as mappings and lists.
Edit: The recently released Slots dataset by Paradigm seems to indicate that it is in fact possible to determine the exact storage a contract uses.