主页 > 下载imtoken钱包20app > 1.1 配置Linux系统

1.1 配置Linux系统

下载imtoken钱包20app 2023-06-03 05:34:41

1 安装前准备 1.1 配置Linux系统

本文在Windows下配置VMware软件搭建Linux下的cent0S-7系统。 推荐系统为 CentOS 7 和 Ubuntu 16.04。 有条件的可以使用云服务器上的Linux系统。 好处是可以搭建广域网联盟链。

本文假设您对以太坊和docker技术已经有一定的掌握和了解,并且已经部署了相应的环境。 如果还没有准备好,请参考上一版芯链公众号发布的环境搭建和部署文章。

1.2 安装Docker

请以管理员权限安装,

# 苏根

安装Docker(请参考芯链公众号发布的安装指导文章):

CentOS: yum -y install docker-io

Ubuntu:apt-get 安装 docker-engine

安装完成如图:

以太坊是否适合联盟链_sitesohu.com 以太坊公链私链_以太坊搭建联盟链教程

然后启动Docker服务:

#service docker 启动

sitesohu.com 以太坊公链私链_以太坊是否适合联盟链_以太坊搭建联盟链教程

验证docker是否安装成功:

#docker 运行你好世界

此命令将下载测试图像并在容器中运行它。 当容器运行时,它会打印一些信息并退出。 下图显示Docker已经安装。

以太坊是否适合联盟链_sitesohu.com 以太坊公链私链_以太坊搭建联盟链教程

以太坊是否适合联盟链_sitesohu.com 以太坊公链私链_以太坊搭建联盟链教程

2 安装bootnode2.1 下载bootnode镜像

运行命令如下:

#docker pull docker.io/hawyasunaga/ethereum-bootnode

以太坊是否适合联盟链_以太坊搭建联盟链教程_sitesohu.com 以太坊公链私链

查看镜像:docker images

sitesohu.com 以太坊公链私链_以太坊是否适合联盟链_以太坊搭建联盟链教程

2.2 Docker创建bootnode容器节点

生成引导节点:

1

#docker run -itd -m 512M --privileged=true --memory-swap -1 --net=host -p 30301:30301/udp -p 30301:30301/tcp -v /path/docker/bootnode:/root/bootnode --name genbootnode docker.io/hawyasunaga/ethereum-bootnode bootnode --genkey=/root/bootnode/boot.key

运行引导程序节点:

1

以太坊搭建联盟链教程_sitesohu.com 以太坊公链私链_以太坊是否适合联盟链

#docker run -itd -m 512M --privileged=true --memory-swap -1 --net=host -p 30301:30301/udp -p 30301:30301/tcp -v /path/docker/bootnode:/root/bootnode --name bootnode docker.io/hawyasunaga/ethereum-bootnode bootnode --nodekey=/root/bootnode/boot.key

注意:两个命令参数中,-v /path/docker/bootnode:/root/bootnode为映射路径。 在docker的bootnode容器中,将容器内的/root/bootnode路径映射到外部路径/path/docker/bootnode。 下面的以太坊容器构建节点命令也是如此。

2.3 查看bootnode日志获取节点

1

#docker logs -f bootnode 

获取节点如下:

sitesohu.com 以太坊公链私链_以太坊搭建联盟链教程_以太坊是否适合联盟链

将 [::] 替换为您的本地 IP 地址

好的,连接的根节点已经完成。

3 安装以太坊节点

可以找Linux平台搭建节点联盟链以太坊搭建联盟链教程,这里继续用centos7进行演示。

3.1 创建以太坊的创建文件

使用以下内容创建一个新的创世文件 genesis.json:

1

sitesohu.com 以太坊公链私链_以太坊搭建联盟链教程_以太坊是否适合联盟链

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

{

  "config": {

 "chainId": 90,   "homesteadBlock": 0,   "eip155Block": 0,   "eip158Block": 0   },   "alloc": {"0x5f38056f45091ee992298e53681b0a60c999ff95":{"balance": "0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7"}},   "coinbase" : "0x5f38056f45091ee992298e53681b0a60c999ff95",   "extraData" : "0x2017",   "nonce" : "0xdeadbeefdeadbeeF",   "mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",   "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",   "timestamp" : "0x00",   "gasLimit": "0xffffffff",   "difficulty": "0x20000"  }

