はじめに
近畿大学 Advent Calendar 2019の14日目担当の@dionomusukoです。
今回は、Ethereumのプライベートネットでの操作とマイニングについて書こうと思います。
内容としては、Etehreum入門をやっていくのですが、初心者の方でも、わかりやすく書いていきたいと思います。(私も初心者なので)
スペック
- macOS mojave10.14.6
Gethのインストール
最初に、Ethereumネットワークで操作できるようにするために、Geth(go-ethereum)を入れます。
ターミナルで
$ brew tap ethereum/ethereum
$ brew install ethereum
と入力して、gethをインストールします。(brew tapについては、brew tapとはの記事がわかりやすく説明されていると思います。)
ここで
$ geth help
と入力して、バージョン等が返ってきたらインストールできています。
Genesisファイルの作成
Genesisファイルを作るために、ディレクトリを作ります。
$ mkdir eth_private_net
上記ディレクトリに移動します。
$ cd eth_private_net
myGenesis.jsonファイルを作ります。
$ vim myGenesis.json
vimで下記コードを入力してください。
{
"config": {
"chainId": 15
},
"nonce": "0x0000000000000042",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "",
"gasLimit": "0x8000000",
"difficulty": "0x4000",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x3333333333333333333333333333333333333333",
"alloc": {}
}
vimでは、iキーを押すと入力できます。
保存は、esc+:wqです。
コマンドに関しては、こちらの記事がわかりやすいです。
Genesisファイルの初期化
以下のコマンドを実行しブロックチェーン情報をgenesisファイルの内容で初期化します。
$ geth --datadir ~/eth_private_net init ~/eth_private_net/myGenesis.json
これで、ターミナルでlsを打つといくつかのディレクトリが作成されます。
gethの起動
それでは、gethを起動していきます。
下記のコマンドを入力してください。
$ geth --datadir="eth_private_net" --ipcdisable --port 50303 --rpcport 18101 --maxpeers 0 --nodiscover --networkid=15 console 2
のコマンドを打つとgethが起動できます。
アカウントの作成
下記のコマンドでアカウントを作ります。
hogeの部分は、パスワードなので忘れないようにしてください。
> personal.newAccount("hoge")
etherのマイニング(採掘)
下記コマンドで、マイニングを開始します。
> miner.start()
止めるときは
> miner.stop()
と入力します。
マイニングしたetherの確認
下記コマンドで、獲得したetherの確認ができます。
> eth.blockNumber
gethを止めるときは
> exit
と入力します。
以上で、プライベートネットワークでのマイニングができました。😆
参考サイト
最後に
近畿大学アドベントカレンダーを企画していただいた方々ありがとうございました。
今回は詳細な説明等を省いているため、もしこの記事で興味などを持っていただけたら、参考サイトなどを確認してください。とてもわかりやすく書かれています。