Bitcoin等で何かと話題のブロックチェーン。
その一種であるEthereumについて調べた内容を備忘録的にまとめておきます。
Ethereumクライアント
Ethereumを利用するにはP2Pネットワークに参加するためのクライアントが必要になります。
このクライアントは、Ethereumの仕様に沿っていればネットワークに参加できるため、
実装方法にはいくつかの種類があります。
(現在の推奨クライアントはGo言語実装の「Geth
」)
ここからは、Ethereumクライアントの実装方式とそのgithubリンクを列挙していきます。
実装方式
go-ethereum
Go言語での実装。
公式で推奨されているクライアントであり、
Ethereumを使ってみる場合におそらく始めに触るであろうクライアントです。
参考:クライアント「Geth」の公式サイト
cpp-ethereum
C++での実装。
公式のGitHubでもピン留めされており、
wikiなども用意されているクライアント。
参考:クライアントの公式サイト
Parity
Rust言語での実装。
ウォレットの脆弱性が話題になっていますが、
その内容についてはここでは触れません。
詳しくは別の方が書かれている記事にお任せします。
参考:クライアントの公式サイト
pyethereum / pyethapp
https://github.com/ethereum/pyethereum
https://github.com/ethereum/pyethapp
pythonでの実装。
公式でサイトなどは準備中とのアナウンスがされています。
pyethereumがネットワークの作成、pyethappがetehereumネットワークへの接続(クライアント)です。
ethereumj
Javaでの実装。
利用したことはないので詳細は不明です。。
参考:クライアントの公式サイト
web3.js
Javascriptでの実装。
正確には、JavascriptのAPI。
類似のAPIとしてweb3.py(python API)やweb3j(Java API)が存在する。