@hashgraph/sdk

Hedera™ Hashgraph JavaScript SDK

Docs NPM Package

The JavaScript SDK for interacting with Hedera Hashgraph: the official distributed consensus platform built using the hashgraph consensus algorithm for fast, fair and secure transactions. Hedera enables and empowers developers to build an entirely new class of decentralized applications.

Install

NOTE: v1 of the SDK is deprecated and support will be discontinued after October 2021. Please install the latest version 2.x or migrate from v1 to the latest 2.x version. You can reference the migration documentation.

# with NPM
$ npm install --save @hashgraph/sdk

# with Yarn
$ yarn add @hashgraph/sdk

# with PNPM
$ pnpm add @hashgraph/sdk

Build

Prerequisites

  1. Taskfile tool installation
# with npm
$ npm install -g @go-task/cli

# with homebrew
$ brew install go-task
  1. pNpm package manager installation
# with npm
$ npm install -g pnpm

# with homebrew
$ brew install pnpm

After downloading the repo run:

  1. task install

  2. task build to build the SDK

React Native Support

The Hedera JavaScript SDK supports the following:

  • React Native with Expo - keep in mind that the SDK uses some functionalities provided from ethers/ethersproject and there is an issue using parts of ethers.js in this environment. A shims package has to be installed and imported before importing the SDK in your project as it is showed here
  • Useful information: here and here

The Hedera JavaScript SDK does not currently support the following:

  • React Native Bare

Usage

See examples.

Every example can be executed using the following command from the root directory: node examples/[name-of-example].js

Start tests

  • To start the integration tests follow the next steps:
  • To start unit tests follow the next steps:
    • Run task test:unit (Note: the local node should not be running)

Contributing to this Project

We welcome participation from all developers! For instructions on how to contribute to this repo, please review the Contributing Guide.

License Information

Licensed under Apache License, Version 2.0 – see LICENSE in this repo or apache.org/licenses/LICENSE-2.0.