欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 数字货币

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

科普小知识2022-02-12 00:14:23
...

1 安装前的准备

1.1 配置Linux系统

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

本文默认你已经对以太坊和docker技术有一定的掌握和了解,并部署好相应的环境。如果你还未准备好,请参考芯链公众号前期发布的环境搭建和部署文章。

1.2 安装Docker

请使用管理员权限进行安装,

# su root

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

CentOS: yum -y install docker-io

Ubuntu: apt-get install docker-engine

安装完毕如图:

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

然后启动Docker服务:

#service docker start

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

校验docker是否安装成功:

#docker run hello-world

这个命令会下载一个测试镜像,并且运行在一个容器中。当容器运行时,他会打印一些信息,并且退出。下图表示Docker已经安装完成。

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

2 安装bootnode

2.1 下载bootnode镜像

运行命令如下命令:

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

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

查看镜像:docker images

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

2.2 Docker创建bootnode容器节点

生成引导节点:

运行引导节点:

注意:这两个命令参数中,-v /path/docker/bootnode:/root/bootnode为映射路径,在docker的这个bootnode容器中,出现容器内/root/bootnode路径都映射为外部路径/path/docker/bootnode。下方以太坊容器搭建节点命令同理。

2.3 查看bootnode日志得到节点

得到节点如下:

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

将[::]替换为本机IP地址

好了,用于连接的根节点运行完毕。

3 安装以太坊节点

可以找台Linux进行节点联盟链的搭建了,这里继续以centos7继续演示了。

3.1 创建以太坊的创世文件

新建创世文件genesis.json,内容如下:

3.2 初始化创世文件

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

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

运行如下命令

请记住—networkid 8765639736937780.这是当前搭建联盟链的ID。

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

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

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

初始化成功。

3.3 Docker创建以太坊容器节点

运行如下命令

//enode为上面运行bootnode得到的节点,并将预备的私钥文件放入keystore中,并且—networkid 8765639736937780为联盟链的标识ID。

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

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

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

Ok,节点搭建成功。

3.4 验证联盟链的连接

在上一步搭建好节点后,等待一段时间,让节点自动连接根节点bootnode。

进入以太坊容器中:

输入命令:admin

查看peer是否连接:

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

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

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

以太坊公链搭建怎么设置?以太坊公链搭建教程(附图)

注意:这里连接的是之前已经加入bootnode根节点的其他节点,与根节点的连接并不会显示在peers中。如果是第一个连接bootnode的节点,连接了bootnode的时候输入admin,peers是空的,需要继续搭建一个节点来测试他们互相连接。

汪晓明

HPB芯链创始人,专栏作家。十余年金融大数据、区块链技术开发经验,曾参与创建银联大数据。主创区块链教学视频节目《明说》30多期,编写了《以太坊官网文档中文版》,并作为主要作者编写了《区块链开发指南》,在中国区块链社区以ID“蓝莲花”知名。