Ethereum Transaction Report Application
The Ethereum Transaction Report app fetches and analyzes Ethereum transactions for a given address using QuickNode's EVM Blockbook add-on, providing detailed reports within a specified date range.

Introduction
This application fetches and analyzes Ethereum transactions for a given address using QuickNode's EVM Blockbook add-on, providing detailed reports within a specified date range. It identifies transaction direction (incoming or outgoing), confirmation status, and token transfers across ERC-20, ERC-721, and ERC-1155 assets. Users can filter by transaction type (normal, internal, or token) and date range, with support for time zone selection. Additionally, it offers a wallet summary with balance, nonce, and transaction counts.
For an in-depth guide on how to build this app, refer to our comprehensive guide on QuickNode
Tech Stack
- Frontend Framework/Library: React
- Language: TypeScript
- Build Tool/Development Server: Vite
Features
- Transaction Direction: Identifies whether transactions are incoming or outgoing.
- Confirmation Status: Determines whether transactions are confirmed.
- Token Transfers: Includes details for ERC-20, ERC-721, and ERC-1155 token transfers.
- Transaction Filtering: Detects normal, internal and token transactions.
- Date Range Filtering: Generates reports for transactions within a specified date range.
- Time Zone Selection: Performs date filtering according to the selected timezone.
- CSV Support: Ability to export or copy results as a CSV file.
- Wallet Summary: Displays a summary of the wallet address, including current balance, nonce, total transactions, non-token transactions, and internal transactions.
Getting Started
Prerequisites
To run this app, you'll need:
- Node.js installed on your system.
- A QuickNode account with the paid EVM Blockbook JSON-RPC Add-On enabled.
- A code editor or an IDE (e.g., VS Code)
- TypeScript and ts-node
Run the commands below to install TypeScript and ts-node
globally to have TypeScript available across all projects.
npm install -g typescript ts-node
Installation Dependencies
- Clone the repository to your local machine:
git clone https://github.com/quiknode-labs/qn-guide-examples.git
- Navigate to the project directory:
cd sample-dapps/ethereum-transaction-report-generator
- Install the necessary dependencies:
npm install
Setting Environment Variables
Rename .env.example
to .env
and replace the YOUR_QUICKNODE_ETHEREUM_ENDPOINT_URL
placeholder with your QuickNode Ethereum Node Endpoint. Make sure that the Blockbook RPC add-on is enabled.
VITE_QUICKNODE_ENDPOINT = "YOUR_QUICKNODE_ETHEREUM_ENDPOINT_URL"
Please note that while we utilize
dotenv
for environment variable management, sensitive information like endpoints can still be visible on the frontend. This configuration is not recommended for production environments as-is.
Running the Application
Run the development server:
npm run dev
Open http://localhost:5173/ with your browser to see the application.
Using the App
- Input an Ethereum wallet address.
- (Optional) Select date range and time zone.
- Press
Generate
. - (Optional) Export or copy results as CSV.
The Ethereum Transaction Report Generator application will query the Ethereum blockchain for the wallet's transactions, filter these transactions data and calculate additional variables. Lastly, the app display results.
Preview
Conclusion
QuickNode's EVM Blockbook add-on facilitates the creation of detailed Ethereum transaction reports for developers and businesses alike. While this application covers the fundamentals, there's a vast scope for customization and extended functionalities. Whether for audit purposes, regulatory compliance, or market analysis, the Blockbook add-on streamlines the process of extracting blockchain data.
To discover more about how QuickNode assists auditing firms and individuals in extracting this type of data from blockchains, please contact us; we're eager to engage with you!
- Fork the repository
- Create a feature branch:git checkout -b feature/amazing-feature
- Commit your changes:git commit -m "Add amazing feature"
- Push your branch:git push origin feature/amazing-feature
- Open a Pull Request.