eth_getBlockByHash - zkSync
Example code for the eth_getBlockByHash JSON-RPC method. Сomplete guide on how to use eth_getBlockByHash JSON-RPC in GetBlock.io Web3 documentation.
Returns information about an L2 block by its hash. Same response schema as eth_getBlockByNumber including the zkSync-specific l1BatchNumber field.
Parameters
blockHash
string
Yes
32-byte hash of the block
fullTransactions
boolean
Yes
If true, returns full transaction objects; if false, only hashes
Request Example
curl --location --request POST 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
"jsonrpc": "2.0",
"method": "eth_getBlockByHash",
"params": [
"0x4f3a1d6e8c2b9a7e5d3f1c8a4b6e9d2f5a8c3e7b1d4f9a6c2e5b8d3f7a1c4e9b",
false
],
"id": "getblock.io"
}'import axios from 'axios';
const data = JSON.stringify({
"jsonrpc": "2.0",
"method": "eth_getBlockByHash",
"params": [
"0x4f3a1d6e8c2b9a7e5d3f1c8a4b6e9d2f5a8c3e7b1d4f9a6c2e5b8d3f7a1c4e9b",
false
],
"id": "getblock.io"
});
const config = {
method: 'post',
url: 'https://shared.eu-central-1.getblock.io/<ACCESS-TOKEN>/',
headers: {
'Content-Type': 'application/json'
},
data: data
};
axios(config)
.then(response => console.log(JSON.stringify(response.data, null, 2)))
.catch(error => console.log(error));Response Example
Response Parameters
result
object | null
Block object (same schema as eth_getBlockByNumber), or null if not found
result.number
string
L2 block number (hex)
result.hash
string
L2 block hash
result.l1BatchNumber
string
L1 batch number containing this L2 block
Use Cases
Resolving a block from a known hash (e.g. from a receipt)
Indexers that walk by hash rather than height
Cross-referencing zkSync L2 blocks with their L1 batches
Error Handling
403
Forbidden
Missing or invalid <ACCESS-TOKEN>
-32602
Invalid params
Request parameters are missing or malformed
429
Too Many Requests
Rate limit exceeded for your plan
SDK Integration
Last updated
Was this helpful?