ethereumの開発はhttps://github.com/ethereum上で行われています。
こちらにアクセスするとたくさんのリポジトリがありますが、一体何があるのでしょうか。
2018年4月現在では157のリポジトリ(!)が登録されていますが、その中でも開発が行われているものを見ていきたいと思います。(このブログは随時更新していきます)
go-ethereum
Official Go implementation of the Ethereum protocol
Ethereum Improvement Proposals(EIP)は、コアプロトコル仕様、クライアントAPI、および契約標準を含む、Ethereumプラットフォームの標準を記述します。
すべての現在および下書きEIPのブラウズ可能なバージョンは、公式のEIPサイトにあります。
ethereumネットワークに参加するには何らかのethereumクライアントを起動する必要があります。
その中でも人気一番なのは、このgo言語で書かれたgo-ethereum、すなわちgethです。
gethはこのリポジトリからcloneしてインストールすることもできますし、brew等を利用してもっと簡単にインストールすることも可能です。
それらについては別のブログで説明したいと思います。
remix-ide
Browser-Only Solidity IDE and Runtime Environment
RemixはブラウザベースのコンパイラとIDEで、ユーザはSolidity言語でEthereum契約を作成し、トランザクションをデバッグすることができます。試してみるにはhttps://remix.ethereum.orgにアクセスしてください。
Remixは多くのモジュールで構成され、このリポジトリにはRemix IDE(別名Browser-Solidity)があります。
こちらも重要なリポジトリの一つではないでしょうか。
上記にあるようにブラウザ上でスマートコントラクトを作成し、実装し、デバッグができます。
solidity
The Solidity Contract-Oriented Programming Language
Solinityは、スマートコントラクトを実装するための、契約指向の高水準言語です。 これはC ++、Python、JavaScriptの影響を受け、Ethereum Virtual Machine(EVM)をターゲットにしています。
ethereum上でスマートコントラクトを実行するための言語です。
上記にあるように様々な言語の影響をうけながら最適な記述方法が一から作られました。
このリポジトリからcloneしてコンパイルして利用することはあまりなく、http://remix.ethereum.org/やローカルでも動くremixを通して利用するのが一般的のようです。
web3.py
A python interface for interacting with the Ethereum blockchain and ecosystem.
Ethereumブロックチェーンとエコシステムと対話するためのPythonインターフェイス。
Generic JSON RPC仕様を実装したEthereum互換のPython APIです。
pythonとethereumを連携させたプログラムを作成したい場合に利用します。
mist
Mist. Browse and use Ðapps on the Ethereum network.
Ethereumネットワーク上でDapps(分散型アプリケーション)を特別な知識なく(つまり一般の人々が)容易に利用できるために開発されたブラウザ。
下記からバイナリをダウンロードして試すことができます。
でもまともに動いたことがないんですよね。
しかもいつまでたってもβ版です。
https://github.com/ethereum/mist/releases
下記はコンセプトについて紹介している動画です。
※このページは随時アップデートしていきます。