Skip to content

hemilabs/heminetwork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Hemi Network

Go Reference Go Report Card Go Build Status MIT License

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.

Components

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

Utilities

This repository also contains several utility binaries.

Name Description
btctool Bitcoin utility tool
hemictl Hemi network controller CLI
keygen Keypair generation tool

Installation

Binaries

Pre-built binaries for Linux, macOS, Windows, and OpenBSD are available via GitHub Releases.

Docker images

Docker images are published to both GitHub Container Registry and Docker Hub. Docker images are currently available for:

Build from source

Prerequisites

Build

  1. Clone the heminetwork repository:

    git clone https://github.com/hemilabs/heminetwork.git
    cd heminetwork
  2. Setup and build binaries:

    make deps    # Download and install dependencies
    make install # Build binaries into ./bin/

Contributing

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.

Contact

This repository is maintained by the Protocol Engineering team at Hemi Labs. You can contact us in the official Hemi Discord server.

Security Vulnerabilities

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.

License

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.