プログラミング

【初心者向け】gethを立ち上げてからアカウントの作成方法をまとめてみた

gethを用いてノードを立てることができ、ネットワークに参加することができます。開発フェーズによってアクセスするネットワークを変更することで、スムーズにスマートコントラクトの検証を行うことができます。前回は、起動方法インストールから起動方法についてまとめ、今回は、アカウントの作成方法についてまとめました。

2019.09.16
【初心者向け】gethを立ち上げてからアカウントの作成方法をまとめてみた

arrow_drop_down 目次

はじめに

 前回の記事の続きなので、gethのインストールから起動までをしていない方は読んで見てください。今回は、gethを起動させ、アカウントの作成までの流れを説明、マイニングするための準備をしていきます。

gethの起動

まずは、gethを起動しましょう。

> geth --networkid "15" --nodiscover --datadir "~/eth_private" console 2>> ~/eth_private/geth_err.log

をターミナルで打ち込み、

Welcome to the Geth JavaScript console!
instance: Geth/v1.8.22-stable/darwin-amd64/go1.11.5
 modules: admin:1.0 debug:1.0 eth:1.0 ethash:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0

がでれば、起動成功となります。

ここからは、gethコンソール上での作業となります。

Genesisブロック内容確認

 まずは、引数に0を指定すれば、genesisブロックの確認をするため、先程用意した「genesis. json」が適応されているか確認しましょう。

> eth.getBlock(0)

結果は、

{
  difficulty: 0,
  extraData: "0x00",
  gasLimit: 20000000,
  gasUsed: 0,
  hash: "0x76d747ec34337ec5677b1aba554769485e160663eee3c63486400bddc21a5e65",
  logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  miner: "0x0000000000000000000000000000000000000000",
  mixHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
  nonce: "0x0000000000000042",
  number: 0,
  parentHash: "0x0000000000000000000000000000000000000000000000000000000000000000",
  receiptsRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
  sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
  size: 505,
  stateRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
  timestamp: 0,
  totalDifficulty: 0,
  transactions: [],
  transactionsRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
  uncles: []
}

となっておけば確認終了です。

アカウントの作成

 Gethのコンソール上でGathコマンドを使って新規のアカウントを作成していきます。EthereumにはEOA(Externally Owned Account)と、Contract2種類のアカウントが存在します。今回は、EOAのアドレスを出力したいと思います。

パスワードは、自分で作成してください。

> personal.newAccount("password")

結果は、

"0x2554a01435e6304b4bc00ec9bc25f5184c35c904"

の出力されると、成功です。ただし、毎回異なるアカウントが作成されるので、アカウントが上記と違っていても問題ありません。

こちらを残り3回くり返します。

> personal.newAccount("password")

2回目の結果

"0x20a0b8c676bdf803f0c3fc61755cfa536dbd443d"
> personal.newAccount("password")

3回目の結果

"0x628e9e4c85643a23fffeac8955b782f65154a4ec"

4回目の結果

"0x38288fc39b1fe15faf7df76c75af0d86485789c4"

作成したアカウントが正しいのか確認しましょう。

> eth.accounts

結果

["0x2554a01435e6304b4bc00ec9bc25f5184c35c904", "0x20a0b8c676bdf803f0c3fc61755cfa536dbd443d", "0x628e9e4c85643a23fffeac8955b782f65154a4ec", "0x38288fc39b1fe15faf7df76c75af0d86485789c4"]

となっているので4個のアドレスが作成されています。

また、インデックス指定で、アカウント確認する方法は、

> eth.accounts[0]

結果は、

"0x2554a01435e6304b4bc00ec9bc25f5184c35c904"

なので大丈夫です。

Coinbase(etherbase)アカウント

続いて、Coinbase(etherbase)アカウントの設定していきます。。

Coinbase(etherbase)アカウントとは、各ノードで採掘を行う際にその報酬を紐づけるEOAのアドレスとなっております。以下のコマンドで、coinbase(etherbase)アカウントのEOAアドレスを確認できます。デフォルトでは、インデックス0のアカウントに設定されております。

> eth.coinbase

結果は、

"0x2554a01435e6304b4bc00ec9bc25f5184c35c904"

と、でていれば大丈夫です。

また、coinbaseを変更することも可能です。

> miner.setEtherbase(eth.accounts[1])

結果は、

true

> eth.coinbase

結果は、

"0x20a0b8c676bdf803f0c3fc61755cfa536dbd443d"

となっていれば変更終了です。

インデックスを0に戻す時は、

> miner.setEtherbase(eth.accounts[0])

結果は、

true

> eth.coinbase

結果は、

"0x2554a01435e6304b4bc00ec9bc25f5184c35c904"

となっていたら、インデックス0に戻ります。

まとめ

いかがでしたか?アカウントの作成方法について今回は解説していきました。次回は、マイニングをしていきたいと思います。

「PR」自身の力でブロックチェーンアプリケーションを作ってみませんか?

自身の手でブロックチェーンアプリケーションを作りたいと考えている方は、プログラミングスクールに通ってみてはいかかでしょうか?

  • ブロックチェーンを学んで、今までにない何か作ってみたい
  • 今のうちにブロックチェーンの概念を理解し、開発もできるようになっておきたい
  • プログラミング初心者だけどブロックチェーンアプリケーションを作ってみたい
  • 独学で本や記事を見ながら勉強したけど、途中で一度挫折してしまったためメンターをつけて学びたい

と感じてる方は、BLOCKCHAIN Code Campがおすすめです。

BLOCKCHAIN Code Campとは

プログラミンング初心者からでもブロックチェーンアプリケーションを作ることができるオンライン完結型のプログラミングスクールです。現役のブロックチェーンエンジニアが1対1でメンターとなって、最短3ヶ月で、ブロックチェーンの概念や、ブロックチェーンアプリケーションを作れるようになれます。

現在無料相談会も実施しております。 少しでもご興味ある方は、こちらのサイトよりお問い合わせください。