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リポジトリ
- Augur JavaScript API documentation
- http://docs.augur.net のソース。
-
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 を使うようにとのこと。
-
- 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リポジトリ
- Official Go implementation of the Ethereum protocol https://geth.ethereum.org
- forked from ethereum/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による監査。
プロジェクトのホームページ
-
landing-pageリポジトリ
- Augurのホームページ(https://www.augur.net/ )のソース。htmlとか画像とか。
-
brandingリポジトリ
- ロゴ画像素材。
その他のプロジェクト
-
rep-migrationリポジトリ
- 2018年7月10日のリリースで行われた、REPトークンの移行のためのプロジェクト。
- 2018/07/10 Augurのローンチを参照。
(調査中)
-
ethereum-nodesリポジトリ
- Docker images for geth and Parity
- Augur’s Ethereum Nodes
-
- Reliable stream of Ethereum blocks
- forked from ethereumjs/ethereumjs-blockstream
- forkした理由は不明。
-
- Makes store.subscribe available to Redux thunks
- コードを静的解析して、最適化するツール?
まとめ
重要な、augur.js/core/Node/UIの4つのリポジトリを調べておけば、あとは適宜参照で良さそうです。
次回は、JavaScriptでAugurに接続し、マーケット情報を得るやり方を説明します。