Geth是Go Ethereum开源项目的简称,它是使用Go语言编写且实现了Ethereum协议的客户端软件,也是目前用户最多,使用最广泛的客户端。通过Geth客户端与以太坊网络进行连接和交互可以实现账户管理、合约部署、挖矿等众多有趣且实用的功能。
add-apt-repository ppa:git-core/ppa
apt-get update
apt-get install -y openjdk-8-jdk unzip make gcc
timedatectl set-timezone 'Asia/Shanghai'
wget http://mirror.cnop.net/go/go1.14.2.linux-amd64.tar.gz
tar zxvf go1.14.2.linux-amd64.tar.gz && mv go /usr/local/
vi /etc/profile
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
source /etc/profile
go version
mkdir /data && cd /data
wget http://mirror.cnop.net/geth/v1.9.13.tar.gz
tar zxvf v1.9.13.tar.gz
mv go-ethereum-1.9.13 go-ethereum
cd go-ethereum
make geth
vi /etc/profile
export PATH=$PATH:/data/go-ethereum/build/bin
source /etc/profile
geth version
安装screen,后期可以使用-r参数随时进入同步界面:
apt install screen -y
screen -S geth
geth -rpc -rpcaddr 0.0.0.0 -rpcport 8585 --allow-insecure-unlock -rpcapi personal,eth,net,web3,admin -datadir /data/chaindata -syncmode full -maxpeers 9999 -cache 1024 >/data/geth.log
geth -rpc -rpcaddr 0.0.0.0 -rpcport 8585 --allow-insecure-unlock -rpcapi personal,eth,net,web3,admin -datadir /data/chaindata -syncmode fast -maxpeers 9999 -cache 1024 >/data/geth.log
screen -r geth #进入之前同步窗口。
ctrl+z #退出,切勿 kill -9 命令强制退出,以免损坏数据库。
geth attach http://127.0.0.1:8585
eth.syncing
eth.getBlock("latest").number
或
eth.blockNumber
eth.getBalance
net.peerCount