eth_createAccessList
The eth_createAccessList method creates an access list for a transaction (EIP-2930). An access list declares which addresses and storage slots a transaction will access, potentially reducing gas costs for those accesses.
This method simulates the transaction execution and generates an optimal access list containing all storage slots and addresses that would be accessed. Using access lists can reduce gas costs compared to cold storage/address accesses, though the savings must outweigh the cost of including the access list itself. Developers use this to optimize gas usage for complex transactions, prepare transactions for submission with access lists, and analyze which storage slots a transaction touches. This is particularly useful for transactions that interact with multiple contracts or access numerous storage slots.
Parameters
parameter | type | description |
|---|---|---|
transaction | object (required) | Transaction call object |
blockParameter | string (optional) | Block number in hex format (e.g., '0x10d4f') or one of the string tags: 'latest', 'earliest', or 'pending'. Defaults to 'latest' |
Transaction Object Properties:
property | type | description |
|---|---|---|
from | string (optional) | The address the transaction is sent from (20 bytes) |
to | string (required) | The address the transaction is directed to (20 bytes) |
gas | string (optional) | Gas provided for the transaction execution (hex) |
gasPrice | string (optional) | Gas price in wei (hex) |
value | string (optional) | Value transferred in wei (hex) |
data | string (optional) | Hash of the method signature and encoded parameters |
Return Object
field | type | description |
|---|---|---|
accessList | array | Array of access list entries, where each entry contains an address and an array of storage keys that will be accessed |
gasUsed | string | The amount of gas that would be consumed by the transaction with the generated access list (hex) |
Request Example
Response Example