在Ubuntu下搭建自己的以太坊私有链

发布于:2024-05-14 ⋅ 阅读:(148) ⋅ 点赞:(0)

最近要对链及链上应用进行压测,为了方便操作及分析问题,就自己搭建了一个eth私链。当前版本安装官方指引发现有卡点,于是决定整理一个文档,为其他有需要的朋友提供便捷操作,节约时间。

一、环境配置

linux操作系统:Ubuntu 20.04.6 LTS (Focal Fossa)

go version: go1.21.3

Geth version:1.11.6

文档地址:

Go: https://golang.org/dl/

ethereum git地址:GitHub - ethereum/go-ethereum: Go implementation of the Ethereum protocol

Geth官方安装文档:Installing Geth | go-ethereum

Geth指令文档:JavaScript Console | go-ethereum

安装好Geth后,通过geth --help可以查看各指令作用和默认值

官方私链构建文档:启动一条以太坊私链 — 以太坊的指南针 1.0.0 documentation

chainList地址:ChainList

go安装忽略。

二、安装Geth

Geth是以太坊的客户端,其全称是go-ethereum。以太坊的客户端用于接入以太坊网络,进行账户管理、交易、挖矿、智能合约部署开发等相关的操作。目前有多种语言实现的客户端,Geth是用Go语言编写的,支持接入以太坊网络并成为一个完整节点。也可作为一个 HTTP-RPC 服务器对外提供 JSON-RPC 接口。

Geth的安装有两种方式:

  1. 直接下载程序进行安装(不通,仅作为记录)
  2. 通过编译源码安装(通过)。

1.直接下载程序安装Geth

1.1 下载软件包

执行如下命令:

sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

完成后,执行 geth --help可以看到Geth的版本和命令参数等信息:

NAME:
   geth - the go-ethereum command line interface
​
USAGE:
   geth [global options] command [command options] [arguments...]
​
VERSION:
   1.13.15-stable-c5ba367e
​
COMMANDS:
   account                Manage accounts
   attach                 Start an interactive JavaScript environment (connect to node)
   console                Start an interactive JavaScript environment
   db                     Low level database operations
   dump                   Dump a specific block from storage
   dumpconfig             Export configuration values in a TOML format
   dumpgenesis            Dumps genesis block JSON configuration to stdout
   export                 Export blockchain into file
   export-history         Export blockchain history to Era archives
   import                 Import a blockchain file
   import-history         Import an Era archive
   import-preimages       Import the preimage database from an RLP stream
   init                   Bootstrap and initialize a new genesis block
   js                     (DEPRECATED) Execute the specified JavaScript files
   ....

1.2 创世块配置

创建工作目录:

# 创建私有链的目录
mkdir /data/ethprvychain
mkdir /data/ethprvychain/chaindata
#创建账户
cd /data/ethprvychain
geth account new --datadir chaindata
#然后会提示输入密码,我这里输入的是123456

console显示:

root@qa-op-stack-compile-168-3-250:/data/ethprvychain# geth account new --datadir chaindata/
INFO [05-09|15:27:18.165] Maximum peer count                       ETH=50 total=50
INFO [05-09|15:27:18.166] Smartcard socket not found, disabling    err="stat /run/pcscd/pcscd.comm: no such file or directory"
Your new account is locked with a password. Please give a password. Do not forget this password.
Password: 
Repeat password: 
​
Your new key was generated
​
Public address of the key:   0xdf5431f021fc90381b72A87797C552cCE4225cFE
Path of the secret key f

网站公告

今日签到

点亮在社区的每一天
去签到