Giter Club home page Giter Club logo

aepp-sdk-js's Introduction

Æternity's JavaScript SDK

Language grade: JavaScript codecov Build Status Commitizen friendly npm npm Greenkeeper badge JavaScript SDK for the revolutionary æternity blockchain, targeting the æternity node implementation. Aepp-sdk is hosted on GitHub.

Table of content

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 or similar online Editors, please check our Import SDK bundle with <script> tag.

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

# 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.

# 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 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

B) Using the SDK

  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. Just add your publicKey, and you'll immediately get some test tokens.

4. Import (a chosen Flavor)

Import the right flavor. For this example with get the Universal flavor, which contains all the features of the SDK:

// Import Flavor
import Ae from '@aeternity/aepp-sdk/es/ae/universal' // or other flavor

5. Play with Aetenity's blockchain features

// Use Flavor
import Ae from '@aeternity/aepp-sdk/es/ae/universal' // or other flavor
import MemoryAccount from '@aeternity/aepp-sdk/es/account/memory' // or other flavor
import Node from '@aeternity/aepp-sdk/es/node' // or other flavor
import { AE_AMOUNT_FORMATS } from '@aeternity/aepp-sdk/es/utils/amount-formatter'

const NODE_URL = 'https://sdk-testnet.aepps.com'
const COMPILER_URL = 'COMPILER_URL' // required for using Contract
const ACCOUNT = MemoryAccount({ keypair: { secretKey: 'A_PRIV_KEY', publicKey: 'A_PUB_ADDRESS' } })

(async function () {
  const nodeInstance = await Node({ url: NODE_URL })
  const sdkInstance = await Ae({
     compilerUrl: COMPILER_URL,
     nodes: [ { name: 'test-net', instance: nodeInstance } ],
     accounts: [ ACCOUNT ]
  })

  await sdkInstance.height() // get top block height
  console.log('Current Block Height:', height)
  
  await sdkInstance.spend(1, 'ak_asd23dasdasda...', { denomination: AE_AMOUNT_FORMATS.AE }) // spend one AE

})()

More: Guides & Examples

Check out our Guides and Examples.

CLI - Command Line Client

To quickly test all of Aeternity's blockchain features from your Terminal, you can Install and use our NodeJS CLI 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 section.

Change Log

We keep our Changelog 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.

aepp-sdk-js's People

Contributors

nduchak avatar ricricucit avatar tillkolter avatar davidyuk avatar mpowaga avatar greenkeeper[bot] avatar outergod avatar jsnewby avatar vsavovlime avatar maptuhec avatar tarasherasymchuk avatar mradkov avatar perseverance avatar shekhar-shubhendu avatar muxe avatar noandrea avatar eminogrande avatar nikita-fuchs avatar johnsnewby avatar andi-apeunit avatar and1 avatar andrenarchy avatar thepiwo avatar rshutov avatar dependabot[bot] avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.