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

最近要对链及链上应用进行压测,为了方便操作及分析问题,就自己搭建了一个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

相关推荐

  1. Ubuntu自己私有

    2024-05-11 09:24:10       10 阅读
  2. 私有 —— POW

    2024-05-11 09:24:10       7 阅读
  3. Git篇如何自己服务器自己git私有仓库

    2024-05-11 09:24:10       42 阅读
  4. web3前端开发,如何调用接口

    2024-05-11 09:24:10       9 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-11 09:24:10       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-11 09:24:10       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-11 09:24:10       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-11 09:24:10       18 阅读

热门阅读

  1. 使用Azure云服务部署你的第一个应用

    2024-05-11 09:24:10       7 阅读
  2. rk3588 安卓13 暴露相机开关接口

    2024-05-11 09:24:10       8 阅读
  3. 通配符&&正则表达式(RegEXP)

    2024-05-11 09:24:10       7 阅读
  4. 正则表达式高级用法

    2024-05-11 09:24:10       8 阅读
  5. nginx_01

    nginx_01

    2024-05-11 09:24:10      8 阅读
  6. 处理HTTP请求的服务器

    2024-05-11 09:24:10       6 阅读
  7. mysql数据库配置(my.ini|my.cnf)文件参数详细介绍

    2024-05-11 09:24:10       10 阅读
  8. Unity编辑器扩展

    2024-05-11 09:24:10       8 阅读
  9. 设计模式——状态模式(State)

    2024-05-11 09:24:10       9 阅读