Download & Setup

The Harmony CLI tool is used to interact with the Harmony blockchain.

Throughout this guide, we will use the following syntax:

  • ./hmy: This is the CLI program

  • ./ -- : This is the command to use the CLI with a shell wrapper (for macOS)

  • <argument>: This is a required argument

  • [argument]: This is an optional argument

  • / : This is a line break, used to break up a line while writing a command

Download Harmony CLI tool

1. For Linux

Enter the following command into your shell of choice:

curl -LO && mv hmycli hmy && chmod +x hmy

If you have permission issues, enter the commands with "sudo" at the beginning, i.e. "sudo curl -LO && mv hmycli hmy && chmod +x hmy"

2. For MacOS

hmy depends on some dynamic libraries, hence we recommend using the shell wrapper. Enter there commands into your terminal:

curl -O
chmod u+x
./ -d

Now you can use as a wrapper over hmy and you should assume that all references to hmy in these documents refer to For example, the command ./hmy becomes ./ -- .

Note that since hmy is not statically linked, you cannot arbitrarily move to anywhere on your filesystem like you could with a single binary.

3. Compiling from source

If you are interested in compiling from source, then the process is more involved.


  1. Clone the repository at the same level as the main Harmony repo:

Have mcl, bls all built and prepared. This may require you to see instructions in the harmony repo's readme.

cd /Users/edgar/Repos/harmony-work/src/
bls harmony mcl
git clone
  1. Then setup the build flags:

source harmony/scripts/
  1. Call make in the go-sdk repo. This builds a binary named hmy:

cd go-sdk

Congratulations! You can now use the binary to run the CLI.

Last updated