主页 > imtoken钱包官网下载 > geth 安装以太坊节点
geth 安装以太坊节点
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直接查询新创建的账户状态。
从网页上我们可以看到这个地址已经生效了,但是没有金额。 看到这个信息就说明你的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 - ...