主页 > imtoken钱包安卓版下载步骤 > 以太坊大火:如何在CentOS7上搭建私有以太坊链?

以太坊大火:如何在CentOS7上搭建私有以太坊链?

2.解压go安装包

[root@hadoop111~]# tar -C /usr/local -xzf go1.10.linux-amd64.tar.gz

复制代码

3.添加go环境变量

[root@hadoop111~]# echo 'export GOROOT=/usr/local/go' >> /etc/profile

[root@hadoop111 ~]# echo 'export PATH=$PATH:$GOROOT/bin'>> /etc/profile

[root@hadoop111 ~]# echo 'export GOPATH=/home/go' >>/etc/profile

[root@hadoop111 ~]# echo 'export PATH=$PATH:$GOPATH/bin'>> /etc/profile

复制代码

4.刷新环境变量

[root@hadoop111 ~]# source /etc/profile

复制代码

5.验证go语言是否安装成功

[root@hadoop111 ~]#go版本

复制代码

治理 go1.10 linux/amd64

3. 安装安装以太坊所需的其他环境组件

安装 curl git nodejs gcc-c++

[root@hadoop111 ~]# yum install -y curl git nodejs gcc-c++

复制代码

4.编译安装以太坊(这里使用源码安装方式)

1.下载以太坊源码

[root@hadoop111 ~]# cd /usr/local #创建目录

[root@hadoop111 ~]# git clone #通过git下载以太坊源码

复制代码

克隆到“go-ethereum”...

远程:计数对象:70885,完成。

比特币私有链搭建_以太坊私有链搭建_比特币莱特币量子链等交易

远程:总计 70885(增量 0),重复使用 0(增量 0),打包重复使用 70885

接收对象中:100% (70885/70885), 96.27 MiB | 174.00 KiB/s,完成。

处理增量:100% (47083/47083),完成。

2.编译

[root@hadoop111 ~]# cdgo-ethereum

[root@hadoop111 ~]# make all

[root@hadoop111 ~]# ln -sv/usr/local/go-ethereum/build/bin/geth /usr/bin #添加软连接

复制代码

3.安装cmake,智能合约需要用到

[root@hadoop111 ~]# cd ~

[root@hadoop111 ~]# wget #下载cmake安装包

[root@hadoop111 ~]# tar xvfcmake-3.9.2.tar.gz #解压

[root@hadoop111 ~]# cdcmake-3.9.2

[root@hadoop111 ~]# ./configure&& make && make install #编译安装

复制代码

4.查看安装结果

[root@hadoop111 ~]# systemctlis-enabled chronyd #时间同步服务

[root@hadoop111 ~]# cmake --version

复制代码

cmake 版本 3.9.2

CMake 套件由 Kitware (kitware.com/cmake) 维护和支持。

[root@hadoop111 ~]#geth 版本

复制代码

警告 [06-14|14:18:56] 清理缓存以达到 Go 的 GC 限制提供=1024 更新=607

盖思

版本:1.8.12-不稳定

比特币莱特币量子链等交易_以太坊私有链搭建_比特币私有链搭建

Git 提交:ea89f40f0dab7957aa1825b56be80e84d3b04b5c

架构:amd64

协议版本:[63 62]

网络编号:1

版本:go1.10

操作系统:linux

GOPATH=/家/去

GOROOT=/usr/local/go

5.使用以太坊私链

1. 初始化创世块

创建一个 genesis.json 文件

[root@hadoop111 ~]# cd /root

[root@hadoop111 ~]# mkdireth-测试

[root@hadoop111 ~]# cd eth-test

[root@hadoop111 ~]#vigenesis.json

复制代码

添加以下内容

{

“配置”:{

“链号”:20,

“家园块”:0,

“eip155块”:0,

“eip158块”:0

},

“分配”:{},

“币库”:“0x0000000000000000000000000000000000000000”,

比特币私有链搭建_以太坊私有链搭建_比特币莱特币量子链等交易

“难度”:“0x200”,

“额外数据”:“”,

"gasLimit": "0x2fefd8",

“随机数”:“0x0000000000000042”比特币私有链搭建

“混合哈希”:“0x0000000000000000000000000000000000000000000000000000000000000000”,

"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",

“时间戳”:“0x00”

}

