centos搭建以太坊私有链
创始人
2025-05-28 18:38:29

使用系统版本:CentOS Linux release 7.9.2009 (Core)
go 版本: go1.20.2
go-ethereum 版本:1.11.4-stable

go环境搭建

下载go

wget https://golang.google.cn/dl/go1.20.2.linux-amd64.tar.gz

解压到/usr/local目录

tar -xvf go1.17.6.linux-amd64.tar.gz -C /usr/local

将go添加到环境变量

vi /etc/profile
export GOROOT=/usr/local/go
export GOPATH=/root/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

刷新环境变量

source /etc/profile

查看版本,若有则环境变量配置成功

go version

在这里插入图片描述
go换源!(以免后边卡在 make geth)

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

安装c编译器

安装基本工具开发包

yum group install "Development Tools"

查看版本

gcc --version

在这里插入图片描述

源码编译安装geth

下载源码

cd /usr/local
git clone https://github.com/ethereum/go-ethereum.git

Building the source

make geth

查看版本号验编译

./build/bin/geth version

配环境

export GETH=/usr/local/go-ethereum
export PATH=$PATH:$GETH/build/bin

刷新环境变量

source /etc/profile

查看版本验环境

geth version

初始化创世区块

创建 genesis.json

mkdir prichain
cd prichain
mkdir data
vi genesis.json
{"config": {"chainId": ,"homesteadBlock": 0,"eip150Block": 0,"eip155Block": 0,"eip158Block": 0,"byzantiumBlock": 0,"constantinopleBlock": 0,"petersburgBlock": 0,"istanbulBlock": 0,"berlinBlock": 0,"londonBlock": 0},"alloc": {},"coinbase": "0x0000000000000000000000000000000000000000","difficulty": "0x20000","extraData": "","gasLimit": "0x2fefd8","nonce": "0x0000000000000042","mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000","parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000","timestamp": "0x00"
}

初始化传世区块

geth --datadir ./data init genesis.json

在这里插入图片描述
执行后会在 genesis.json的当前目录下初始化,然后执行完后会在data文件下生成两个文件夹,geth 以及 keystore,分别存放该链数据以及用户密钥

查看实时日志输出

tail -f geth.log #进入私有链所在目录

如何重新进入该链

geth --datadir --networkid 666 ./ console 2>>geth.log#666为 "chainId":后边输入的值

查看账户

eth.accounts

创建账户

personal.newAccount(”password1“)

补充:启动私有链

geth --datadir data --networkid 15 --http --http.addr 0.0.0.0 --http.port 8545 --http.corsdomain "*" --port 30305 --allow-insecure-unlock console 2>>geth.log
   --datadir字段用于指示私链数据的存储位置,即工作目录;--networkid字段用于配置私链id,需要与genesis.json文件内预定义的一致;--http字段用于启用HTTP-RPC服务,主要应用于与前端页面的交互;--http.addr字段表示节点接受的http连接的地址,0.0.0.0表示可以接受所有ip地址的http请求;--http.port字段用于指定监听端口,默认是8545;--http.corsdomain字段表示允许跨域请求的域名列表,“*”表示允许所有的跨域请求,不开启的话metamask钱包可能无法连接上搭建的私链;--port字段用于指定节点之间通信的端口,默认是30303;--allow-insecure-unlock表示允许不安全的账户解锁行为,开启这个选项后通过http连接到私链的钱包才能解锁账户进行转账操作;console表示在运行私链节点的同时开启控制台,这样就可以在监控私链节点状态的同时对节点进行操作。因为geth命令运行完后会不断弹出监控日志影响到控制台的使用,因此在命令最后添加2>>geth.log就可以让监控日志输入到当前目录的geth.log文件中而不影响控制台的使用,然后在新开一个终端用tail -f geth.log的命令实时监控节点的日志即可。(如果不愿意这么麻烦可以把2>>geth.log删除)

参考文章

如何安装centos详细步骤
https://blog.csdn.net/zhangjianfu2222/article/details/127443309

CentOS7设置镜像源
http://t.csdn.cn/Bc2u5

区块链笔记(1)-使用go-ethereum建立私链 geth版本 1.8.1
https://dandelioncloud.cn/article/details/1437894944882253825

以以坊私有链搭建及常用操作
https://www.cnblogs.com/mutou-mutou/articles/16174188.html

