AugurにJavaScriptで接続する

Augurには「augur.js」というJavaScriptのライブラリが提供されており、短いコードで簡単に接続して情報を取得する事が可能です。
APIリファレンスが公式ドキュメントにあります。

カテゴリ一覧を取得するサンプルコード

以下は、アプリ経由でAugurに接続し、カテゴリ一覧を取得するサンプルプログラムです。
アプリを起動してテストネット(rinkeby)に接続してから、nodeで下記を実行します。

// Augurアプリを使ってローカルに接続ポイントを作り、テストネットのカテゴリ一覧を取得する。
// 実行前にAugurアプリを起動し、テストネットに接続しておくこと。
// by jansnap https://qiita.com/jansnap

var Augur = require("augur.js");
var augur = new Augur();

// メインネット
// http://127.0.0.1:8080/?augur_node=ws%3A%2F%2F127.0.0.1%3A9001ðereum_node_http=https%3A%2F%2Fgethnode.com%2Fhttpðereum_node_ws=wss%3A%2F%2Fgethnode.com%2Fws#/categories
//var ethereumNode = { http: "https://gethnode.com/http", ws: "wss://gethnode.com/ws" };
//var augurNode = "ws://127.0.0.1:9001";

// テストネット(rinkeby)
// http://127.0.0.1:8080/?augur_node=ws%3A%2F%2F127.0.0.1%3A9001ðereum_node_http=https%3A%2F%2Frinkeby.augur.net%2Fethereum-httpðereum_node_ws=wss%3A%2F%2Frinkeby.augur.net%2Fethereum-ws#/categories
var ethereumNode = { http: "https://rinkeby.augur.net/ethereum-http", ws: "wss://rinkeby.augur.net/ethereum-ws" };
var augurNode = "ws://127.0.0.1:9001";

// connect
function connect(){
  return new Promise((resolve,reject) => {
    augur.connect({ ethereumNode, augurNode }, (err, connectionInfo) => {
      resolve();
    })
  })
}

// get address set from an Augur Node.
function getSyncData(){
  return new Promise((resolve,reject) => {
    augur.augurNode.getSyncData(
      function(error, result) {
        console.log('getSyncData result=%o', result);
        resolve(result['addresses']['Universe']);
      });
  })
}

// get categories.
function getCategories(universe){
  return new Promise((resolve,reject) => {
    augur.markets.getCategories({
      universe: universe,
      sortBy: "popularity",
      isSortDescending: true
      }, function (error, categories) {
        console.log('getCategories result=%o', categories);
        resolve();
      });
  })
}

connect()
.then(() => getSyncData())
.then((universe) => getCategories(universe));

大まかな流れは、以下の通りです。

APIリファレンスにはサンプルコードも載っているので、接続できてしまえば色々できそうです。

JavaScriptの書き方を教えてください。。。

カテゴリを取得した後、Ctrl-Cで止めないと終了しません。しかし、用事がすんだらdisconnectして終了したいです。
プログラムの最後に「process.exit(0);」を入れると、connectする前に終了してしまいました。
分かる方いらっしゃいましたら、コメントいただけますとありがたいです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です