eal-sdk
Version:
EAL SDK for Node.JS and the Browser
100 lines (73 loc) • 3.17 kB
Markdown
# Coiin EAL JS SDK
Talk to your Coiin EAL chain.
## Docs
Full docs for the SDK [can be found here](https://node-sdk-docs.eal.coiin.io/latest).
## Installation
```sh
npm i coiin-eal-sdk --save
```
### Initialize The Client
```javascript
const sdk = require('coiin-eal-sdk');
const main = async () => {
const client = await sdk.createClient({
coiinEalId: 'c2dffKwiGj6AGg4zHkNswgEcyHeQaGr4Cm5SzsFVceVv'
});
// Do something with the client here
};
main()
.then(console.log)
.catch(console.error);
```
### GetBlock
```javascript
const call = await client.getBlock({ blockId: '56841' });
if (call.ok) {
console.log('Successful call!');
console.log(`Block: ${call.response}`);
} else {
console.error('Something went wrong!');
console.error(`HTTP status code from chain: ${call.status}`);
console.error(`Error response from chain: ${call.response}`);
}
```
## Configuration
In order to use this SDK, you need to have an Auth Key as well as
an Auth Key ID for a given Coiin EAL ID. It is also strongly suggested that
you supply an endpoint locally so that a remote service isn't called to
automatically discover your coiin eal endpoint. These can be loaded into the
sdk in various ways, and are checked in the following order of precedence:
1. The `createClient` method can be initialized with an object containing
the parameters `coiinEalId: <ID>`, `authKey: <KEY>`,
`authKeyId: <KEY_ID>`, and `endpoint: <URL>`
2. The environment variables `COIIN_EAL_ID`,
`AUTH_KEY`, `AUTH_KEY_ID`, and `COIIN_EAL_ENDPOINT`,
can be set with the appropriate values
3. An ini-style credentials file can be provided at
`~/.coiin-eal/credentials` (or on Windows:
`%LOCALAPPDATA%\coiin-eal\credentials`) where the section name is the
coiin eal id, with values for `auth_key`, `auth_key_id`, and `endpoint`.
Additionally, you can supply a value for `coiin_eal_id` in the
`default` section to initialize the client for a specific chain
without supplying an ID any other way
```ini
[default]
coiin_eal_id = c2dffKwiGj6AGg4zHkNswgEcyHeQaGr4Cm5SzsFVceVv
[c2dffKwiGj6AGg4zHkNswgEcyHeQaGr4Cm5SzsFVceVv]
auth_key_id = JSDMWFUJDVTC
auth_key = n3hlldsFxFdP2De0yMu6A4MFRh1HGzFvn6rJ0ICZzkE
endpoint = https://35a7371c-a20a-4830-9a59-5d654fcd0a4a.eal.coiin.io
[28VhSgtPhwkhKBgmQSW6vrsir7quEYHdCjqsW6aAYbfrw]
auth_key_id = OGNHGLYIFVUA
auth_key = aS73Si7agvX9gfxnLMh6ack9DEuidKiwQxkqBudXl81
endpoint = https://28567017-6412-44b6-80b2-12876fb3d4f5.eal.coiin.io
```
## Logging
In order to get the logging output of the sdk, a logger must be set (by default all logging is ignored).
In order to set the logger, simply call `.setLogger` on the root of the require/import. For example, if you just wanted to log with `console` (i.e. stdout, stderr, etc), you can set the logger like the following:
```javascript
const sdk = require('coiin-eal-sdk');
sdk.setLogger(console);
```
In that example, `console` can be replaced with any custom logger as long as it implements `log`, `info`, `warn`, `debug`, and `error` functions.
To reset the logger back to default (so it doesn't output anymore), simply called `setLogger()` with no params.