3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Raspberry PiでEthereumクライアント(geth)をインストールする。

Last updated at Posted at 2017-10-15

##やったこと:
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に次を追記

~/.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

Screenshot from 2017-09-17 20-17-45.png

geth上でimportRawKeyを使ってラズパイ用に使いたいパスワードを設定する。

geth
> web3.personal.importRawKey("<秘密鍵>","<設定したいパスワード>")
(出力例)
"0x○○○○○○○○○〜"  (←インポートしたウォレットのアドレスが出力される。)

インポートしたアドレスがgethに反映されているか確認する。

geth
> personal.listAccounts
(出力例)
["0x○○○○○○○○○〜"]

インポートしたウォレットアドレスの残高が確認できたらOK。

geth

> 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

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?