# æternity's JavaScript SDK

[![main action](https://github.com/aeternity/aepp-sdk-js/actions/workflows/main.yml/badge.svg)](https://github.com/aeternity/aepp-sdk-js/actions/workflows/main.yml)[![codecov](https://codecov.io/gh/aeternity/aepp-sdk-js/branch/develop/graph/badge.svg?token=wON6gOciRP)](https://codecov.io/gh/aeternity/aepp-sdk-js)[![docs](https://github.com/aeternity/aepp-sdk-js/actions/workflows/docs.yml/badge.svg)](https://github.com/aeternity/aepp-sdk-js/actions/workflows/docs.yml)[![npm](https://img.shields.io/npm/v/@aeternity/aepp-sdk.svg)](https://www.npmjs.com/package/@aeternity/aepp-sdk)[![npm](https://img.shields.io/npm/l/@aeternity/aepp-sdk.svg)](https://www.npmjs.com/package/@aeternity/aepp-sdk)

JavaScript SDK for the revolutionary [æternity](https://aeternity.com) blockchain, targeting the[æternity node](https://github.com/aeternity/aeternity) implementation. The aepp-sdk is [hosted on GitHub](https://github.com/aeternity/aepp-sdk-js).

## Guides & Examples

Introduction

* [Installation](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs)
* [Quick Start](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/quick-start)

Usage guides:

* [AENS](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/aens) (æternity naming system)
* [Contracts](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/contracts)
* [Contract Events](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/contract-events)
* [Oracles](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/oracles)
* [PayingForTx](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/paying-for-tx) (Meta-Transactions)
* [Batch Transactions](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/batch-requests)
* [Error Handling](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/error-handling)
* [Low vs High level API](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/low-vs-high-usage)
* [Typed data hashing and signing](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/typed-data)
* [Usage with TypeScript](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/typescript)
* [JWT usage](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/jwt)
* [Transaction options](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/transaction-options)
* [Range of possible address length](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/address-length)
* Wallet Interaction
  * [Connect an æpp to a wallet](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/connect-aepp-to-wallet)
  * [How to build a wallet](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/build-wallet)
  * [Ledger Hardware Wallet](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/ledger-wallet)
  * [Aeternity snap for MetaMask](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/guides/metamask-snap)

There are also [examples](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/examples) that you can directly use and play with.

### [API Reference](https://sdk.aeternity.io/v14.1.0/api/)

## CLI - Command Line Interface

To quickly test *all* of æternity's blockchain features from your terminal, you can install and use the [CLI](https://github.com/aeternity/aepp-cli-js) by running:

1. `npm i -g @aeternity/aepp-cli` to globally install the CLI
2. `aecli --help` to get a list of possible commands

## Contributing

For advanced use, to get a deeper understanding of the SDK or to contribute to its development, it is advised to read the [Contributing Guidelines](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/contrib) section.

## Changelog

We keep our [Changelog](https://docs.aeternity.com/developer-documentation/aepp-sdk-js/docs/changelog) up to date.
