@aeternity/aepp-sdk
Version:
SDK for the æternity blockchain
169 lines (127 loc) • 6.58 kB
Markdown
# [Æternity](https://aeternity.com/)'s Javascript SDK
[](http://commitizen.github.io/cz-cli/)
[](https://ci.aepps.com/job/aepp-sdk-js/job/develop/)
[](https://www.npmjs.com/package/@aeternity/aepp-sdk)
[](https://www.npmjs.com/package/@aeternity/aepp-sdk) [](https://greenkeeper.io/)
JavaScript SDK for the revolutionary [æternity] blockchain, targeting the
[æternity node] implementation. Aepp-sdk is [hosted on GitHub].
[æternity]: https://aeternity.com/
[æternity node]: https://github.com/aeternity/aeternity
[hosted on GitHub]: https://github.com/aeternity/aepp-sdk-js
[develop branch]: https://github.com/aeternity/aepp-sdk-js/tree/develop
## Table of content
- [Æternity's Javascript SDK](#%C3%86ternitys-Javascript-SDK)
- [Table of content](#Table-of-content)
- [Quick Start](#Quick-Start)
- [1. Install SDK](#1-Install-SDK)
- [A) Simple Usage: with `<script>` tag](#A-Simple-Usage-with-script-tag)
- [B) Advanced Usage: with `npm` or similar](#B-Advanced-Usage-with-npm-or-similar)
- [2. Create an Account](#2-Create-an-Account)
- [A) Using the Command Line](#A-Using-the-Command-Line)
- [B) Using the SDK](#B-Using-the-SDK)
- [3. Give yourself some _AE_ tokens](#3-Give-yourself-some-AE-tokens)
- [4. Import (a chosen Flavor)](#4-Import-a-chosen-Flavor)
- [5. Play with Aetenity's blockchain features](#5-Play-with-Aetenitys-blockchain-features)
- [More: Guides & Examples](#More-Guides--Examples)
- [CLI - Command Line Client](#CLI---Command-Line-Client)
- [Contributing](#Contributing)
- [Change Log](#Change-Log)
- [License](#License)
## Quick Start
### 1. Install SDK
#### A) Simple Usage: with `<script>` tag
For those not using any JS bundling/complilation or compilation technique or tools like [_Codepen_](https://codepen.io/pen/) or similar online Editors, please check our [**Import SDK bundle with `<script>` tag**](docs/guides/import-script-tag.md).
If you're using bundling/compilation techniques (eg. `webpack`), please continue reading.
#### B) Advanced Usage: with `npm` or similar
Add the latest `@aeternity/aepp-sdk` release from npmjs.com to your project using one of these commands
```bash
# install using npm...or yarn or pnpm
npm i @aeternity/aepp-sdk
```
**Note:** To install a _Pre-Release_ (latest `beta` or `alpha` version) using on the latest Node version, you have to install the package appending the `@next` tag reference, or even use the `#` symbol and the Repo URL to install a version coming from a specific branch.
```bash
# install the @next version of the SDK
npm i @aeternity/aepp-sdk@next
# install the #develop version of the SDK
npm i https://github.com/aeternity/aepp-sdk-js#develop
```
**Note** : If you experience errors during the installation, you might need to install build tools for your OS.
Windows: Windows Build Tools
```
npm install -g windows-build-tools
```
Ubuntu / Debian: Build Essential
```
sudo apt-get update
sudo apt-get install build-essential
```
Mac:
Download [Xcode](https://apps.apple.com/de/app/xcode/id497799835?mt=12) from AppStore, then run
```
xcode-select --install
```
### 2. Create an Account
You can do many more things now, but you'll probably have to start with:
#### A) Using the Command Line
Create an account using the [💻 CLI](#cli---command-line-client)
#### B) Using the SDK
```javascript
import { Crypto } from '@aeternity/aepp-sdk/es'
const keypair = Crypto.generateKeyPair()
console.log(`Secret key: ${keypair.secretKey}`)
console.log(`Public key: ${keypair.publicKey}`)
```
### 3. Give yourself some _AE_ tokens
To get yourself some _AEs_ you can use the [🚰 Faucet Aepp](https://faucet.aepps.com/). Just add your publicKey, and you'll immediately get some test tokens.
### 4. Import (a chosen Flavor)
Import the right [flavor](docs/README.md#flavors--entry-points). For this example with get the `Universal` flavor, which contains all the features of the SDK:
```js
// Import Flavor
import Ae from '@aeternity/aepp-sdk/es/ae/universal' // or other flavor
```
### 5. Play with Aetenity's blockchain features
```js
// Use Flavor
Ae({
url: 'https://sdk-testnet.aepps.com',
// internalUrl: 'https://sdk-testnet.aepps.com',
compilerUrl: 'https://compiler.aepps.com',
keypair: { secretKey: 'A_PRIV_KEY', publicKey: 'A_PUB_ADDRESS' },
networkId: 'ae_uat' // or any other networkId your client should connect to
}).then(ae => {
// Interacting with the blockchain client
// getting the latest block height
ae.height().then(height => {
// logs current height
console.log('Current Block Height:', height)
}).catch(e => {
// logs error
console.log(e)
})
})
```
## More: Guides & Examples
Check out our [Guides](docs/README.md) and [Examples](examples/README.md).
## CLI - Command Line Client
To quickly test _all_ of Aeternity's blockchain features from your Terminal, you can Install and use our **NodeJS [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
_eg._ Create an Account:
`aecli account create testWhateverAccountName`
## 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](docs/contrib/README.md) section.
## Change Log
We keep our [Changelog](CHANGELOG.md) up to date.
## License
ISC License (ISC)
Copyright © 2018 aeternity developers
Permission to use, copy, modify, and/or distribute this software for any purpose
with or without fee is hereby granted, provided that the above copyright notice
and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
THIS SOFTWARE.