0.引言MySQL作为一个主流的开源关系型数据库之一,受到了企业和个人的广泛使用。DevC++作为一个开源的简单的C++编辑器,有着比VS更简便更快捷的编译环境。但是目前网上,却很少有对DevC++和
顺晟科技
2021-06-16 10:45:18
398
在学习和使用以太网的过程中,我们遇到了很多坑和弯路。用邰方作为关键词搜索百度或者谷歌,虽然可以找到很多结果,但其实对于我们来说,这些结果有两个问题:1。网上的这些文章都是互相抄袭的。虽然看起来很多,其实也就两个;2.虽然有些文章介绍的步骤看似合理流畅,但实际运行起来还是有些困难。本文将以最简单、最正确的方式构建以太网的私有链。首先,它将成为我们学习自己成就的记录。第二,会给后人一些指导,让他们像以前一样少走弯路。这个系列偏向实战,会以连载形式录制。这一次我们将介绍如何在CentOS6.5上构建Ethereum私有链。
让我们大致说说步骤:
1.操作系统准备
2.golang装置
3.下载以太网
4.安装以太网
5.创建块文档的准备
6.创建块的启动
7.以太网启动
以下以图片和文字的形式详细介绍了每一步:
1.操作系统准备
我们使用的操作系统是CentOS6.5,安装后需要系统能够访问互联网,因为下面的步骤需要在线安装Ethereum所需的环境。系统安装后,执行cat /etc/redhat-release以确认系统版本。以下是我们执行的结果:
[root @ ZC _ VM _ 10 _ 100 _ 142 _ 62 ~]# cat/etc/red hat-发布
CentOS版本6.5(最终版)
2.golang装置
执行rpm-IVH http://FTP . riken . jp/Linux/fedora/epel/6/i386/epel-release-6-8 . no arch . rpm安装yum source。以下是我们执行结果的截图:
安装以太网时的Yum源安装
注意:
(1).这一步需要联网,这就是我们在上一步中强调系统需要能够访问互联网的原因。
(2).注意安装结果是否成功,如我们上面截图的第二个红框所示
yum源安装成功后,可以使用以下命令安装golang:
yum install golang
以下是我们安装的结果:
yum install golang
注意:
(1)有一步需要确认,输入小写y,然后按enter键
(2)注意安装结果是否成功
3.下载以太网源代码
我们从https://github.com/ethereum/go-ethereum/releases/tag/v1.4.12.的地址下载了zip压缩格式的源代码,为了防止以后使用该地址,我们把zip压缩格式的源代码放在了这个网站上。地址是:http://www.huiyanghua.com/js/go-ethereum-1.4.12.zip
4.安装以太网
将下载的源码包解压成zip格式,进入解压目录。
我们的结果如下:
然后在go-ethereum-1.4.12目录下执行make命令开始编译。
我们的结果如下:
编译成功后,go-ethereum-1.4.12目录会出现一个build/bin等子目录,这个子目录会出现一个geth等可执行文件,如上图所示。
这样,我们的以太馆就安装好了。
5.创建块文档的准备
在go-ethereum-1.4.12/build/bin目录下,创建一个init.json的文本文件,内容如下:
{
随机数' : ' 0000000000000042 ',
mix hash ' : ' 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
难度' : '04000 ',
alloc': {},
coin base ' : ' 00000000000000000000000000000000000000000000 ',
时间戳' : '000 ',
括号' : ' 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
引渡数据' : '基因块',
gasLimit': '0xffffffff '
}
我们的结果如下:
6.创建块的启动
在go-ethereum-1.4.12/build/bin目录中执行以下命令,以完成创建块的创建:/geth-data dir '/app/chain ' init . JSON
注意:上面命令中的/app/chain after - datadir可以任意指定,不需要提前创建,但是要保证有足够的磁盘空间。Init.json是我们在上一步中创建的文件。注意文件名的一致性。
执行完成后,将出现类似以下内容的消息:
I 0927 14:31:07.374864 ethdb/数据库。go :82]分配16MB缓存和16个文件句柄给/app/chain/chaindata
I 0927 14:31:07.402544 cmd/geth/main。go :299]成功编写了发生块和/或链规则集: 244469 eaad 4c 9 c7a 245 fa 4962 a6 ed 7346 e 9925317 f 222 b 580 e 7f 313 f 9722657
我们的执行结果如下:
这样,创世区块就初始化完成了,下面将要进行最后一步,以太坊的启动。
7.以太坊启动
仍然在go-ethereum-1.4.12/build/bin目录下执行,执行的命令是:/geth-RPC-RPC cordomain ' *-data dir '/app/chain '-port ' 30303 '-RP capi ' db,eth,net,web3' - networkid 100000控制台
注意:上面命令中- datadir后的/app/chain '要跟我们上一步的- datadir参数一致。
执行完此命令后将会出现类似以下信息:
I 0927 14:32:17.538013 ethdb/数据库。go :82]分配128MB缓存和1024个文件句柄给/app/chain/chaindata
I 0927 14:32:17.554665 ethdb/数据库。go :169]关闭db :/app/chain/chain数据
I 0927 14:32:17.554722 cmd/utils/flags。go :592]警告:没有设置以太网库,也没有找到默认帐户
I 0927 14:32:17.555722 ethdb/数据库。go :82]分配128MB缓存和1024个文件句柄给/app/chain/chaindata
我0927 14:32:17。575639 eth/后端。go:621]升级日志布卢姆垃圾箱
I 0927 14:32:17.575767 eth/后端。go:629]升级完成于138.089 s
I 0927 14:32:17.575802 ethdb/数据库。go :82]分配16MB缓存和16个文件句柄给/app/chain/dapp
I 0927 14:32:17.580530 eth/后端。go:172]协议版本: [63 62],网络Id: 100000
I 0927 14:32:17.580584 eth/后端。go:201]区块链分贝版本:3
10927 14:323333366 . 10927核心/区块链。go :206]最后标题: # 0[244469 ea…]TD=0
10927 14:323333366 . 10927核心/区块链。转到:207]最后一个块: # 0[244469 ea…]TD=0
10927 14:323333366 . 10927核心/区块链。go :208]Fast block : # 0[244469 ea…]TD=0
I 0927 14:32:17.582008 P2P/Server。go :313]启动服务器
I 0927 143:32:19.644094 P2P/discover/UDP。go :217]列表,enode ://e1f 793 e 06289097 df 035 e 55d 68 f 7667658630 b 48 C1 E7 FD 70 b5 dee 7445 db 5 bec 9d 808 b 6 f 329 b 74954 e 7800d 34988880 b 5 db 5 bec 9d 808 b 6 f 329 b 74954
10927 14:323333366 . 5868686866节点/node.go:366] HTTP端点打开ed : http://本地主机:8545
I 0927 14:32:19.652471 P2P/服务器。go :556]监听【:】:3030303】3360303
10927 14:323333366 . 10927节点/node.go:296] IPC端点opened: /app/chain/geth.ipc
欢迎使用Geth JavaScript控制台!
一直到出现欢迎使用Geth JavaScript控制台!句话,并自动进入桀斯的命令行则说明以太坊私有链安装成功了。
注意:以上命令中- datadir参数后面的/app/chain '要和上一步保持一致。
我们的结果如下:
到目前为止,我们的私有链就搭建成功了。下一次,我们会介绍账户创建,挖矿,转账等操作。
16
2021-06
16
2021-06
16
2021-06
16
2021-06
16
2021-06
16
2021-06