主页 > imtoken钱包官网下载 > geth 安装以太坊节点

geth 安装以太坊节点

imtoken钱包官网下载 2023-11-10 05:14:36

geth 安装以太坊节点

go-ethereum客户端通常称为geth,它是一个命令行界面,在Go语言的运行环境上执行,实现了一个完整的以太坊节点。

通过安装并运行geth,您可以连接到以太坊公链的实时网络,进行以下操作:挖矿、创建账户、转账、创建合约、发送交易、查看区块历史等。

以太坊官网地址为:.

1.Go运行环境安装

由于geth是用go语言开发的,在安装geth客户端之前以太坊编程,我们需要先安装go运行环境,可以参考go语言教程。

2.geth客户端安装

从源码安装geth客户端的操作过程分为以下3个步骤:

接下来,我们将一步步进行。 本文使用的Linux系统环境为:Linux Ubuntu 16.04 LTS 64bit。

2.1 下载码库

安装git的过程就不多说了,只需要一个命令:apt install git。 centos 使用 yum install git。 Mac 使用 brew install git。

$ git clone https://github.com/ethereum/go-ethereum.git
$ cd go-ethereum

2.2 编译geth客户端

$ make geth
build/env.sh go run build/ci.go install ./cmd/geth
>>> /usr/local/go/bin/go install -ldflags -X main.gitCommit=f1986f86f2229ea5ff587c65c9229a65f40bf591 -v ./cmd/geth
github.com/ethereum/go-ethereum/vendor/github.com/hashicorp/golang-lru/simplelru
...
github.com/ethereum/go-ethereum/cmd/geth
Done building.
Run "/root/go-ethereum/build/bin/geth" to launch geth.

将geth的目录添加到环境变量中。

# 将 /root/go-ethereum/build/bin 目录添加至 PATH 环境变量
$ export PATH=$PATH:/root/go-ethereum/build/bin

2.3 验证geth客户端是否安装成功

查看geth是否安装成功,通过运行geth客户端查看版本。

$geth version

这样就完成了geth客户端的安装。

3.启动geth节点

安装完成后,我们就可以启动geth客户端程序了。 我们可以先启动以太坊公链的测试网络,添加命令行参数-testnet。

3.1 测试网启动geth

$geth --testnet console
INFO [06-20|17:15:04.991843] Maximum peer count ETH=25 LES=0 total=25
INFO [06-20|17:15:04.993534] Starting peer-to-peer node instance=Geth/v1.8.12-unstable-f1986f86/linux-amd64/go1.10.3
...

由于以太坊公链上的任何操作都需要消耗以太币(eth)以太坊编程,因此需要开发者在本地搭建一个测试区块链网络来开发智能合约,最后将开发好的合约部署到公链上。

当然,我们的目标是从以太坊公链同步数据。 接下来关闭测试网,直接启动主网。

3.2 启动geth客户端

> geth --datadir=/data0/eth
INFO [06-20|17:41:49.295669] Maximum peer getBlockTransactionCount ETH=25 LES=0 total=25INFO [06-20|17:41:49.296785] Starting peer-to-peer node instance=Geth/v1.8.12-unstable-f1986f86/linux-amd64/go1.10.3
INFO [06-20|17:41:49.296874] Allocated cache and file handles database=/data0/eth/geth/chaindata cache=768 handles=512
...

启动参数:

进入/data0/eth指定目录,有2个文件夹和1个文件,分别存放在不同的文件中:

接下来,我们打开一个命令工作台:

$ geth --datadir=/data0/eth attach
Welcome to the Geth JavaScript console!
instance: Geth/v1.8.12-unstable-f1986f86/linux-amd64/go1.10.3
modules: admin:1.0 debug:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0
# 输入eth命令
> eth

{
  accounts: [],
...
}

新建一个账号,test.dan

# 查看我的账户
> eth.accounts
[]
# 新建一个账户
> personal.newAccount("test.dan")
"0x377410e6b50762a51d54d9f26830e60124072f35"
# 再查看我的账户
> eth.accounts
["0x377410e6b50762a51d54d9f26830e60124072f35"]
# 查看账号余额
> eth.getBalance(eth.accounts[0])
0

同时我们也可以通过以太坊的区块浏览器etherscan直接查询新创建的账户状态。

http://static.codebaoku.com/pics/b9/33/b9332287490bb4bfaef4768a9f408445.png

从网页上我们可以看到这个地址已经生效了,但是没有金额。 看到这个信息就说明你的geth程序已经启动了。 有几十G的数据需要同步!

4.geth开发节点

开发节点命令:

geth  --datadir "./data" --http --http.api "web3,eth,personal,net"  --http.corsdomain "*" --dev --allow-insecure-unlock console

在:

下一节:Geth 通用指令区块链编程

1.创建账户 $ geth account new> personal.newAccount(

)2。 查看账户$geth账户列表3。 快速同步模式 $ geth - ...