What is geth in docker

青灯夜游
Release: 2022-02-21 16:41:37
Original
2663 people have browsed it

In docker, Geth refers to the official client software provided by the Ethereum Foundation, written in the Go programming language; the Geth client provides an interactive command console, which contains Various functions of Ethereum.

What is geth in docker

The operating environment of this tutorial: linux5.9.8 system, docker-1.13.1 version, Dell G3 computer.

What is geth

Geth is the official client software provided by the Ethereum Foundation and is written in the Go programming language. Geth provides an interactive command console that contains various functions (APIs) of Ethereum. The full name is go-ethereum.

docker deploys geth client

Install docker

Self-Baidu

Second, pull the above image down, and just pull the latest one

docker pull ethereum/client-go
Copy after login

Third, let’s talk about the parameters of docker run

Because it is official If the mirror is started directly, it will default to geth and directly synchronize with the main network. We definitely don’t want it to be synchronized directly. The command is as follows

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
Copy after login

-v means to mount the local file

-- privileged real sudo permissions

--entrypoint entry script, if it exists, it will overwrite the statement in the dockerfile

I chose to initialize the private chain in this script. How to initialize can see the official tutorial Similar to my previous article

My script

#!/bin/sh #初始化创世区块 geth -datadir /root/data init /root/gener.json if [ $# -lt 1 ]; then exec "/bin/sh" else exec /bin/sh -c "$@" fi
Copy after login

Four startup private chain

There is a problem to note here, that is, the startup parameters are different. Updated

It used to be --rpc --rpcapi, now it is changed to --http balabala

HTTP based JSON-RPC API options:

  • --httpEnable the HTTP-RPC server
  • --http.addrHTTP-RPC server listening interface (default:localhost)
  • --http.portHTTP-RPC server listening port (default:8545)
  • --http.apiAPI's offered over the HTTP-RPC interface (default:eth,net,web3)
  • --http.corsdomainComma separated list of domains from which to accept cross origin requests (browser enforced)
  • --wsEnable the WS-RPC server
  • --ws.addrWS-RPC server listening interface (default:localhost)
  • --ws.portWS-RPC server listening port (default:8546)
  • --ws.apiAPI's offered over the WS-RPC interface (default:eth,net,web3)
  • --ws.originsOrigins from which to accept websockets requests
  • --ipcdisableDisable the IPC-RPC server
  • --ipcapiAPI's offered over the IPC-RPC interface (default:admin,debug,eth,miner,net,personal,shh,txpool,web3)
  • --ipcpathFilename for IPC socket /pipe within the datadir (explicit paths escape it)

So now the startup command becomes

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
Copy after login

What should I do next

Test with web3 connection

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) }
Copy after login

Recommended learning: "docker video tutorial"

The above is the detailed content of What is geth in docker. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!