• Public
  • Public/Protected
  • All


Harmony JavaScript SDK

npm version Build Status

This is the Harmony Javascript SDK which provides an easier way to interact with Harmony blockchain.

Please read the documentation for full API doc.

The SDK includes following packages with package-level documentation and examples inside each package.

  1. @harmony-js/core
  2. @harmony-js/account
  3. @harmony-js/crypto
  4. @harmony-js/network
  5. @harmony-js/utils
  6. @harmony-js/transaction
  7. @harmony-js/contract
  8. @harmony-js/staking



This library works on both nodejs and browser. Please use it according to your use case.

Enviorment requirement

  • Nodejs: 10.0+
  • Browser: Latest Chrome and Firefox

Install from npm/yarn

Note: we added a @next tag to npm package, please use the following command to install with npm/yarn

# npm
npm install @harmony-js/core@next 

# yarn
yarn add @harmony-js/core@next

# tslib is required, we'd better install it as well
npm install tslib
yarn add tslib

Building from source files

Install lerna and typescript globally

yarn global add lerna && yarn global add typescript

Bootstrap and build

yarn bootstrap


Build umd and esm version javascript for each sub-packages, which can be accessed by import or require

yarn dist

All files are exported in packages/dist folder, use **.esm.js or **.umd.js format

Running Tests

Unit tests

yarn test:src

e2e tests

  1. Remove the 'cross-fetch': 'jest-fetch-mock' line from scripts/jest/jest.e2e.config.js
  2. Run harmony node locally, follow the instructions: https://github.com/harmony-one/harmony
  3. Wait for 1-2 mins, and run this:
    yarn build && yarn test:e2e

Generated using TypeDoc