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

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

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

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

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

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

Contents

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!

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

参考書籍

関連記事

【MetaMask】イーサリアムのウォレットを使ってみた【テスト環境】

今回、イーサリアムのウォレットの1つである MetaMask(メタマスク)を使って、テストブ

記事を読む

初心者でも分かるビットコインの仕組みについてまとめてみた。

ビットコインは,時価総額が1位で最も有名な仮想通貨です. 仮想通貨の時価総額の見方について

記事を読む

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

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

記事を読む

【仮想通貨】デジタル署名について調べてみた【ブロックチェーン】

ビットコインなどの仮想通貨のブロックチェーンで用いられているデジタル署名(Digital s

記事を読む

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

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

記事を読む

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

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

記事を読む

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

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

記事を読む

【ビットコイン】ハッシュ関数(SHA-256・RIPEMD-160)について調べてみた。

ビットコインなどの仮想通貨で使用されているハッシュ関数(hash function)という技

記事を読む

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

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

記事を読む

【仮想通貨】トランザクションについて調べてみた【ブロックチェーン】

ビットコインなどの仮想通貨では、取引をトランザクションで記述されます。 そのトランザク

記事を読む

【Cubase】イヤホンから音がでないときの対処方法。

Cubase でイヤホンから音がでなくなったときの対処方法のメモです。

【Cubase】特定のトラックを無効にする方法。

今回は、Cubaseで特定のトラックのみを無効にする方法について紹介し

【転移学習】学習済みVGG16 による転移学習を行う方法【PyTorch】

今回は、PyTorch を使って、学習済みのモデル VGG16 を用い

【PyTorch】畳込みニューラルネットワークを構築する方法【CNN】

今回は、PyTorch を使って畳込みニューラルネットワーク(CNN)

【PyTorch】ニューラルネットワークを構築する方法【NN】

今回は、PyTorch を使って、ニューラルネットワーク(NN)を構築

→もっと見る

PAGE TOP ↑