Ethereum全节点搭建

Ethereum全节点搭建

以太坊是一个全新开放的区块链平台,它允许任何人在平台中建立和使用通过区块链技术运行的去中心化应用。就像比特币一样,以太坊不受任何人控制,也不归任何人所有——它是一个开放源代码项目,由全球范围内的很多人共同创建。和比特币协议有所不同的是,以太坊的设计十分灵活,极具适应性。在以太坊平台上创立新的应用十分简便,随着Homestead的发布,任何人都可以安全地使用该平台上的应用。

一、下载geth

下载网址 https://geth.ethereum.org/dow...,选择适合自己的版本
使用命令下载

//下载
$wget https://gethstore.blob.core.windows.net/builds/geth-linux-amd64-1.9.7-a718daa6.tar.gz
//解压
$tar xvfz geth-linux-amd64-1.9.7-a718daa6.tar.gz
//进入文件,查看版本
$./geth version
Geth
Version: 1.9.1-stableArchitecture: amd64Protocol Versions: [63]Network Id: 1Go Version: go1.12.7Operating System: linuxGOPATH=
GOROOT=/usr/local/go

也可以去下载以太坊源码字节编译,源码地址https://github.com/ethereum/g...

二、启动

nohup geth --rpc --rpcapi web3,eth,net,db,personal --rpcaddr 0.0.0.0 --rpcport 8545

默认date目录在 ~/.ethereum/, 可添加参数指定 --datadir "/data/geth_data"
这个时候会同步区块数据,大概200G,这个同步很耗时间,可以放在那里慢慢同步哦,估计要一周左右吧
--datadir "xxxx" 指定数据目录,用来存放区块链数据,状态数据,keystore数据等。如果不加这个参数这些数据在不同的系统会放到不同的位置。这个目录占用空间是比较大的,我一般会指定一个目录,并保证这个目录所在分区有足够的磁盘空间。
--cache value 分配给内部缓存的内存MB数量,默认为 128,最后设置大一点儿,起码 1024吧,这个值设大一些可以提高数据同步效率。
--rpcaddr value HTTP-RPC服务器接口地址(默认值:“localhost”),默认只允许本地连接,设置为 0.0.0.0 可以接收任何地址发来的连接请求
--rpcport value HTTP-RPC服务器监听端口(默认值:8545),可以改为不同的端口
--ws 启用WS-RPC服务器,几乎所有第三方节点都不启动这个服务,而要监听以太坊事件又必须启动这个服务
--wsaddr value WS-RPC服务器监听接口地址(默认值:“localhost”)
--wsport value WS-RPC服务器监听端口(默认值:8546)

三、geth客户端登陆操作

#登陆
geth attach rpc:http://127.0.0.1:8545
#查看状态
eth
#查看最新区块高度
eth.blockNumber
# 查看同步状态,返回 false 未同步或同步到最新了
eth.syncing
#生成账户,密码 password123
personal.newAccount('password123')