【イーサリアム】クライアントソフト geth を使ってみた。

公開日: : 最終更新日:2020/11/19 仮想通貨 , , , ,

イーサリアムのクライアントソフト geth をインストールして使ってみました。

クライアントソフトを入れることによって、Ethereum ネットワークに参加することができます。

OSLinux にしました(Windows はインストールが少し面倒だと書いてあったので)。

Windows10 に Linux(Ubuntu)を入れる方法については以前にまとめました。
【WSL】Windows10 に Linux(Ubuntu) を入れてみた。

geth のインストール

まずは、geth をインストールします。

Genesis ブロックの作成

ローカル環境に1番最初のブロックの Genesis を作成します。

以下のような genesis.json ファイルを用意します。

以下のコマンドで初期化を行います。

以下のようなエラーが出てしまいました。

Fatal: Failed to write genesis block: unsupported fork ordering: eip150Block not enabled, but eip155Block enabled at 0

英語のサイトで調べ、genesis.json ファイルを以下のように修正しました。

無事に「Successfully…」と表示され、初期化できました。

INFO [07-17|11:11:21.323] Successfully wrote genesis state database=lightchaindata hash=”743236…b31e94″

geth の起動

Warning や ERROR がちょくちょくでましたが、「Welcome to the Geth JavaScript console!」と表示され、geth の対話型コンソールが起動できました。

アカウントの作成

EOA(Externally Owned Account) を作成します。引数にパスワードを指定します。

今回はプライベート環境を使っているので簡易なパスワードに設定しますが、本番環境では複雑なパスワードを設定しましょう。

「0x」から始まるアドレスが表示されます。

INFO [07-17|11:30:00.052] Your new key was generated address=0x7534af2C274F7DbC00b2f254cbfaf7BB0C0bBE9A

後ほど、ether の送金を行うので、アカウントを複数作っておきます。

アカウントの確認

複数作成したアカウントの確認を行います。

アドレスが配列で表示されます。

マイニング

マイニングを実行してみます。

ここで coinbase というものを設定します。coinbase は、マイニングの報酬などに紐づいたアカウントのことで、デフォルトでは配列の最初のアドレス(accounts[0])が設定されています。

eth.coinbase」コマンドで確認できます。

「miner.start(スレッド数)」コマンドで、マイニングが始まります。引数でスレッド数を指定することもできます。

「null」もしくは「true」と出力されていれば問題ありません。

放っておくとずっとマイニングしているので、適当なところで「miner.stop()」として停止させましょう。

残高の確認

coinbase について、マイニングした報酬を確認します。

送金

coinbase(accounts[0])から accounts[2] に送金をしてみます。

このとき、送金する側(accounts[0])のロックを解除しないとエラーが出てしまうようです。

エラーが出ます。

GoError: Error: account unlock with HTTP access is forbidden at web3.js:6347:37(47)
at native
at <eval>:1:24(6)

エラーが出たので geth の起動オプションを変更してみました。

まず、「password.txt」というファイルを「eth_private_nex」ディレクトリ直下に作成し、4つのアカウントのパスワードを指定します。

password
password
password
password

そして、以下のように geth の起動オプションでアカウントと password.txt ファイルを指定します。


しかし、以下のようなエラーが出てしまいました。

Fatal: Account unlock with HTTP access is forbidden!

ちょっとこれ以上はよく分からなかったので送金は断念しました。。

参考書籍

関連記事

【仮想通貨】デジタル署名と公開鍵暗号の違いは!?

ビットコインなどの仮想通貨のブロックチェーン技術で用いられている「デジタル署名」「公開鍵暗号

記事を読む

【イーサリアム】 ハッシュ関数(Keccak-256)について調べてみた。

仮想通貨の1つであるイーサリアムで用いられているハッシュ関数「Keccak-256」について

記事を読む

【仮想通貨】時価総額のランキングを円(JPY)で見る方法。

ビットコインやイーサリアムなどの仮想通貨の時価総額のランキングを 円(JPY)で見れる分かり

記事を読む

【ビットコイン】承認されたブロックを見てみる【ブロックチェーン】

ビットコイン(BitCoin)の公開台帳であるブロックチェーンについて、新たに承認されたブロ

記事を読む

【ビットコイン】 アドレス生成方法について調べてみた。

仮想通貨の1つであるビットコインを送金するときは、送付側と受け手側のそれぞれのアドレスが必要

記事を読む

【仮想通貨】新しいトランザクション(取引)の追加方法【ブロックチェーン】

仮想通貨で用いられているブロックチェーン技術において、新しいトランザクション(取引)をどのよ

記事を読む

【イーサリアム】日本円のチャートで比較する方法【イーサリアム・クラシック】

イーサリアム(Ethereum)は、2020年時点で、時価総額がビットコインに次ぐ第2位の仮

記事を読む

【Solidity】 イーサリアムでコントラクトを生成してみた。

スマートコントラクトプログラミングの高級言語の1つである Solidity を使って、イーサ

記事を読む

【イーサリアム】 公開鍵暗号について調べてみた。

仮想通貨の1つであるイーサリアムでは、公開鍵暗号という技術が使われています。 公開鍵暗

記事を読む

【イーサリアム】 ホリエモンが2014年当時にイーサリアムの可能性に気付いていた!?

ホリエモンこと堀江氏が、2014年の自身のブログで「イーサリアムやべぇ。。。」というタイトル

記事を読む

【耳コピ】音楽ファイルを楽器ごとに分離する方法【Spleeter:フリー】

今回は、mp3 などの音楽ファイルをボーカル、ベース、ドラムなどの楽器

【Chainer】手書き数字認識をしてみた【Deep Learning】

Chainerを用いて、ニューラルネットワークを構築し、手書き数字認識

【Spyder】引数のあるスクリプトを実行する方法。

Python の統合開発環境(IDE)である Spyder では、簡単

【Anaconda】Prompt 上で Git コマンドを実行する方法。

Anaconda のコマンドプロンプト(Anaconda Prompt

【MT4】日付と時間を指定してPCを自動起動させる方法【DELL】

今回は、日付と時間を指定してPCを自動的に起動させる方法について紹介し

→もっと見る

PAGE TOP ↑