Go
Ethereum
geth
genesis.json

Macにgeth(go-ethereum)をインストールする時にやったこと

More than 1 year has passed since last update.

自分用メモ。

環境:

MacOS High Sierra 10.13.3

手順の参考にしたもの:

https://medium.com/shokone/https-medium-com-shokone-building-a-hello-world-smart-contract-on-ethereum-f303c7d05f0


CLI での geth install マニュアル:

https://ethereum.org/cli


Homebrewでインストール


Homebrewをアップデート

brew update

brew upgrade


ethereumのインストール

brew tap ethereum/ethereum

brew install ethereum


gethのビルド

いつまでたってもbrew install ethereumの実行が終わらないのでCtrl-Cで中断。

標準出力されたコマンドを見ると、~/Library/Caches/Homebrew/ethereum--git/build/bin

にインストールされていたため、そこに移動して以下のコマンドを実行

$cd ~/Library/Caches/Homebrew/ethereum--git/

$make geth

buildフォルダが生成されたので、そこのパスを取得し、~/.bash_profileでパスのexportを記述し、sourceコマンドを実行

$vi ~/.bash_profile

$source ~/.bash_profile


開発環境をローカルに構築する

以下のコマンドでローカル環境が起動する

'exit'で終了できる

$ geth --datadir ./.ethereum/devnet --dev console


genesisブロックの作成

プライベートネットワーク用のフォルダにgenesis.jsonを作成する

{

"config": {
"chainid": 33,
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"nonce": "0x0000000000000033",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"difficulty": "0x400",
"alloc": {},
"coinbase": "0x3333333333333333333333333333333333333333",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x",
"gasLimit": "0x8000000"
}

以下のコマンドを叩いてGethの初期化を行う。

eth --datadir ~/geth/eth_private/ init ~/geth/eth_private/genesis.json 

以下のメッセージが出てきたら成功

Successfully wrote genesis state