docker では、Geth は、Go プログラミング言語で書かれた Ethereum Foundation によって提供される公式クライアント ソフトウェアを指します。Geth クライアントは、Ethereum のさまざまな機能を含む対話型のコマンド コンソールを提供します。
このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。
geth とは
Geth は、イーサリアム財団によって提供される公式クライアント ソフトウェアであり、Go プログラミング言語で書かれています。 Geth は、Ethereum のさまざまな機能 (API) を含む対話型コマンド コンソールを提供します。正式名はゴーイーサリアムです。
#docker は geth クライアントをデプロイします
docker をインストールします
Self-Baidu2 番目に、上のイメージをプルダウンし、最新のイメージをプルします。
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 "$@" fi4 つの起動プライベート チェーン
ここで注意すべき問題があります。つまり、起動パラメータが異なるということです。更新されました
以前は --rpc --rpcapi でしたが、現在は --http balabala に変更されました。
HTTP ベースの JSON-RPC API オプション:
--httpWeb3 接続でテストするHTTP-RPC サーバーを有効にする
- HTTP-RPC サーバーのリスニング インターフェイス (デフォルト:
--http .addr
- localhost
HTTP-RPC サーバーのリスニング ポート (デフォルト: ##) #8545)
--http.port
- )
eth,net,web3--http.api
HTTP-RPC インターフェイス経由で提供される API (デフォルト:- )
--http.corsdomain
クロスオリジンリクエストを受け入れるドメインのカンマ区切りリスト (ブラウザ強制)--ws
WS-RPC サーバーを有効にする- localhost
--ws.addr
WS-RPC サーバー リスニング インターフェイス (デフォルト:- )
8546--ws.port
WS-RPC サーバーのリスニング ポート (デフォルト:- )
eth) ,net,web3--ws.api
WS-RPC インターフェイス経由で提供される API (デフォルト:- )
--ws.origins
WebSocket リクエストを受け入れるオリジン--ipcdisable
IPC を無効にする-RPC サーバー- admin,debug,eth,miner,net,personal,shh,txpool,web3#) ##)
--ipcapi
IPC-RPC インターフェイス経由で提供される API (デフォルト:--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
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 サイトの他の関連記事を参照してください。