##やったこと:
Raspberry piにEthereumクライアント(geth)をインストールする。
インストールしたgethから既存のウォレットアドレスをインポートして残高を確認してみる。
##使うもの:
Raspberry Pi model B (512MB)
(OS:Raspbian GNU/Linux 8)
##方針:
Raspberry piのCPUはARMを使用しているが、gethの公式でもバイナリが提供されているので、それを使用する。
##Step1:ダウンロード:
Raspberry pi(model B) はARMv6のCPUなので、gethのバイナリもそれに合わせてダウンロードする。
(Raspberry pi3はARMバージョンが違うので注意)
$ wget https://gethstore.blob.core.windows.net/builds/geth-linux-arm6-1.7.2-1db4ecdc.tar.gz
##Step2:インストール:
/usr/localにgethをインストールする。
$ sudo tar -C /usr/local -xzf geth-linux-arm6-1.7.2-1db4ecdc.tar.gz
PATHを通す
~/.bashrcに次を追記
export PATH=$PATH:/usr/local/geth
bashrcを再度読み込み、PATHを更新する
$ source ~/.bashrc
今後のバージョン変更に備えて、シンボリックリンクを作る。
(何度もPATHを設定し直したくないので、バージョンが変わったとしてもシンボリックリンクを作りなおせば
PATHが通るようにしておく)
$ sudo ln -s /usr/local/geth-linux-arm6-1.7.2-1db4ecdc /usr/local/geth
##Step3:gethの実行
gethを実行した時に、チェーンデータを格納するディレクトリを作っておく。
同期モードはLightクライアントモードで動かす。
$ mkdir light_mainnet
$ geth --datadir "~/light_mainnet" --syncmode "light" console --rpc --rpcaddr "localhost" --rpcport "8545" --rpcapi eth,web3,personal
別にコンソールを開いて確認したい場合は、geth attachを使用する。
$ geth attach ipc:/home/umidachi/light_mainnet/geth.ipc
##Step4:確認
ウォレットアドレスをgethにインポートして残高を確認してみる。
すでにウォレットを持っていて、ラズパイからも残高を見れるようにするためには
MyEtherWalletから秘密鍵を取得して、インポートするのが手っとり早い。
(この秘密鍵は暗号化されていないので知られると危険。取り扱いは注意すること。)
下記のURLにアクセスして、自分の秘密鍵を確認しておく(下図赤枠)。
MYEtherWallet: https://www.myetherwallet.com/#view-wallet-info
geth上でimportRawKeyを使ってラズパイ用に使いたいパスワードを設定する。
> web3.personal.importRawKey("<秘密鍵>","<設定したいパスワード>")
(出力例)
"0x○○○○○○○○○〜" (←インポートしたウォレットのアドレスが出力される。)
インポートしたアドレスがgethに反映されているか確認する。
> personal.listAccounts
(出力例)
["0x○○○○○○○○○〜"]
インポートしたウォレットアドレスの残高が確認できたらOK。
> eth.getBalance(eth.accounts[0])
(出力例)
312892010075299350
上記のとおり残高が出力できた。(ETHに換算すると10^18を割った値になる。実際0.31ETH程度)
##参考にしたもの:
http://raspnode.com/diyEthereumGeth.html
https://github.com/ethereum/wiki/wiki/Raspberry-Pi-instructions
https://ethereum.github.io/go-ethereum/install/
https://github.com/ethereum/go-ethereum/wiki/Installation-Instructions-for-ARM
http://redcorner.io/blog/building-ethereum-light-client-on-chip/
https://geth.ethereum.org/downloads/
https://ja.wikipedia.org/wiki/Raspberry_Pi