構成eosjsをインストールし、EOSブロックチェーンに接続する方法


EOSJSが何であるかをより容易に理解するために,JavaScriptでEOSブロックチェーンを簡単に制御できるライブラリと見なすことができる.少し深く入ると、使いやすいEOS(nodeos)のHTTP APIと言えるでしょう.(web 3.jsがEthereum,neon-jsがNeoのように)
EOSJSは、EOSからのHTTP APIも使用するため、BP選択が重要である(応答時間、可用性など).
インストール
インストール方法は2つあります.
NPMでインストール
> npm install eosjs

CNSの使用
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/eos.min.js"
integrity="sha512-QX0dPq5pyX33coEuy5x1UqKHFDeveQYMp7Sz+qOUwRL9mol4QDvViU+QAjd+k6P7QjPjrDCoyhK1kz2GDxCP9A=="
crossorigin="anonymous">script>

EOSブロックチェーンプラットフォームへの接続
EOSJSを使用してEOSプラットフォームに接続する
const Eos = require('eosjs');

// Use as below to access localhost Testnet.
//          ,   localhost Testnet.
const eos = Eos();

EOSがlocalhostで実行されていない場合、上のコードを実行すると、次のようなエラーメッセージが表示されます(接続エラーのあるEOS httpEndpointでも次と同じエラーが発生します):
{ FetchError: request to http://127.0.0.1:8888/v1/chain/get_info failed, reason: connect ECONNREFUSED 127.0.0.1:8888
    at ClientRequest. (/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' }

プライマリ・ネットワークへの接続(パブリック・チェーン)
const Eos = require('eosjs');

const eos = Eos({httpEndpoint: 'mainnet httpEndpoint'});

上記のように接続しようとすると、次のエラーメッセージが表示されます.
エラーが発生してもgetInfoが可能なので、これを使用してchainIdをチェックして入力します.共通の:
In the case of Mainnet, aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906 is the common chainId, so enter this.

上記の方法を使用して接続する場合、以下に示すように、第1のget_info APIが呼び出される.△最初はよくわかりませんでしたが、毎回接続して、モバイル側に大量のデータ使用をもたらしました.
あなたはhttps://api.eosnewyork.ioで、パブリックチェーンアドレスをチェックします.BPごとに異なる情報提供、応答時間などがあるので、必要なBPを見つけて選択することが重要です.(完全なノードと接続を直接取得する方法でもあります).
eosjs接続EOSの構成
const Eos = require('eosjs');

const config = {
  chainId: null, // 32 byte (64 char) hex string
  keyProvider: ['PrivateKeys...'], // WIF string or array of keys..
  httpEndpoint: 'http://127.0.0.1:8888',
  expireInSeconds: 60,
  broadcast: true,
  verbose: false, // API activity
  sign: true
};

const eos = Eos(config);

この部分の詳細な説明はgithubにあります.(github-configuration)
getInfo—api
EOSの基本的なネットワーク情報を得ることができます.コードは次のとおりです.
const eos = Eos().getInfo((error, info) => {
    console.log(error, info);
});

興味深いことに、他のAPIは承諾メカニズムに基づいているが、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
}

上記のchainId(EOS接続に必要なもの)を知らない場合は、getInfochainIdを取得して使用することができます.
EOSJSのインストール、接続、getinfoの最初のステップを使用するだけなので、この文章は簡単に書かれています.今後はEOSJSをさらに深く研究していきます.
また、「EOSスマート契約とDApp開発入門」のチュートリアルはすでにオンラインになっており、勉強が好きで、待ちきれないことを急いで体験することができます.
EOSチュートリアル
このチュートリアルでは、EOSブロックチェーンの中心化アプリケーションの開発に迅速にアクセスできます.内容は、EOSツールチェーン、アカウントと財布、発行コイン、スマート契約の開発と導入、コードとスマート契約の相互作用などの核心知識点をカバーし、最後にReactとEOSの各知識点を総合的に運用して、サインDAppの開発を完了します.
  • web 3 jチュートリアルは、主にjavaとandroidプログラマーに対してブロックチェーンを太坊で開発したweb 3 jの詳細です.
  • 以太坊チュートリアルでは、主にスマート契約とdappアプリケーション開発を紹介し、入門に適しています.
  • は太坊で開発され、主にnode.js、mongodb、ブロックチェーン、ipfsを使用して中心化された電子商取引DApp実戦を実現することを紹介し、進級に適している.
  • pythonイーサ坊は、主にpythonエンジニアがweb 3.pyを使用してブロックチェーンイーサ坊の開発を行う詳細な説明です.
  • php以太坊は、主にphpを使用してスマート契約開発のインタラクションを行い、アカウントの作成、取引、振替、コイン開発、フィルタとイベントなどの内容を紹介しています.

  • 汇智网オリジナル翻訳、転載は出典を明記してください.テキスト