Hemi is an EVM-compatible L2 blockchain that combines the security of Bitcoin with the programmability of Ethereum.
This repository contains the core daemons of the Hemi Network, including:
- bfgd: Hemi Bitcoin Finality Governor daemon.
- hproxyd: A proxy for balancing RPC requests across Hemi nodes.
- popmd: The Hemi PoP Miner daemon.
- tbcd: A fully custom, embeddable Bitcoin node written in Go.
The Hemi Network is composed of many services. The core Hemi services in this repository are:
Name | Description |
---|---|
Bitcoin Finality Governor (bfgd ) |
Provides finality information over an API |
Hemi RPC Proxy Daemon (hproxyd ) |
Proxies RPC requests to Hemi op-geth nodes |
Hemi PoP Miner Daemon (popmd ) |
The Hemi Proof-of-Proof miner daemon |
Hemi Tiny Bitcoin Daemon (tbcd ) |
Embeddable Bitcoin node |
This repository also contains several utility binaries.
Name | Description |
---|---|
btctool |
Bitcoin utility tool |
hemictl |
Hemi network controller CLI |
keygen |
Keypair generation tool |
Pre-built binaries for Linux, macOS, Windows, and OpenBSD are available via GitHub Releases.
Docker images are published to both GitHub Container Registry and Docker Hub. Docker images are currently available for:
hemilabs/bfgd
- Hemi Bitcoin Finality Governorhemilabs/hproxyd
- Hemi RPC proxyhemilabs/popmd
- Hemi PoP Miner Daemonhemilabs/tbcd
- Hemi Tiny Bitcoin Daemon
Prerequisites
- Go v1.24 or newer - https://go.dev/dl/
git
,make
Build
-
Clone the
heminetwork
repository:git clone https://github.com/hemilabs/heminetwork.git cd heminetwork
-
Setup and build binaries:
make deps # Download and install dependencies make install # Build binaries into ./bin/
We welcome contributions of all kinds!
- Found a bug or have an idea for a new feature? Open an issue.
- Want to build something new? We recommend starting with a proposal issue.
- Have improvements for our code or docs? Pull requests are very welcome!
Join the discussion in our Discord server or keep an eye on issues and pull requests.
All contributions to this repository must be made under the terms of the MIT License.
This repository is maintained by the Protocol Engineering team at Hemi Labs. You can contact us in the official Hemi Discord server.
If you discover vulnerabilities in Hemi, we encourage responsible disclosure of the vulnerability so that we can take steps to resolve the vulnerability as quickly as possible. We ask you to help us better protect Hemi and our users by reporting vulnerabilities through HackerOne. Never report security vulnerabilities publicly, especially on GitHub issues.
If you have discovered a security vulnerability, please report it in accordance with our Security Policy.
The contents of this repository are distributed under the terms of the MIT License, except where otherwise noted.
For more information, please refer to the LICENSE file.