eth_getStorageAt
Returns the value from a storage position at a given address.
Parameters:
DATA, 20 Bytes - address of the storage.QUANTITY- integer of the position in the storage.QUANTITY|TAG- integer block number, or the string"latest","earliest"or"pending", see the default block parameter
Returns:
DATA - the value at this storage position.
Code Examples:
Calculating the correct position depends on the storage to retrieve.
Consider the following contract deployed at
0x295a70b2de5e3953354a6a8344e616ed314d7251 by address
0x391694e7e0b0cce554cb130d723a9d27458f9298.
contract Storage {
uint pos0;
mapping(address => uint) pos1;
function Storage() {
pos0 = 1234;
pos1[msg.sender] = 5678;
}
}Retrieving the value of pos0 is straight forward:
Retrieving an element of the map is harder. The position of an element in the map is calculated with:
This means to retrieve the storage on pos1["0x391694e7e0b0cce554cb130d723a9d27458f9298"] we need to calculate the position with:
The geth console which comes with the web3 library can be used to make the calculation:
Now to fetch the storage:
Last updated