eth_getBlockByNumber - Optimism
Example code for the eth_getBlockByNumber json-rpc method. Сomplete guide on how to use eth_getBlockByNumber json-rpc in GetBlock.io Web3 documentation.
This method retrieves comprehensive block data, including the block hash, parent hash, miner address, state root, transactions, gas used, and timestamps. You can request either full transaction objects or just transaction hashes. You can also use block tags like 'latest', 'earliest', or 'pending'. This is fundamental for block explorers, analytics tools, and applications that need to process block data.
Parameters
blockNumber
QUANTITY|TAG
Block number in hex, or 'latest', 'earliest', 'pending'.
Yes
fullTransactions
Boolean
If true, returns full transaction objects; if false, returns only transaction hashes.
Yes
Request Sample
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_getBlockByNumber",
"params": ["latest", false],
"id": "getblock.io"
}'import axios from 'axios'
let data = JSON.stringify({
"jsonrpc": "2.0",
"method": "eth_getBlockByNumber",
"params": [
"latest",
false
],
"id": "getblock.io"
};
let config = {
method: "post",
maxBodyLength: Infinity,
url: "https://shared.us-east-1.getblock.io/<ACCESS_TOKEN>",
headers: {
"Content-Type": "application/json",
},
data: data,
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Response
A successful response returns the following:
{
"jsonrpc": "2.0",
"id": "getblock.io",
"result": {
"baseFeePerGas": "0x181",
"blobGasUsed": "0x208e60",
"difficulty": "0x0",
"excessBlobGas": "0x0",
"extraData": "0x01000000fa000000020000000000000000",
"gasLimit": "0x2625a00",
"gasUsed": "0x8588fa",
"hash": "0x99e5fc28e1416cadb3e29d4b82982e962b3fcf6f0e27ba51010b641a4bd326cd",
"logsBloom": "0x404022800000008000011002420000000000208ad00000001004020040c30b00010810403000000000080090840030024444808000004002460000004064004100000000004400422020200802083016000000020804081000000000200000011400004012010000200000410908180000840000080440040101c0100040000000040002080000000025000080080400000084000c2100000000000002000014020040000840000100000000002000002000000000d000080003014080400080001008020020400100001a00000000809880001000820008400000002100641004150c02019410002000000000002020208a0880000000000400000000000800",
"miner": "0x4200000000000000000000000000000000000011",
"mixHash": "0x678947991d0f7b67c46e217401db8da3fe123ab553a352e6cc3041caa9d8aae5",
"nonce": "0x0000000000000000",
"number": "0x9083bfd",
"parentBeaconBlockRoot": "0x449d214c35c68304a2005942bd495624e8d9dfb7e3a548424c57e57f577a98d0",
"parentHash": "0x3b5c3cc394b13eecae8250726265dab0f4d0341b850578cb650f2f02575d99c3",
"receiptsRoot": "0xd2675e8ce5eb4040e866821a9190548432a2d0391c8f0db911872bcb47e7c297",
"requestsHash": "0xe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
"sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
"size": "0x2827",
"stateRoot": "0x3226dec3d13bc605c905378c6e2cf10ab0ee33839fb7801e72f6fcf0605ec52c",
"timestamp": "0x6a0451b3",
"transactions": [
"0xca621c835a0d7864396582548cb66efeb78bd1eee5fc257a85dc578915c23ea8",
"0x262db5ae0abc67b5d7e1f1bc5f19fde6fee91e1e7ef5d4ac8bc03796703c4335",
"0x8d212ac370a806c28a68cb7ff2d20e327c0b79884b901d8bc8dc138095ae757b",
"0xd1c55cc6c0242a445dc9022504c6ca898aacadd31b9daaa2fd069871f264beab",
"0x2903bd2b58c9ace4eb1b548ab716b37c1f8ad0e2b6ccfeb9f2ea21928d55da7e",
"0xd1d4bff18b1ec9f82fef3bc81defd05e2a293d0657788ac15a3cf5f88ab32feb",
"0x9769c6cd163f24ad1ae830abf61d8f2f53a2ed10073eaed6f4b8a79c7f3f30e7",
"0x47d79c1702035a7317ae095903a8149690de85fc0de8f208cfa4467ede019e83",
"0xacbf028f58483849e5daaa94829b4c4b9211372aa3b88e4929f311fe38b5473b",
"0x704762fc6bea3d39f74c97466420dce759a3f757698ffd9c732b1717fd8f984f",
"0x58437d9342fc6cea8bd649f71e57612783a549478890debde8ec44df0a45f684",
"0x45ce73800598a4ce04b1a9bfa9b63b90d2bfaf5fdca8ea6170e081ecc39d28f4",
"0x5d763f4e12f3b4c5a73010ffbffe67219c655a2be39d44cb7db9b8c3228b7966",
"0x4fa2b0e76a0b2333bbf39d23dc278dc0b03eee94649433b1fa011927b65f258a",
"0x1b62aa8c695355d7f0c293a7d3e1dd7e4b246e2c571727671a74ee9e2d8c8e9b",
"0xe8ae8decb13a30b13df33bd6bb89673ca814c4deccb672b72dc664112e18b267",
"0xe6f191704056b5df64ec572e28a4ee45542b11c9c899dcbb639968b1d49a479b",
"0x494d1fec627a7d0682b536f3f33570dfb26b5d00fe4b59c46505151fba5ed869",
"0xef80d3247ce40b22c77d8a86496c37edaa3629549d473e3e6e4288f6d833f18a",
"0xe210d90176aaa2fe4288b0b62b7fb6c91ea31bdffd7fe178f396abe8a3d4804d",
"0x87da697c937a04ce6601de7352c0f0d373bfa77f13ccced1276da6583f44a647",
"0xfa2c58bb9773559d98ac27ddcdd70c0efcdb1135f512fa44e428be6ade10cd82",
"0x967e6e720c27878decdd537929eb1224059ae6cbc1e0dd272a6eb649d4b40543",
"0xe8d90c875fb7364b62fa48650728c2076e3fa226904d8619ee74ad82c562dfa1",
"0x5c78f8d54bad21bd91bb544cb18ee654fbfc9a38087a692d6bcb02aefdcf54c7"
],
"transactionsRoot": "0xfe575f7cf7696cdb34f68b39ccb0e5716fe8f71dd69c601410d1a58cb9fb51a2",
"uncles": [],
"withdrawals": [],
"withdrawalsRoot": "0xc6d7dab5fee8bef51be63af837d26e482fd88f993fb64d7238b7f1a4e2ecccc4"
}
}
Response Parameters
number
string (hex)
Block number
hash
string
Block hash
parentHash
string
Previous block hash
nonce
string
Always 0 on Arbitrum
sha3Uncles
string
Keccak hash of uncles
logsBloom
string
Bloom filter for logs
transactionsRoot
string
Root of transactions trie
stateRoot
string
Root of state trie
miner
string
Address that proposed the block
difficulty
string
Always zero on Arbitrum
totalDifficulty
string
Always zero
size
string
Block size in bytes
gasLimit
string
Block gas limit
gasUsed
string
Total gas consumed
timestamp
string
Unix timestamp
transactions
array
List of transaction hashes or objects
uncles
array
Always empty
Use Case
The eth_getBlockByNumber method is commonly used for:
Block exploration
Transaction history
Chain analysis
Data indexing
Error handling
404
Not Found
Missing or invalid ACCESS_TOKEN.
-32602
Invalid argument
The block hash isn't accurate or incomplete or full_transaction boolean is missing
Integration with Web3
The eth_getBlockByNumber can help developers:
Stream blocks in real time for analytics
Power live dashboards with block updates
Confirm block finality before executing contracts
Inspect transaction activity between specific blocks
Support trustless frontends that monitor chain state
Last updated
Was this helpful?