在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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/11686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【VUE.js】---

问题 vue.config.js 文件中使用了 vue/cli-service 的新特性 defineConfig,但是你的项目依赖版本过旧。 defineConfig 是一个用于定义 Vue CLI 项目配置的辅助函数,它可以帮助 TypeScript 用户更好地获取类型提示。但是,你使用的是 Vue CLI 的…

shell脚本中条件语句

一.test测试 在Shell脚本中,test命令用于进行条件测试。它也可以通过方括号[]来表示,因为test实际上是[命令的一个别名。 格式1:test 条件表达式 格式2:[ 条件表达式 ] 注意[ ]空格,否则会失败 测试 是否成功使用…

【opencv】图像处理(二)

前文指引 一、使用到的图片 一、梯度计算 原始图片 img cv2.imread(circle.jpg)plt.imshow(img) plt.show()sobel算子 使用两个核 Gx [[-1,0,1], [-2,0,2], [-1,0,1]] Gy [[-1,-2,-1], [0,0,0], [1,2,1]] dst cv2.Sobel(src, ddepth, dx, dy, ksize) ddepth 深度 -1d…

域控安全 ----> Ntds.dit文件抓取

大家还记得内网渗透的初衷吗??? 找到域馆,拿下域控!! 拿下了域控就是拿下了整个域!! 但是大家知道拿下域环境之后应该怎么操作吗(灵魂拷问)??? …

GCP谷歌云有什么数据库类型,该怎么选择

GCP谷歌云提供的数据库类型主要包括: 关系型数据库:这类数据库适用于结构化数据,通常用于数据结构不经常发生变化的场合。在GCP中,关系型数据库选项包括Cloud SQL和Cloud Spanner。Cloud SQL提供托管的MySQL、PostgreSQL和SQL Se…

【macos】dnsmasq搭建DNS服务器

dnsmasq安装 brew install dnsmasq brew info dnsmasq//每次配置完,重启服务 sudo brew services restart dnsmasq修改 /usr/local/etc/dnsmasq.conf log-queries log-facility/var/log/dnsmasq.log bogus-nxdomain119.29.29.29 cache-size2048 port53 no-resolv/…

详细对比Sass与SCSS

Sass(Syntactically Awesome Style Sheets)和SCSS(Sassy Cascaded Style Sheets)都是CSS的预处理器,它们允许开发者使用变量、嵌套规则、函数和其他编程特性来编写更易于维护和管理的样式表。然而,Sass和SC…

提升文本到图像模型的空间一致性:SPRIGHT数据集与训练技术的新进展

当前的T2I模型,如Stable Diffusion和DALL-E,虽然在生成高分辨率、逼真图像方面取得了成功,但在空间一致性方面存在不足。这些模型往往无法精确地按照文本提示中描述的空间关系来生成图像。为了解决这一问题,研究人员进行了深入分析…

vue + element-plus 开发中遇到的问题

1.问题之路由守卫 初写路由守卫,对于next()的理解不是很透彻,就想着都放行,不然看不到效果,结果控制台出现了警告,想着报黄的问题就不是问题,但仔细一看发现他说,如果再生产阶段就会失败&#x…

STM32(开篇总结)

STM32介绍 STM32是意法半导体公司基于ARM Cortex-M内核开发的32位微控制器 STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等 STM32功能强大、性能优异片上资源丰富、功耗低,是一款经典的嵌入式微控制器…

数据可视化(十二):Pandas太阳黑子数据、图像处理——离散极值、核密度、拟合曲线、奇异值分解等高级操作

Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊! 喜欢我的博客的话,记得…

SpringSecurity的核心原理使用总结

1. SpringSecurity的核心原理 对于最原始Servlet请求处理的层次结构 客户端->过滤器链->Servlet 对于在SpringMVC中处理请求的层次结构 如何让Filter与Spring建立连接呢? 因此它增加了一个DelegatingFilterProxy 它是SpringMVC提供的的Filter,它内部代理了一个原生的F…

Spring框架概述

目录 1. Spring框架的起源 2. Spring框架的构成 3. Spring的发展历程 4. Spring的开发环境 4.1. Maven安装与配置 (1)Maven的下载与安装 (2)配置Maven的环境变量 (3)本地仓库的配置 (4…

景联文科技:用高质量数据采集标注赋能无人机技术,引领无人机迈入新纪元!

随着无人机技术的不断发展与革新,它已成为现代社会中一个前景无限的科技领域。 无人机应用领域 边境巡逻与安防:边境管理部门利用无人机监控边境线,防止非法越境和其他安全威胁,同时也能监控地面安保人员的工作状态和行动路线。 …

JVM的垃圾回收算法有哪些?从可达性分析算法开始,深入解读三大核心垃圾回收算法

导航: 【Java笔记踩坑汇总】Java基础JavaWebSSMSpringBootSpringCloud瑞吉外卖/黑马旅游/谷粒商城/学成在线设计模式面试题汇总性能调优/架构设计源码-CSDN博客 目录 一、概念准备 1.1 GC Roots 1.2 可达性分析算法 1.3 非可达对象被回收过程中的两次标记 1.4…

vue从入门到精通(一):初始Vue

一,Vue是什么 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代…

质量保障之精准测试!

一、背景与概念 随着软件测试行业的长足发展,测试理念、技术都在发生着日新月异的变化。因此一套完整的自动化测试用例对于每个软件公司都是不可或缺的,然而虽然有如此规模宏大的自动化案例集资源投入,同时也有大量人力的投入,但…

虚拟仿真云平台在教育应用中的优势和意义

虚拟仿真云实验教学平台作为一种新型的教学方法,近年来在高校教育中得到了十分广泛的应用。它通过模拟真实的实验场景和实验操作,让学生在计算机上进行实验操作和数据处理,为学生提供了更加便捷、可靠、有效的实验学习环境。本文,…

学习Vue3中生命周期钩子函数

学习Vue3中生命周期钩子函数 一、前言1、介绍2、示例 一、前言 在 Vue 3 中,由于引入了 Composition API,生命周期钩子函数的使用方式略有变化。下面是 Vue 3 中常见的生命周期钩子函数以及它们对应的 Composition API 函数: 1、介绍 setup…

Python如何绘制直流电机开闭环特性曲线?matplotlib

import matplotlib.pyplot as plt from pylab import mplmpl.rcParams[font.sans-serif] [FangSong] # 指定默认字体 mpl.rcParams[axes.unicode_minus] False # 解决保存图像是负号-显示为方块的问题# 数据集1 n1 [1206, 1174, 1141, 1116, 1037, 986] Id1 [0.505, 0.55…