ホームページ  >  記事  >  運用・保守  >  docker の geth とは何ですか

docker の geth とは何ですか

青灯夜游
青灯夜游オリジナル
2022-02-21 16:41:222753ブラウズ

docker では、Geth は、Go プログラミング言語で書かれた Ethereum Foundation によって提供される公式クライアント ソフトウェアを指します。Geth クライアントは、Ethereum のさまざまな機能を含む対話型のコマンド コンソールを提供します。

docker の geth とは何ですか

このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。

geth とは

Geth は、イーサリアム財団によって提供される公式クライアント ソフトウェアであり、Go プログラミング言語で書かれています。 Geth は、Ethereum のさまざまな機能 (API) を含む対話型コマンド コンソールを提供します。正式名はゴーイーサリアムです。

#docker は geth クライアントをデプロイします

docker をインストールします

Self-Baidu

2 番目に、上のイメージをプルダウンし、最新のイメージをプルします。

docker pull ethereum/client-go

3 番目に、docker run のパラメーターについて話しましょう

公式なので ミラーを直接起動すると、デフォルトで geth になり、メインネットワークと直接同期します。直接同期することは絶対に望ましくないです。コマンドは次のとおりです

docker run -d -it --name=node0  -u root -p 8545:8545 -p 30303:30303 -v E:\eth:/root --privileged=true --entrypoint /root/a.sh ethereum/client-go
-vローカル ファイルをマウントすることを意味します

#-- 特権付きの実際の sudo アクセス許可

#--エントリポイント エントリ スクリプト。存在する場合は、dockerfile 内のステートメントを上書きします。

私が選択したこのスクリプトでプライベート チェーンを初期化します。初期化方法は公式チュートリアルを参照してください。前の記事と同様です。

私のスクリプト

#!/bin/sh
#初始化创世区块
geth -datadir  /root/data init /root/gener.json

if [  $# -lt 1 ]; then 
  exec "/bin/sh"
else
  exec /bin/sh -c "$@"
fi

4 つの起動プライベート チェーン

ここで注意すべき問題があります。つまり、起動パラメータが異なるということです。更新されました

以前は --rpc --rpcapi でしたが、現在は --http balabala に変更されました。

HTTP ベースの JSON-RPC API オプション:

--http
    HTTP-RPC サーバーを有効にする
  • --http .addr
  • HTTP-RPC サーバーのリスニング インターフェイス (デフォルト:
  • localhost) --http.port
  • HTTP-RPC サーバーのリスニング ポート (デフォルト: ##) #8545
  • )--http.api HTTP-RPC インターフェイス経由で提供される API (デフォルト:
  • eth,net,web3
  • )--http.corsdomain クロスオリジンリクエストを受け入れるドメインのカンマ区切りリスト (ブラウザ強制)
  • --ws WS-RPC サーバーを有効にする
  • --ws.addr WS-RPC サーバー リスニング インターフェイス (デフォルト:
  • localhost
  • )--ws.port WS-RPC サーバーのリスニング ポート (デフォルト:
  • 8546
  • )--ws.api WS-RPC インターフェイス経由で提供される API (デフォルト:
  • eth) ,net,web3
  • )--ws.origins WebSocket リクエストを受け入れるオリジン
  • --ipcdisable IPC を無効にする-RPC サーバー
  • --ipcapi IPC-RPC インターフェイス経由で提供される API (デフォルト:
  • admin,debug,eth,miner,net,personal,shh,txpool,web3#) ##)
  • --ipcpath datadir 内の IPC ソケット /パイプのファイル名 (明示的なパスはエスケープします)
  • それでは、起動コマンドを実行します。
    geth --networkid 666 --http --http.addr=0.0.0.0 --http.port=8545 --http.api "web3,eth,debug,personal,net" --http.corsdomain "*" --allow-insecure-unlock --datadir /root/data  console 2>>geth.log
  • 次に何をすべきか
Web3 接続でテストする

var Web3 = require('web3');
var Tx = require('ethereumjs-tx').Transaction;
if (typeof web3 !== 'undefined') {
    web3 = new Web3(web3.currentProvider);
    console.log("1"+web3.version)
  } else {
    // set the provider you want from Web3.providers
    web3 = new Web3(new Web3.providers.HttpProvider('http://127.0.0.1:8545'));
    console.log(web3.version)
  }

推奨される学習: 「

docker ビデオ チュートリアル

以上がdocker の geth とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。