Practical overview
When it fits
Use Harmony when the work requires source-level access to a blockchain protocol and a documented Go-based development environment, rather than a consumer-facing blockchain application.
Who it is for
- Blockchain infrastructure engineers
- Protocol developers and researchers
- Developers building tools that interact with Harmony nodes
- Teams studying or extending consensus and cryptographic components
Documented uses
- Build the Harmony blockchain binary and dependent libraries.
- Develop infrastructure around proof-of-stake and sharding.
- Operate or develop a blockchain node from the protocol code.
- Create tooling that interacts with a Harmony network node.
- Study or extend PBFT consensus and BLS-related components.
Requirements & limits
The repository is public and licensed under LGPL-3.0. The documented development setup targets Linux, macOS and Docker-based environments, with platform-specific dependency instructions.
- The implementation is primarily written in Go and requires Go 1.24.2 according to the repository instructions.
- Building depends on native cryptographic libraries, including MCL and BLS, plus GMP and OpenSSL.
- The repository documents a GOPATH-based setup for cloning related Harmony repositories.
- Docker support is included through a project Dockerfile and is documented as a development-environment option.
- The protocol is identified with proof-of-stake, sharding, PBFT consensus and BLS topics.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up the Harmony development environment
Prepare the documented repositories, dependencies and build environment for Harmony development.
Before you start
- Go 1.24.2
- GMP and OpenSSL
- Bash 4 or later
- Git, Make, GCC and G++ or equivalent developer tools
- Docker if using the documented container environment
Steps
Install the required Go, system, shell and developer-tool dependencies for the operating system.
Create the GOPATH directory at $(go env GOPATH)/src/github.com/harmony-one.
Clone the mcl, bls and harmony repositories into that directory.
Enter the harmony repository, run go mod tidy, and run make to build the binary and dependent libraries.
Alternatively, build the included Docker development image with make clean followed by docker build -t harmony .
Expected outcome
A prepared Harmony source tree with its documented dependencies and build environment.
Guide limitations
- The source instructions describe setup and building; they do not establish that a particular machine completed the build successfully.
- The macOS library-path instructions use environment variables that must be adapted to the local installation paths.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 2 October 2026
- Original website title
- harmony-one/harmony · Official homepage title · retained in its source language

