eth_getStorageAt
Arbitrum API - 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

​Alchemy Composer​

The Alchemy Composer allows you to make a no-code example request via your browser. Try it out above!

Result

1
{
2
"jsonrpc":"2.0",
3
"id":1,
4
"result":"0x00000000000000000000000000000000000000000000000000000000000004d2"
5
}
Copied!
Retrieving an element of the map is harder. The position of an element in the map is calculated with:
1
keccack(LeftPad32(key, 0), LeftPad32(map position, 0))
Copied!
This means to retrieve the storage on pos1[β€œ0x391694e7e0b0cce554cb130d723a9d27458f9298”] we need to calculate the position with:
1
keccak(decodeHex("000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"))
Copied!
The geth console which comes with the web3 library can be used to make the calculation:
1
> var key = "000000000000000000000000391694e7e0b0cce554cb130d723a9d27458f9298" + "0000000000000000000000000000000000000000000000000000000000000001"
2
undefined
3
> web3.sha3(key, {"encoding": "hex"})
4
"0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9"
Copied!
Now to fetch the storage:

​Request​

Curl
Postman
1
curl https://arb-mainnet.g.alchemy.com/v2/your-api-key \
2
-X POST \
3
-H "Content-Type: application/json" \
4
-d '{"jsonrpc":"2.0", "method": "eth_getStorageAt", "params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"], "id": 1}'
Copied!
1
URL: https://arb-mainnet.g.alchemy.com/v2/your-api-key
2
RequestType: POST
3
Body:
4
{
5
"jsonrpc":"2.0",
6
"method":"eth_getStorageAt",
7
"params":["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "latest"],
8
"id":1
9
}
Copied!

Result

1
{
2
"jsonrpc":"2.0",
3
"id":1,
4
"result":"0x000000000000000000000000000000000000000000000000000000000000162e"
5
}
Copied!
​
Last modified 7d ago