eth_getStorageAt - Optimism
Returns the value from a storage position at a given address, or in other words, returns the state of the contract's storage, which may not be exposed via the contract's methods.

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.

Example

Calculating the correct position depends on the storage to retrieve. Consider the following contract deployed at 0x295a70b2de5e3953354a6a8344e616ed314d7251 by address 0x391694e7e0b0cce554cb130d723a9d27458f9298.
1
contract Storage {
2
uint pos0;
3
mapping(address => uint) pos1;
4
5
function Storage() {
6
pos0 = 1234;
7
pos1[msg.sender] = 5678;
8
}
9
}
Copied!
Retrieving the value of pos0 is straight forward:
Request
Curl
Postman
1
curl https://eth-mainnet.alchemyapi.io/v2/your-api-key \
2
-X POST \
3
-H "Content-Type: application/json" \
4
-d '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"], "id": 1}'
Copied!
1
URL: https://eth-mainnet.alchemyapi.io/v2/your-api-key
2
RequestType: POST
3
Body:
4
{
5
"jsonrpc":"2.0",
6
"method":"eth_getStorageAt",
7
"params":["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x0", "latest"],
8
"id":1
9
}
Copied!
Result
1
{
2
"jsonrpc": "2.0",
3
"id": 1,
4
"result": "0x0000000000000000000000000000000000000000000000000000000000000000"
5
}
Copied!
Optimism API
Alchemy Documentation
Copy link
Contents