3.2 初始化创世文件

首先新建一个文件放置以太坊目录,将genesis.json文件放入该地址,本文在/home/admin下:

sitesohu.com 以太坊公链私链_以太坊是否适合联盟链_以太坊搭建联盟链教程

运行以下命令

1

sitesohu.com 以太坊公链私链_以太坊搭建联盟链教程_以太坊是否适合联盟链

#docker run -itd --privileged=true -v /home/admin:/root/ethdev --name gethDev1 ethereum/client-go --datadir /root/ethdev --networkid 8765639736937780 init /root/ethdev/genesis.json

请记住——networkid 8765639736937780以太坊搭建联盟链教程,这是当前联盟链的ID。

以太坊是否适合联盟链_sitesohu.com 以太坊公链私链_以太坊搭建联盟链教程

查看日志文件:docker logs -f gethDev1

以太坊搭建联盟链教程_以太坊是否适合联盟链_sitesohu.com 以太坊公链私链

初始化成功。

3.3 Docker创建以太坊容器节点

运行以下命令

1

#docker rm -f gethDev1

1

#docker run -itd -m 512M --privileged=true --network=host --memory-swap -1 --net=host -p 8545:8545 -p 40303:40303 -v /home/admin:/root/ethdev --name gethDev1 ethereum/client-go --ipcdisable --port 40303 --bootnodes "enode://ad6aff917c6e8bd40cb20af4eac6ce05c16d285125b46f17fc9b5c3b0a833bd21667231215949c6ff771ba512eb8f87f138ac6679852997c3eaec1d349561d20@120.25.162.110:30301" --bootnodesv4 "enode://ad6aff917c6e8bd40cb20af4eac6ce05c16d285125b46f17fc9b5c3b0a833bd21667231215949c6ff771ba512eb8f87f138ac6679852997c3eaec1d349561d20@120.25.162.110:30301" --bootnodesv5 "enode://ad6aff917c6e8bd40cb20af4eac6ce05c16d285125b46f17fc9b5c3b0a833bd21667231215949c6ff771ba512eb8f87f138ac6679852997c3eaec1d349561d20@120.25.162.110:30301" --debug --rpcapi "db,eth,net,web3,personal,admin,miner,txpool" --datadir /root/ethdev --networkid 8765639736937780 --wsapi "db,eth,net,web3,personal,admin,miner,txpool" --ws --wsaddr "0.0.0.0" --rpc --rpcaddr "0.0.0.0" --cache=512 --verbosity 3 console

以太坊是否适合联盟链_以太坊搭建联盟链教程_sitesohu.com 以太坊公链私链

//enode是上面运行bootnode得到的节点,将准备好的私钥文件放入keystore,--networkid 8765639736937780是联盟链的ID。

sitesohu.com 以太坊公链私链_以太坊是否适合联盟链_以太坊搭建联盟链教程

查看控制台日志:docker logs -f gethDev1

sitesohu.com 以太坊公链私链_以太坊搭建联盟链教程_以太坊是否适合联盟链

ok,节点搭建成功。

3.4 验证联盟链的连接

上一步设置完节点后,等待一段时间节点自动连接到根节点bootnode。

进入以太坊容器:

1

#docker attach gethDev1

输入命令:admin

检查对等体是否已连接:

以太坊搭建联盟链教程_以太坊是否适合联盟链_sitesohu.com 以太坊公链私链

OK,连接完成,联盟链搭建完成。

连接完成后,开始同步块:

以太坊搭建联盟链教程_sitesohu.com 以太坊公链私链_以太坊是否适合联盟链

注意:这里连接的是之前加入过bootnode根节点的其他节点,根节点的连接不会在peers中显示。 如果是第一个连接到bootnode的节点,连接bootnode时输入admin,peer为空,需要继续建节点测试它们的相互连接。