主页 > imtoken下载 > 以太坊私链挖矿操作指南

以太坊私链挖矿操作指南

imtoken下载 2023-04-12 05:17:14

以太坊虚拟机 (EVM) 是以太坊智能合约的运行时环境。它不仅是沙盒化的,实际上它是完全隔离的,在 EVM 中运行的代码无法触及网络、文件系统或其他进程。甚至智能合约之间的调用也是有限的。

以太坊中有两种类型的账户共享相同的地址空间。外部账户,由公私钥对控制。合约账户,由账户中存储的代码控制。外部账户地址由公钥确定,合约账户地址在合约创建时确定。

每个帐户都有一个以太币余额(在“Wei”中),可以通过向其发送以太币交易来更改。

每笔交易都是一条信息,可用于将余额从一个帐户转移到另一个帐户。

每笔交易都需要支付一定的gas。 Gas 价格由创建者设定,调用合约的发送账户需要交易费用 = Gas 价格 * Gas​​ 数量。

Go-Ethereum 是以太坊基金会提供的官方客户端软件。它是用 Go 编程语言编写的,缩写为 Geth

当您启动此客户端时,它会连接到其他客户端(也称为节点)的网络以下载同步块。它将不断与其他节点通信以使其副本保持最新。它还具有挖掘区块并将交易添加到区块链、验证和执行区块交易的能力。它还充当服务器,您可以通过 RPC 访问公开的 API 接口。

这是一个命令行工具以太坊挖矿专线是什么,允许您连接到正在运行的节点并执行各种操作,例如创建和管理帐户、查询区块链、签署和提交交易到区块链等等

p>

我们来谈谈创建以太坊私有链的一般步骤:

1.操作系统准备linux(centos6.7)

2.golang 安装

3.下载以太坊

以太坊挖矿专线是什么

4.安装以太坊

5. 创世区块文件的准备

6.创世块初始化

7.以太坊启动

=========================================

1.最好的操作系统是centos6.5以上

2.使用yum命令安装golang语言

先更新下yum 源:
 [root@localhost src]# rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/i386/epel-release-6-8.noarch.rpm

[root@localhost src]# yum install golang

3.以太坊源码下载,演示链接为

[root@localhost src]# wget

以太坊挖矿专线是什么

[root@localhost src]#解压v1.7.3.zip

[root@localhost src]# cdgo-ethereum-1.7.3/

4.安装以太坊

[root@localhost src]# 制作

5. 创世区块文件的准备

在go-ethereum-1.7.3/build/bin目录下创建一个init.json的文本文件,内容如下:

{ "config": 
  {
    "chainId": 10,
    "homesteadBlock": 0,
    "eip155Block": 0,
    "eip158Block": 0
  },
"alloc" : {},
"coinbase" : "0x0000000000000000000000000000000000000000",
"difficulty" : "0x02000000",
"extraData" : "",
"gasLimit" : "0x2fefd8",
"nonce" : "0x0000000000000042",
"mixhash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp" : "0x00"
}

参数名称参数说明

混合哈希

与nonce一起用于挖矿,前一个区块的一部分产生的哈希。注意他和nonce的设置需要满足以太坊黄皮书4.3.4.Block Header Validity,

随机数

以太坊挖矿专线是什么

nonce 是用于挖掘的 64 位随机数。注意他和mixhash的设置需要满足以太坊黄皮书4.3.4.Block Header Validity,

难度

设置当前区块的难度。如果难度太高,cpu挖矿就会很困难。在此处设置较低的难度

分配

用于预设账号和账户中的以太币数量。因为私链挖矿比较容易,所以我们不需要预置有币的账户,需要的时候可以自己创建。

币库

矿工账号以太坊挖矿专线是什么,填写即可

时间戳

设置创世块的时间戳

父哈希

前一个区块的hash值,因为是创世区块,所以这个值为0

以太坊挖矿专线是什么

额外数据

补充信息,随便填,你可以填写你的个人信息

气体限制

该值设置了 GAS 总消耗量的限制,用于限制区块可以包含的交易信息的总和。因为我们是私链,请填写最大值。

6.创世块初始化

在go-ethereum-1.7.3/build/bin目录下执行如下命令,完成创世块的创建:

[root@localhost bin]# ./geth  --datadir "/root/chain" init init.json

注意:上述命令中 --datadir 后面的 /root/chain 可以任意指定,无需提前创建,但必须保证有足够的磁盘空间。 init.json是我们上一步创建的文件,注意文件名相同。

7.以太坊启动

[root@localhost bin]# ./geth --rpc --rpccorsdomain "*" --datadir "/root/chain" --port "30303" --rpcapi "db,eth,net,web3" --networkid 100000 console
注意:上面命令中–datadir 后的”/root/chain”要跟我们上一步的–datadir 参数一致。
一直到出现Welcome to the Geth JavaScript console! 句话,并自动进入geth的命令行则说明以太坊私有链安装成功了。

至此,我们的私链已经搭建成功。

以太坊挖矿专线是什么

8.开始网络时间同步:

Linux的时间分为System Clock(系统时间)和Real Time Clock (硬件时间,简称RTC)。
系统时间:指当前Linux Kernel中的时间。
硬件时间:主板上有电池供电的时间。
查看系统时间的命令: #date
设置系统时间的命令: #date –set(月/日/年 时:分:秒)
例:#date –set “10/11/10 10:15”
查看硬件时间的命令: # hwclock
设置硬件时间的命令: # hwclock –set –date = (月/日/年 时:分:秒)
上述提到的是手动设置时间到一个时间点,可能与当前网络的时间有误差。下面介绍一下与时间服务器上的时间同步的方法
1.  安装ntpdate工具
# yum -y install ntp ntpdate
2.  设置系统时间与网络时间同步
# ntpdate cn.pool.ntp.org
3.  将系统时间写入硬件时间
# hwclock --systohc

参考:



9.查看日志的方法
启动以太坊的时候使用命令:

./geth --rpc --rpccorsdomain "*" --datadir "/root/chain" --port "30303" --rpcapi "db,eth,net,web3" --networkid 100000 console 2>>eth_output.log

本次启动后日志记录到文件 eth_output.log

查看日志:

tail -f eth_output.log

10.查看账户余额

开始挖矿后通过命令查看账户钱包有多少矿

eth.getBalance(eth.accounts[0])

或网络3.eth.getBalance(eth.accounts["0x6c24c7e7114726a73b217af292681de445e071c7"])

查询以查看格式化的以太币余额

web3.fromWei(eth.getBalance(eth.coinbase), "ether")