在Centos 7下使用Geth搭建自己的以太坊私有链
https://blog.csdn.net/qq_43537319/article/details/120937055

http://t.csdn.cn/smqm3

相关内容

热门资讯

【实验报告】实验一 图像的... 实验目的熟悉Matlab图像运算的基础——矩阵运算;熟悉图像矩阵的显示方法࿰...
MATLAB | 全网最详细网... 一篇超超超长,超超超全面网络图绘制教程,本篇基本能讲清楚所有绘制要点&#...
大模型落地比趋势更重要,NLP... 全球很多人都开始相信,以ChatGPT为代表的大模型,将带来一场NLP领...
Linux学习之端口、网络协议... 端口:设备与外界通讯交流的出口 网络协议:   网络协议是指计算机通信网...
kuernetes 资源对象分... 文章目录1. pod 状态1.1 容器启动错误类型1.2 ImagePullBackOff 错误1....
STM32实战项目-数码管 程序实现功能: 1、上电后,数码管间隔50ms计数; 2、...
TM1638和TM1639差异... TM1638和TM1639差异说明 ✨本文不涉及具体的单片机代码驱动内容,值针对芯...
Qt+MySql开发笔记:Qt... 若该文为原创文章,转载请注明原文出处 本文章博客地址:https://h...
Java内存模型中的happe... 第29讲 | Java内存模型中的happen-before是什么? Java 语言...
《扬帆优配》算力概念股大爆发,... 3月22日,9股封单金额超亿元,工业富联、鸿博股份、鹏鼎控股分别为3.0...
CF1763D Valid B... CF1763D Valid Bitonic Permutations 题目大意 拱形排列࿰...
SQL语法 DDL、DML、D... 文章目录1 SQL通用语法2 SQL分类3 DDL 数据定义语言3.1 数据库操作3.2 表操作3....
文心一言 VS ChatGPT... 3月16号,百度正式发布了『文心一言』,这是国内公司第一次发布类Chat...
CentOS8提高篇5:磁盘分...        首先需要在虚拟机中模拟添加一块新的硬盘设备,然后进行分区、格式化、挂载等...
Linux防火墙——SNAT、... 目录 NAT 一、SNAT策略及作用 1、概述 SNAT应用环境 SNAT原理 SNAT转换前提条...
部署+使用集群的算力跑CPU密... 我先在开头做一个总结,表达我最终要做的事情和最终环境是如何的,然后我会一...
Uploadifive 批量文... Uploadifive 批量文件上传_uploadifive 多个上传按钮_asing1elife的...
C++入门语法基础 文章目录:1. 什么是C++2. 命名空间2.1 域的概念2.2 命名...
2023年全国DAMA-CDG... DAMA认证为数据管理专业人士提供职业目标晋升规划,彰显了职业发展里程碑及发展阶梯定义...
php实现助记词转TRX,ET... TRX助记词转地址网上都是Java,js或其他语言开发的示例,一个简单的...
【分割数据集操作集锦】毕设记录 1. 按要求将CSV文件转成json文件 有时候一些网络模型的源码会有data.json这样的文件里...
Postman接口测试之断言 如果你看文字部分还是不太理解的话,可以看看这个视频,详细介绍postma...
前端学习第三阶段-第4章 jQ... 4-1 jQuery介绍及常用API导读 01-jQuery入门导读 02-JavaScri...
4、linux初级——Linu... 目录 一、用CRT连接开发板 1、安装CRT调试工具 2、连接开发板 3、开机后ctrl+c...
Urban Radiance ... Urban Radiance Fields:城市辐射场 摘要:这项工作的目标是根据扫描...
天干地支(Java) 题目描述 古代中国使用天干地支来记录当前的年份。 天干一共有十个,分别为:...
SpringBoot雪花ID长... Long类型精度丢失 最近项目中使用雪花ID作为主键,雪花ID是19位Long类型数...
对JSP文件的理解 JSP是java程序。(JSP本质还是一个Servlet) JSP是&#...
【03173】2021年4月高... 一、单向填空题1、大量应用软件开发工具,开始于A、20世纪70年代B、20世纪 80年...
LeetCode5.最长回文子... 目录题目链接题目分析解题思路暴力中心向两边拓展搜索 题目链接 链接 题目分析 简单来说࿰...