复制代码

2.初始化节点

[root@hadoop111 ~]# geth--datadir "/root/eth-test/" init genesis.json #初始化创世块

复制代码

执行完成后,会出现类似如下的信息,说明创世块的初始化已经完成

file:///C:/Users/pc/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg

启动以太坊

[root@hadoop111 ~]# cd /usr/bin

[root@hadoop111 ~]# ./geth --rpc--rpccorsdomain "*" --datadir "/root/eth-test/" --rpcapi "db,net,eth,web3,personal,miner,debug,admin " --networkid 100000 控制台 2>>eth_output.log

复制代码

注意:上面命令中-datadir后面的“/root/eth-test/”要和我们上一步中的-datadir参数保持一致。 命令执行后,会自动进入geth的命令行,即以太坊私链安装成功。

file:///C:/Users/pc/AppData/Local/Temp/msohtmlclip1/01/clip_image004.jpg

3.创建一个账户并挖矿

查看账户比特币私有链搭建,可以看到当前账户为空

[root@hadoop111 ~]# eth.accounts

复制代码

创建两个账户并初始化密码。 请注意,密码是用户定义的。

> 个人。 新帐户('123456')

比特币私有链搭建_以太坊私有链搭建_比特币莱特币量子链等交易

复制代码

“0x3e5b345a8b88fe181f75d6956c40c104de7b61ee”

> 个人。 新帐户('123456')

复制代码

“0xc6b5ec8fff2696375c16c930a9fb7aec4a106b11”

再次查看账户,发现有两个

> eth.accounts

复制代码

[“0x3e5b345a8b88fe181f75d6956c40c104de7b61ee”,“0xc6b5ec8fff2696375c16c930a9fb7aec4a106b11”]

为了操作方便,给账号起个名字

> test1 = eth.accounts[0]

复制代码

“0x3e5b345a8b88fe181f75d6956c40c104de7b61ee”

> test2 = eth.accounts[1]

复制代码

“0xc6b5ec8fff2696375c16c930a9fb7aec4a106b11”

设置操作账号

> miner.setEtherbase(test1) #如果不设置挖矿,默认保存到第一个创建的账户

复制代码

真的

开始挖矿

> miner.start() #执行一段时间挖矿,但账户有余额,第一次最好时间长一点,3分钟左右,避免挖矿失败

复制代码

停止挖矿

> miner.stop()

复制代码

比特币莱特币量子链等交易_以太坊私有链搭建_比特币私有链搭建

真的

浏览账户

> eth.getBalance(测试1)

复制代码

65000000000000000000

4. 转账

转账前需要解锁账户,否则会报错Error: authentication needed: password or unlock

>personal.unlockAccount(test1,'123456')

复制代码

真的

转账时注意,如果超过余额会报错

> eth.sendTransaction({from:test1, to: test2, value: web3.toWei(1, 'ether')})

复制代码

“0xe85d7e65919ce73c64958d07f29decece7cf7f6c1289d77c12e7c7eb5f631553”

查看账户,发现转出账户余额没有减少,转入账户也没有增加,因为我们的交易还没有成功写入区块,写入区块的方式是挖矿. 我们再次开始挖矿,挖矿成功。 之后再次查看余额,找到账户:

> eth.getBalance(测试2)

复制代码

> miner.start(1) #执行挖矿让交易执行,1表示使用cpuminer.stop()

复制代码

无效的

过了一会发现已经入账了

> eth.getBalance(测试2)

复制代码

1000000000000000000

此时可以看到转入账户增加了1个以太币。 至于转出账户,由于重挖奖励,余额会增加。 因此,很难从转出账户判断交易的真实金额。

至此,本节内容就完成了。 可见以太坊的环境和运行都比较简单。

发布网站:解放号社区bbs.jfh.com