/sdk

Javascript SDK of Harmony protocol.

Primary LanguageTypeScriptMIT LicenseMIT

Harmony JavaScript API

npm version Build Status

This is the Harmony javascript library which provides an easier way to interact with Harmony's blockchain.

This libraries contains a few packages.

  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

Installation

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

Bundle

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. .env file defines configuration, edit if you have custom settings

  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