eth_getStorageAt

Returns the value from a storage position at a given address.

Parameters:

  1. DATA, 20 Bytes - address of the storage.

  2. QUANTITY - integer of the position in the storage.

  3. 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