getStorageAt

REQUEST

Copy

POST https://mainet.rpc.ctexscan.com

HEADER

Copy

Content-Type: application/json

REQUEST PARAMS

  • ADDRESS [required] - a string representing the address (20 bytes) of the storage

  • STORAGE POSITION [required] - a hex code of the position in the storage

  • BLOCK PARAMETER [required] - an integer block number, or the string "latest", "earliest" or "pending", see the default block parameter

EXAMPLE

Copy

Explain## JSON-RPC over HTTPS POST
curl https://mainet.rpc.ctexscan.com
    -X POST \
    -H "Content-Type: application/json" \
    -d '{"jsonrpc":"2.0","method":"eth_getStorageAt","params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "0x65a8db"],"id":1}'

## JSON-RPC over WSS
wscat -c ws://mainet.rpc.ctexscan.com
>{"jsonrpc":"2.0","method":"eth_getStorageAt","params": ["0x295a70b2de5e3953354a6a8344e616ed314d7251", "0x6661e9d6d8b923d5bbaab1b96e1dd51ff6ea2a93520fdc9eb75d059238b8c5e9", "0x65a8db"],"id":1}

RESPONSE

RESULT FIELDS

  • STORAGE VALUE - a hex code of the integer indicating the value of the storage position at the provided address

BODY

Copy

Calculating the correct position depends on the storage to retrieve. Consider the following contract deployed at 0x295a70b2de5e3953354a6a8344e616ed314d7251 by address 0x391694e7e0b0cce554cb130d723a9d27458f9298,

Copy

Retrieving the value of pos0 is straight forward:

Copy

Copy

Retrieving an element of the map is harder. The position of an element in the map is calculated with:

Copy

This means to retrieve the storage on pos1["0x391694e7e0b0cce554cb130d723a9d27458f9298"] we need to calculate the position with:

Copy

The geth console which comes with the web3 library can be used to make the calculation:

Copy

Now to fetch the storage:

Copy

Copy

Last updated