您现在的位置是:首页 >学无止境 >centos上搭建以太坊私有链网站首页学无止境

centos上搭建以太坊私有链

四矢 2024-08-07 18:01:03
简介centos上搭建以太坊私有链

第一步 安装go语言环境

root用户下新建一个soft目录(相关目录可以随意)
在这里插入图片描述

去golang官网找到链接,在soft目录下下载golang压缩包

wget --no-check-certificate  https://go.dev/dl/go1.20.4.linux-amd64.tar.gz

其中如果出现Unable to establish SSL connection.,则加上--no-check-certificate
在这里插入图片描述
解压golang压缩包

tar -zxvf go1.20.4.linux-amd64.tar.gz

设置配置go的相关环境变量
自己建一个go的工作目录
打开系统 /etc/profile 文件在文件末尾增加

export GOROOT=/usr/local/go #go的安装目录,即,go解压后的目录
export GOPATH=/data/goProject
export PATH=$PATH:$GOROOT/bin

增加完以后退出,执行 source /etc/profile,环境变量就配置成功了

再配置一下golang相关设置

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

第二步:下载安装geth

去往geth官网https://geth.ethereum.org复制相关版本链接,同样去linux用wget下载
在这里插入图片描述
下载之后进行解压,将解压后的文件复制到/usr/local下,并重新命名一下
在这里插入图片描述
然后将打开/etc/profile追加环境变量,再source 一下

export PATH=$PATH:/usr/local/geth-home

第三步:搭建私链

在这里插入图片描述
先建一个目录privatechain
再创建一个genesis.json文件,用于配置创世区块

#genesis.json

{
  "config": {
    "chainId": 12345,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "berlinBlock": 0,
    "ethash": {}
  },
  "difficulty": "1",
  "gasLimit": "8000000",
  "alloc": {
    "7df9a875a174b3bc565e6424a0050ebc1b2d1d82": { "balance": "300000" },
    "f41c74c9ae680c1aa78f42e5647a62f353b7bdde": { "balance": "400000" }
  }
}

在这里插入图片描述再利用创世块文件初始化,其中chainData为为区块链数据

geth init --datadir ./chainData genesis.json

初始化后,就可以启动私有链了

geth --datadir ./chainData --networkid 12345  --http --http.addr 0.0.0.0 --http.vhosts "*" --http.api "db,net,eth,web3,personal" --http.corsdomain "*" --snapshot=false --allow-insecure-unlock  console 2> 1.log

networkid 配置成与配置文件config内的chainId相同值,代表加入哪个网络,私链就自己随意编号即可
console 进入管理台
2> 1.log Unix系统下的重定向,将Geth产生的日志输出都重定向到1.log中,以免刷日志影响操作

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。