# alaxplorerjs-api

> Application programming interface to ALA blockchain nodes.

Latest version **7.0.0** (published 2019-12-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install alaxplorerjs-api
pnpm add alaxplorerjs-api
yarn add alaxplorerjs-api
bun add alaxplorerjs-api
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 7.0.0 |
| Published | 2019-12-18 |
| First published | 2019-12-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 35.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | aladinnetwork |
| Keywords | ALA, Blockchain, API |

## Links

- npm: https://www.npmjs.com/package/alaxplorerjs-api
- Repository: https://github.com/ALAIO/alaxplorerjs-api
- Homepage: https://github.com/ALAIO/alaxplorerjs-api#readme
- Issues: https://github.com/ALAIO/alaxplorerjs-api/issues
- npm.io page: https://npm.io/package/alaxplorerjs-api

## Dependencies (2)

- [camel-case](https://npm.io/package/camel-case.md) ^3.0.0
- [isomorphic-fetch](https://npm.io/package/isomorphic-fetch.md) ^2.2.1

## Recent versions

- 7.0.0 (latest) — 2019-12-18

## README

[![NPM](https://img.shields.io/npm/v/alaxplorerjs-api.svg)](https://www.npmjs.org/package/alaxplorerjs-api)

# Ala API

Application programming interface to ALA blockchain nodes.  This is for
read-only API calls.  If you need to sign transactions use
[alaxplorerjs](https://github.com/alaio/alaxplorerjs) instead.

# Include

* Install with: `npm install alaxplorerjs-api`
* Html script tag, see [releases](https://github.com/ALAIO/alaxplorerjs-api/releases) for the correct **version** and its matching script **integrity** hash.

```html
<html>
<head>
  <meta charset="utf-8">
  <!--
  sha512-QhGZxYAobgbwwfLU/XJJGXnZIlryDmb+1UZhA7tXpQagDUMfQ5UpriwIVk8B3GpgU178MoEGZJXwDUWQtCkfUg== lib/ala-api.js
  sha512-1vZNvckFHfp7QPyWbFt/Jqr0jKiQeBsS+7O1/KGmXD7Fpzv+cW6Cm4w7m9uN4pGBwJEAzkxPVzzZ0Q2QV5jN0g== lib/ala-api.min.js
  sha512-55C/rD7i39x8mQHcKGaLYiRnAtZ5sldYMvvwGMHU+9RaLxT5FlhjpqgoubVWGHwPJM/9qVISF82ryYnlFxkwWQ== lib/ala-api.min.js.map
  -->
  <script src="https://cdn.jsdelivr.net/npm/alaxplorerjs-api@7.0.0/lib/ala-api.min.js"
    integrity="sha512-1vZNvckFHfp7QPyWbFt/Jqr0jKiQeBsS+7O1/KGmXD7Fpzv+cW6Cm4w7m9uN4pGBwJEAzkxPVzzZ0Q2QV5jN0g=="
    crossorigin="anonymous"></script>

</head>
<body>
  See console object: AlaApi
</body>
</html>
```


## AlaApi

Run [alanode](https://github.com/alaio/ala)

## Usage

```javascript
AlaApi = require('alaxplorerjs-api') // Or AlaApi = require('./src')

ala = AlaApi() // // 127.0.0.1:8888

// Any API call without a callback parameter will print documentation: description,
// parameters, return value, and possible errors.  All methods and documentation
// are created from JSON files in alaxplorerjs/json/api/v1..
ala.getInfo()

// A Promise is returned if a callback is not provided.
ala.getInfo({}).then(result => console.log(result))
ala.getBlock(1).then(result => console.log(result))

// For callbacks instead of Promises provide a callback
callback = (err, res) => {err ? console.error(err) : console.log(res)}

// The server does not expect any parameters only the callback is needed
ala.getInfo(callback)

// Parameters are added before the callback
ala.getBlock(1, callback)

// Parameters can be an object
ala.getBlock({block_num_or_id: 1}, callback)
ala.getBlock({block_num_or_id: 1}).then(result => console.log(result))
```

## Configuration

```js
AlaApi = require('alaxplorerjs-api') // Or AlaApi = require('./src')

// everything is optional
options = {
  httpEndpoint: 'http://127.0.0.1:8888', // default, null for cold-storage
  verbose: false, // API logging
  logger: { // Default logging functions
    log: config.verbose ? console.log : '',
    error: console.error
  },
  fetchConfiguration: {}
}

ala = AlaApi(options)
```
### options.logger example

During testing, an error may be expected and checked as follows:

```js
options.logger = {
  error: err => {
    assert.equal(err, 'expected error')
  }
}
```

### options.fetchConfiguration example

```js
options.fetchConfiguration = {
  credentials: 'same-origin'
}
```
Every alaxplorerjs-api request will run [fetch](https://github.com/github/fetch#sending-cookies) with this configuration:
```js
fetch('https://example.com', {
  credentials: 'same-origin'
})
```

## API Documentation

API methods and documentation are generated from:
* [chain.json](https://github.com/ALAIO/alaxplorerjs-api/blob/master/src/api/v1/chain.json)
* [history.json](https://github.com/ALAIO/alaxplorerjs-api/blob/master/src/api/v1/history.json)

Helper functions:
* [./docs/index.md](./docs/index.md)

## Environment

Node and browser (es2015)

---
_Source: https://npm.io/package/alaxplorerjs-api · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
