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
  • ./hmy.sh -- : 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:
1
curl -LO https://harmony.one/hmycli && mv hmycli hmy && chmod +x hmy
Copied!
If you have permission issues, enter the commands with "sudo" at the beginning, i.e. "sudo curl -LO https://harmony.one/hmycli && 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:
1
curl -O https://raw.githubusercontent.com/harmony-one/go-sdk/master/scripts/hmy.sh
2
chmod u+x hmy.sh
3
./hmy.sh -d
Copied!
Now you can use hmy.sh as a wrapper over hmy and you should assume that all references to hmy in these documents refer to hmy.sh. For example, the command ./hmy becomes ./hmy.sh -- .
Note that since hmy is not statically linked, you cannot arbitrarily move hmy.sh 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.
Steps:
  1. 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.
1
cd /Users/edgar/Repos/harmony-work/src/github.com/harmony-one
2
ls
3
bls harmony mcl
4
git clone https://github.com/harmony-one/go-sdk.git
Copied!
  1. 1.
    Then setup the build flags:
1
source harmony/scripts/setup_bls_build_flags.sh
Copied!
  1. 1.
    Call make in the go-sdk repo. This builds a binary named hmy:
1
cd go-sdk
2
make
Copied!
Congratulations! You can now use the binary to run the CLI.
Last modified 1yr ago