A tool for testing transaction performance.
This load testing framework is designed to simulate high-volume transaction scenarios to evaluate the performance of blockchain infrastructure components including Bitcoin nodes, Ethereum clients, and associated services.
Before running the load tests, ensure the following services are running:
- Bitcoin Core (bitcoind) - Bitcoin node with RPC enabled
- Auto-miner - Automated block mining for test environment
- Runehook + Runehook API - Runes protocol indexer and API service
- UTXO Service - Service handling the
/utxos/:addressendpoint (currently deployed as separate microservice) - Mempool - Bitcoin mempool tracker and API
- Geth + BTC Observer - Ethereum client with Bitcoin network observer
The environment is configured for localhost by default. To modify the configuration for different environments, update
the settings in ./src/config.ts.
The BTC Observer includes an HTTP listener with a monitoring endpoint at http://localhost:8888/graphs where you can
view real-time transaction queue metrics.
Below is an example of processing 10,000 transactions at 20 TPS:
- X-axis: Time
- Y-axis: Number of transactions in queue
