Mjölnir: Ethereum Client Benchmarking Tool
Building DevOps tooling to enable rapid deployment and stress-testing of Ethereum Proof of Authority clusters across multiple clients for Brave.
|" \ /" | |" | / " \ |" | (\" \|" \ |" \ /" \
\ \ // | || | // ____ \ || | |.\\ \ | || | |: |
/\\ \/. | |: |/ / ) :)|: | |: \. \\ | |: | |_____/ )
|: \. | ___| /(: (____/ // \ |___ |. \ \. | |. | // /
|. \ /: | / :|_/ )\ / ( \_|: \| \ \ | /\ |\ |: __ \
|___|\__/|___|(_______/ \"_____/ \_______)\___|\_____\)(__\_|_)|__| \___)
M J Ö L N I R
...the hammer of Thor. The Challenge
Brave needed DevOps tooling to rapidly deploy Ethereum Proof of Authority (PoA) clusters across different Ethereum clients for benchmarking. The goal was to test throughput and performance under various network conditions.
No existing tool fulfilled this requirement-the ability to spin up clusters quickly, test multiple Ethereum clients, and simulate adverse network conditions like clock skew, dropped TCP packets, and jitters.
This vacuum gave birth to Mjölnir-a tool for rapidly deploying and testing Ethereum Clients, named after Thor's hammer for its power to strike and test blockchain infrastructure.
Supported Ethereum Clients
Mjölnir enables benchmarking across multiple enterprise Ethereum implementations, each with unique consensus mechanisms.
Quorum
JP Morgan's enterprise Ethereum
Pantheon
Now Hyperledger Besu
Parity
Honey Badger / POSDAO version
What We Built
A comprehensive DevOps toolkit enabling one-command deployment and benchmarking of Ethereum clusters.
Mjölnir Core Development
- Custom CLI tool built in Go for rapid deployment
- Multi-client support (Quorum, Pantheon/Besu, Parity)
- Proof of Authority (PoA) cluster orchestration
- Automated infrastructure provisioning
- One-command deployment workflow
AWS Infrastructure Automation
- Terraform-based infrastructure as code
- EC2, IAM, S3, CloudWatch integration
- Bastion host architecture for secure access
- Auto-scaling cluster deployment
- ~15 minute deployment for 4-node clusters
Benchmarking & Stress Testing
- Chainhammer integration for transaction firing
- Throughput measurement across clients
- Adverse network condition simulation
- Clock skew, packet drops, jitter testing
- Automated results collection and reporting
Monitoring & Observability
- Grafana dashboards for cluster visualization
- Prometheus metrics collection
- eth-stats for network monitoring
- CloudWatch log aggregation
- Real-time performance insights
Technology Stack
Language
IaC
Containers
Cloud
Quick Start
# Build, deploy and test in one command
$ make quorum-hammer
# ~20 minutes later, results in ./results folder
Key Features
Rapid Deployment
Deploy a full 4-node PoA cluster in ~15 minutes with a single command. Infrastructure as code ensures reproducible environments.
Adverse Network Testing
Simulate real-world network conditions: clock skew, dropped TCP packets, jitters-test how clients behave under stress.
Multi-Client Support
Compare throughput across Quorum, Pantheon (Besu), and Parity. Same test conditions, different implementations.
Integrated Monitoring
Grafana dashboards, Prometheus metrics, eth-stats visualization-all configured automatically with each deployment.
The Outcome
Mjölnir was released as open source software, enabling the broader Ethereum community to benchmark and compare client implementations. The tool filled a critical gap in the ecosystem for standardized client testing.
"We would like to thank binarapps for their ability to dive into both the infrastructure and software and deliver on our requirements."
- Brave Experiments Team
Released on GitHub
Standardized client testing
Battle-tested tooling
Building blockchain infrastructure?
Let's discuss how our blockchain and DevOps expertise can accelerate your Web3 initiatives.
Let's Talk