eth_getBlockTransactionCountByHash
curl --request POST \
--url https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getBlockTransactionCountByHash",
"params": [
"0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5"
]
}
'import requests
url = "https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getBlockTransactionCountByHash",
"params": ["0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
id: 1,
jsonrpc: '2.0',
method: 'eth_getBlockTransactionCountByHash',
params: ['0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5']
})
};
fetch('https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'eth_getBlockTransactionCountByHash',
'params' => [
'0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getBlockTransactionCountByHash\",\n \"params\": [\n \"0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getBlockTransactionCountByHash\",\n \"params\": [\n \"0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getBlockTransactionCountByHash\",\n \"params\": [\n \"0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": "<string>"
}Gnosis Chain node API
eth_getBlockTransactionCountByHash | Gnosis
Gnosis Chain API method that returns the number of transactions in a block specified by block hash. This information can be useful for analytics purposes.
POST
/
512e720763b369ed620657f84d38d2af
eth_getBlockTransactionCountByHash
curl --request POST \
--url https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getBlockTransactionCountByHash",
"params": [
"0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5"
]
}
'import requests
url = "https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_getBlockTransactionCountByHash",
"params": ["0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
id: 1,
jsonrpc: '2.0',
method: 'eth_getBlockTransactionCountByHash',
params: ['0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5']
})
};
fetch('https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'eth_getBlockTransactionCountByHash',
'params' => [
'0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getBlockTransactionCountByHash\",\n \"params\": [\n \"0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getBlockTransactionCountByHash\",\n \"params\": [\n \"0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://nd-500-249-268.p2pify.com/512e720763b369ed620657f84d38d2af")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_getBlockTransactionCountByHash\",\n \"params\": [\n \"0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": "<string>"
}Gnosis Chain API method that returns the number of transactions in a block specified by block hash. This information can be useful for analytics purposes.
This example connects to a Gnosis Chain node using the ethers.js library. The
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.
Parameters
hash— the block hash of the requested block.
Response
quantity— an integer value representing how many transactions are included in the block.
eth_getBlockTransactionCountByHash code examples
const ethers = require('ethers');
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);
const getTransactionsCount = async (blockHash) => {
const count = await provider.send("eth_getBlockTransactionCountByHash", [blockHash]);
console.log(count);
};
getTransactionsCount('0x1f9478a9ef62c5216be342e1a1cb673c61c10a91cb7ca71a31debfd4e9d1feac');
from web3 import Web3
node_url = "CHAINSTACK_NODE_URL"
web3 = Web3(Web3.HTTPProvider(node_url))
print(web3.eth.get_block_transaction_count("0x1f9478a9ef62c5216be342e1a1cb673c61c10a91cb7ca71a31debfd4e9d1feac"))
Use case
eth_getBlockTransactionCountByHash is a useful tool for analyzing transaction volume on the Gnosis Chain. For instance, a new block is generated on the Gnosis blockchain every 5 seconds, resulting in approximately 720 blocks per hour. Using the ethers.js library, one can inspect the past 720 blocks starting from the latest block and use eth_getBlockTransactionCountByHash to find the number of transactions in each block.
index.js
const ethers = require("ethers");
const NODE_URL = "CHAINSTACK_NODE_URL";
const provider = new ethers.JsonRpcProvider(NODE_URL);
async function retrieveTransactionsCount() {
// Get the current block number
const currentBlockNumber = await provider.getBlockNumber();
// Calculate the block number from one hour ago
const oneHourAgoBlockNumber = currentBlockNumber - 720; // 720 blocks/hr on average on the Gnosis mainnet
// Initialize a variable to store the total number of transactions
let totalTransactionCount = 0;
// Loop through all blocks from the current block number to the block number from one hour ago
for (let block = currentBlockNumber; block > oneHourAgoBlockNumber; block--) {
// Get the hash of each block
const getBlockHash = await provider.getBlock(block);
const blockHash = getBlockHash.hash
// Get the number of transactions in this block using each hash
const transactionCount = Number(await provider.send("eth_getBlockTransactionCountByHash", [blockHash]));
// Add the number of transactions in this block to the total
totalTransactionCount += transactionCount;
console.log(`Block #${block} has ${transactionCount} transactions.`);
}
console.log(`The total number of transactions in the previous hour is: ${totalTransactionCount}`);
}
retrieveTransactionsCount();
retrieveTransactionsCount function gets the current block number, calculates the block number from one hour ago, and uses a for loop to iterate through all blocks in that range.
The function then retrieves the hash of each block and the number of transactions in each block and adds it to a total transaction count. The final result, the total number of transactions in the previous hour, is logged to the console.
This is a good example of how you can combine different methods.Last modified on June 25, 2026
Was this page helpful?