> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chainstack.com/llms.txt
> Use this file to discover all available pages before exploring further.

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://docs.chainstack.com/feedback

```json
{
  "path": "/reference/gnosis-getblocktransactioncountbyhash",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# 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.

<Check>
  **Get your own node endpoint today**

  [Start for free](https://console.chainstack.com/) and get your app to production levels immediately. No credit card required.

  You can sign up with your GitHub, X, Google, or Microsoft account.
</Check>

## 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

<CodeGroup>
  ```javascript web3.js theme={"system"}
  const Web3 = require("web3");
  const NODE_URL = "CHAINSTACK_NODE_URL";
  const web3 = new Web3(NODE_URL);

  async function getTransactionsCount(blockHash) {
    const count = await web3.eth.getBlockTransactionCount(blockHash)
    console.log(count);
  }

  getTransactionsCount('0x1f9478a9ef62c5216be342e1a1cb673c61c10a91cb7ca71a31debfd4e9d1feac')
  ```

  ```javascript ethers.js theme={"system"}
  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');
  ```

  ```python web3.py theme={"system"}
  from web3 import Web3  
  node_url = "CHAINSTACK_NODE_URL" 

  web3 = Web3(Web3.HTTPProvider(node_url)) 
  print(web3.eth.get_block_transaction_count("0x1f9478a9ef62c5216be342e1a1cb673c61c10a91cb7ca71a31debfd4e9d1feac"))
  ```
</CodeGroup>

## 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](https://etherscan.io/chart/blocktime), resulting in approximately 720 blocks per hour. Using the web3.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.

```javascript index.js theme={"system"}
const Web3 = require("web3");
const NODE_URL = "CHAINSTACK_NODE_URL";
const web3 = new Web3(NODE_URL);

async function retrieveTransactionsCount() {
  // Get the current block number
  const currentBlockNumber = await web3.eth.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 web3.eth.getBlock(block, false);
    const blockHash = getBlockHash.hash

    // Get the number of transactions in this block using each hash
    const transactionCount = await web3.eth.getBlockTransactionCount(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();
```

This example connects to a Gnosis Chain node using the web3.js library. The `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.


## OpenAPI

````yaml /openapi/gnosis_node_api/blocks_info/eth_getBlockTransactionCountByHash.json POST /512e720763b369ed620657f84d38d2af
openapi: 3.0.0
info:
  title: Upload
  version: 1.0.0
  description: This is an API for interacting with a Chainstack node.
servers:
  - url: https://nd-500-249-268.p2pify.com
security: []
paths:
  /512e720763b369ed620657f84d38d2af:
    post:
      tags:
        - Blocks info
      summary: eth_getBlockTransactionCountByHash
      operationId: getBlockTransactionCountByHash
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                id:
                  type: integer
                  default: 1
                jsonrpc:
                  type: string
                  default: '2.0'
                method:
                  type: string
                  default: eth_getBlockTransactionCountByHash
                params:
                  type: array
                  items:
                    type: string
                    title: Block hash
                    description: The block hash identifier.
                  default:
                    - >-
                      0x5246f3918819d448ac4887f0c27ecdc4c143c3698dfb7c0cee937e7bf0c34de5
      responses:
        '200':
          description: The block information
          content:
            application/json:
              schema:
                type: object
                properties:
                  jsonrpc:
                    type: string
                  id:
                    type: integer
                  result:
                    type: string

````