AugurのGitHubリポジトリの概要

AugurプロジェクトのGitHubリポジトリには、32個のリポジトリがあります。
重要なリポジトリを中心に概要をまとめました。

  • システム全体で、インストール環境として、Python 2.7.6+, Node.js 8+, and Solidity 0.4.24が必要との事です。(augur-coreリポジトリに書いてありました)

重要なリポジトリ

  • augurリポジトリ

    • Augurプロトコルの概要説明のREADME.mdが入っている。
  • augur.jsリポジトリ

    • Augur JavaScript API
    • ほとんどが.jsファイルだが、script/に.shファイルもある。
    • src/connect/*src/rpc-interface.jsでethrpcを生成しているので、JSON-RPC部分も含むかもしれない。GitHub内の ethereumjs/ethrpcリポジトリ も参照。
var Augur = require("augur.js");
var augur = new Augur();

var ethereumNode = { http: "http://127.0.0.1:8545", ws: "ws://127.0.0.1:8546" };
var augurNode = "ws://127.0.0.1:9001";

augur.connect({ ethereumNode, augurNode }, (err, connectionInfo) => {
  // do stuff
});
  • augur-coreリポジトリ

    • Ethereumのコントラクトが入っている。
    • testsディレクトリに、レポーティングや取引のテスト、各関数のテストが書いてある。
    • Oyenteというスマートコントラクト の解析ツールを使っている。
    • ロードマップや用語集へのリンクもREADME.mdに書かれている。
    • source/contracts/factories: コンストラクタ for universes, markets, fee windows, etc.
    • source/contracts/libraries: データ構造 used elsewhere in the source code.
    • source/contracts/reporting: Creation and manipulation of universes, markets, fee windows, and reporting-related tokens.
    • source/contracts/trading: Functions to create, view, and fill orders, to issue and close out complete sets of shares, and for traders to claim proceeds after markets are closed.
  • Augur Nodeリポジトリ

    • ノード。ブロックチェーンとやりとりし、UIとの通信も行う。
    • ローカルDB(sqliteやPostgreSQL)の設定も含む。
    • デフォルトでは、httpやWebSocketでブロックチェーンと通信する。
    • Rinkebyテストネットに接続する。
    • Knex.js というSQL文生成?ライブラリを使っている。
  • Augur UIリポジトリ(augur | client)

    • ブラウザとのインタフェース。
    • JavaScript。
    • ファイル名が「状態/機能名」で入っているので、リバースエンジニアリングする前にファイル名検索するとよい。
  • Augur Appリポジトリ

    • デスクトップ・アプリ
    • Augur UIとAugur Nodeを含む
    • MacOS/Windows/Linux版のバイナリがある。
    • ログ出力機能もある。

ドキュメント

  • docsリポジトリ

  • whitepaperリポジトリ

    • 各国語のホワイトペーパー。LaTeXやPDFファイル。
  • EIPsリポジトリ

    • イーサリアムの改善提案のドキュメント
    • forked from ethereum/EIPs

ウォーレット

  • MyCryptoリポジトリ

    • イーサリアムやERC-20トークンを扱うためのウォーレット?
    • forked from MyCryptoHQ/MyCrypto
  • etherwalletリポジトリ

    • MyEtherWallet
    • forked from kvhnuke/etherwallet

関連プロジェクト

  • speedomaticリポジトリ(旧:augur-abi)

    • augur用のスマートコントラクト(augur-core)にアクセスするためのABI関連のユーティリティ
    • 一般的なABIを使いたい場合は、ethereumjs-abi を使うようにとのこと。
  • eth-contract-metadataリポジトリ

    • MetaMaskでREPトークンを表示できるようにするための画像。申請するとMetaMaskに取り込んでもらえる。
    • forked from MetaMask/eth-contract-metadata
  • augur-ui-extractorリポジトリ

    • Augur UI のDockerファイルを作成するスクリプト?
  • augur-ui-sandboxリポジトリ

    • 新しいUIや機能を試すための場所。
    • 2017年7月から更新されていない。
  • electron-metamask-boilerplateリポジトリ

    • Electron (Muon) + Metamask Boilerplate
    • ElectronとMetaMaskでデスクトップアプリを作る際に使うひな型。
  • Soliumリポジトリ

    • Solidityの構文チェックをするlinter。
    • forked from duaraghav8/Solium
  • solidity-flattenerリポジトリ

    • Solidityのファイルを、1ファイルにまとめるツール。依存関係も解決するぽい。
    • forked from BlockCatIO/solidity-flattener
  • go-ethereumリポジトリ

  • pyethereumリポジトリ

    • EthereumのPython用ライブラリ?
    • 次世代暗号ネットワーク(?)
    • forked from ethereum/pyethereum
  • py_eccリポジトリ

    • Implements optimal ate pairings over the bn_128 curve.
    • forked from ethereum/py_ecc
    • Python implementation of ECC pairing and bn_128 curve operations
    • (Python用の数学関連のライブラリぽいが、なぜforkしたのか不明)
  • bignumber.jsリポジトリ

    • 整数の精度をいくらでものばせるようにするJavaScriptライブラリ。
    • forked from MikeMcl/bignumber.js
  • react-blockiesリポジトリ

    • イーサリアムのウォーレットからアイコン画像(Identicon)を作るためのReactコンポーネント。

テスト項目

  • augur-walkthroughリポジトリ

    • テスト手順やチェックリストが書かれている。
  • augur-bountiesリポジトリ

    • バグ報告したり、ツールやデバッガの実装をすると、懸賞金をもらえる。
  • augur-auditsリポジトリ

    • augur-coreやSolidity Compilerのコード監査の記録。ZeppelinやCoinspectによる監査。

プロジェクトのホームページ

その他のプロジェクト

(調査中)

  • ethereum-nodesリポジトリ

    • Docker images for geth and Parity
    • Augur’s Ethereum Nodes
  • ethereumjs-blockstreamリポジトリ

    • Reliable stream of Ethereum blocks
    • forked from ethereumjs/ethereumjs-blockstream
    • forkした理由は不明。
  • redux-thunk-subscribeリポジトリ

    • Makes store.subscribe available to Redux thunks
    • コードを静的解析して、最適化するツール?

まとめ

重要な、augur.js/core/Node/UIの4つのリポジトリを調べておけば、あとは適宜参照で良さそうです。

次回は、JavaScriptでAugurに接続し、マーケット情報を得るやり方を説明します。

コメントを残す

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