@kibcode/tonlib-node
TypeScript icon, indicating that this package has built-in type declarations

0.0.1-alpha.1 • Public • Published

TonLib Node JS

TonLib Node JS implementation based on FFI-NAPI library.

Supported Operating Systems

  • Ubuntu 18
  • Windows x86_64
  • Mac OS 10.15

Installation

yarn

yarn add @kibcode/tonlib-node

npm

npm i @kibcode/tonlib-node

Examples

Common usage

/**
 * This example shows common usage of TonLib Node JS client.
 */

import {Client} from './src';
import {testInitConfig} from './test-init-config';

(async () => {
  // Create tonlib client.
  const client = new Client();

  // Let's listen to all events coming from tonlib. It is worth paying attention
  // to the fact, that you will additionally receive messages which are request
  // responses as long as responses are events.
  //
  // So, when you call client.request, you will see its response event here too.
  client.on(data => console.log('Hey, I got some data!', data));

  // Send command to decrease count of logs, received from tonlib.
  client.send({'@type': 'setLogVerbosityLevel', 'new_verbosity_level': 1});

  // For future examples, lets define function which gets some address
  // information.
  function getAddressInformation(timeout: number) {
    return client
      .request({
        '@type': 'getAccountState',
        account_address: {
          '@type': 'accountAddress',
          account_address: 'EQAogu1aTrj2GWzA3BsHGxadmOTheuRubH5GY54XSRFr497x'
        }
      }, {timeout})
      .then(i => console.log('Address information:', i))
      .catch(e => console.log('Error while getting address information:', e));
  }

  // Then, lets try to get it.
  // At this stage, it is known that we will get an error connected with
  // tonlib internal initialization state.
  await getAddressInformation(10000);

  // So, to solve this problem, we should firstly send init request.
  await client.request(testInitConfig).then(r => console.log('Init result:', r));

  // Finally, we can now get address information.
  await getAddressInformation(30000);
})();

Usage with types generator

/**
 * This example shows how to use TonLib Node JS client along with types,
 * generated with TypesGenerator.
 *
 * You can find more information about generating types via separate
 * package @ton.js/types-generator or use already generated types placed in
 * @ton.js/types
 */

import {Client} from './src';
import {TonLib} from '@ton.js/types';

// Create TonLib Node client instance.
const client = new Client();

// Use send method with specified type which we received from generator.
// Type usage will make us to pass all the fields required for this type
// and as a result, we will not receive any error.
client.send<TonLib.Combinators.SetLogVerbosityLevel>({
  '@type': 'setLogVerbosityLevel',
  new_verbosity_level: 1,
});

Readme

Keywords

none

Package Sidebar

Install

npm i @kibcode/tonlib-node

Weekly Downloads

1

Version

0.0.1-alpha.1

License

MIT

Unpacked Size

16.6 MB

Total Files

28

Last publish

Collaborators

  • qbnk