Чтобы легко понять, что такое EOSJS, представьте его как библиотеку, которая была создана для простого управления блокчейном EOS с помощью Javascript. Если пойти немного глубже, можно сказать, что он был создан для простого использования HTTP API EOS (nodeos). (Web3.js в Ethereum, neon-js в Neo)

Поскольку EOSJS также использует HTTP API из EOS, выбор BP имеет решающее значение. (Время отклика, доступность и т. Д.)

Установить

Есть два способа установки.

Простая установка с помощью NPM

> npm install eosjs

Использование CDN

EOS Connect

EOS Connect с помощью EOSJS

Если EOS не запущен на локальном хосте, вы получите следующую ошибку, если запустите приведенный выше код. (Наличие неправильного httpEndpoint EOS для подключения также будет иметь ту же ошибку, что и ниже.)

{ FetchError: request to http://127.0.0.1:8888/v1/chain/get_info failed, reason: connect ECONNREFUSED 127.0.0.1:8888
    at ClientRequest.<anonymous> (/Users/mayajuni/Projects/eos-scan/node_modules/node-fetch/index.js:133:11)
    at ClientRequest.emit (events.js:182:13)
    at Socket.socketErrorListener (_http_client.js:382:9)
    at Socket.emit (events.js:182:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)
  name: 'FetchError',
  message:
   'request to http://127.0.0.1:8888/v1/chain/get_info failed, reason: connect ECONNREFUSED 127.0.0.1:8888',
  type: 'system',
  errno: 'ECONNREFUSED',
  code: 'ECONNREFUSED' }

Mainnet Connect

Если вы попытаетесь подключиться, как указано выше, появится сообщение об ошибке, как показано ниже.

Даже если появляется ошибка, getInfo возможен, поэтому давайте проверим и введем chainId, используя это.

В случае с основной сетью aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906 является общим идентификатором цепи, поэтому введите его.

Если вы подключаетесь с использованием вышеуказанного метода, первый get_info api вызывается один раз, как показано ниже. (Сначала я не очень хорошо знал и каждый раз устанавливал соединение, что приводило к огромному объему использования данных на мобильном L)

Вы можете проверить адрес основной сети на https://api.eosnewyork.io. Поскольку каждый БП имеет разный объем предлагаемой информации, время отклика и т. Д., Очень важно найти и выбрать БП, который соответствует вашим потребностям. (Также существует метод прямого получения полного узла и подключения).

Connect Config

Подробное описание этой части есть на гитхабе. (конфигурация github)

getInfo - api

Вы можете получить основную информацию о сети EOS. Код показан ниже.

Интересный факт: все другие API-интерфейсы основаны на Promise, но только getInfo является методом обратного вызова.

Возвращаемое значение показано ниже.

{
    server_version: '36a043c5',
    chain_id:
        'aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906',
    head_block_num: 5469047,
    last_irreversible_block_num: 5468711,
    last_irreversible_block_id:
        '00537227a657d1f4fd74de877e9ad1a3839540ece45eedeaf177b20e51b2da1b',
    head_block_id:
        '005373770504c59e992214b3056c7bdabb07c53c5a9c4785909b90fe595a119f',
    head_block_time: '2018-07-12T08:58:05.500',
    head_block_producer: 'helloeoscnbp',
    virtual_block_cpu_limit: 200000000,
    virtual_block_net_limit: 1048576000,
    block_cpu_limit: 199900,
    block_net_limit: 1048576
}

Если вы не знаете упомянутый выше идентификатор цепи (EOS Connect), вы можете получить и использовать идентификатор цепи через getInfo.

Этот пост был написан легко, потому что это всего лишь первый шаг в использовании EOSJS install, connect и getInfo. В будущем мы посмотрим на EOSJS более глубоко.

ITAM Games - блокчейн-платформа для прозрачной игровой экосистемы

Подпишитесь на ITAM Games и получайте самую свежую информацию.

Посетите Telegram ITAM Games, чтобы узнать о ITAM Games и Blockchain. Присоединяйтесь, перейдя по ссылке ниже! 👫

Сайт: https://itam.games
Telegram: https://t.me/itamgames