2024.11.14
いまさらNode.jsを知ろう~環境構築も~
2017.06.01
開発環境・ツールCentOSにEthereum開発環境を構築 – エンジニアがブロックチェーンを学んでく。その2
坂東です。
エンジニアがEthereum(イーサリアム)を勉強するには、まず動作環境を作る必要があります。
仮想通貨の方のEthereumが動いているのは、パブリックネットワーク。
開発環境はそこから切り離したプライベートネットワークに作るそうです。バグっても安心ですね。
Ethereumネットワークを動かすクライアントはいくつかあるようですが、Go言語で作られた「geth」が有名なようです。
環境を作っていきます。
■CentOSを準備
なんでも良いですが、わたしは「さくらのクラウド」を使います。
「CPU:2core」「メモリ:2GB」「SSD:20GB」の構成で立ち上げます。
「1Core」だとマイニングが動かず開発機に使えませんでした。
■Go言語をインストール
yumのはなんだか古いので、最新版を拾ってきます。
wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
tar -C /usr/local -xvzf go1.8.3.linux-amd64.tar.gz
vi ~/.bashrc
末尾に以下を追加
export PATH=$PATH:/usr/local/go/bin
export GOPATH=”$HOME/work”
■gethをインストール
gitから最新版を拾ってきます。
けっこう仕様変更があるみたいなので、参考書ベースで学ぶ方は古いバージョンを入れた方が分かりやすいでしょう。
git clone https://github.com/ethereum/go-ethereum
cd go-ethereum
make geth
cp build/bin/geth /usr/local/bin
■gethを起動
データディレクトリを作って、指定して、起動。
mkdir eth_data
geth –networkid “123” –datadir “eth_data” –testnet
「–testnet」はマイニングの負荷を下げる開発機用のオプションらしいです。
色々操作するにはgethコンソールがあり、これでつなぎます。
geth attach ipc:eth_data/geth.ipc
起動時に「–console」をつけるとコンソールモードで動くので、開発ならそれが楽かもしれません。
■動作確認
ざっくりと。詳しくは参考書や他のページを見て下さい。
#ユーザー作成
personal.newAccount(“testuser1”)
personal.newAccount(“testuser2”)#ロック解除
personal.unlockAccount(eth.accounts[0], “testuser1”, 0)
personal.unlockAccount(eth.accounts[1], “testuser2″, 0)#マイニングでお金を生み出す。初期化に結構時間かかる
miner.start()#残高確認。初期状態ではaccounts[0]にお金が溜まる
eth.getBalance(eth.accounts[0])# 送金テスト
eth.sendTransaction({
from:eth.accounts[0],
to:eth.accounts[1],
value: web3.toWei(100,”ether”)
})# トランザクション(送金待ち)タスクの確認。処理に時間かかる。
eth.pendingTransactions# 残高確認
eth.getBalance(eth.accounts[0])
eth.getBalance(eth.accounts[1])
ここまでは仮想通貨的な動きだけですが、つぎは自分のコードを動かしていきたいと思います。
おわり。
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索