当前位置:首页>区块链文章>区块链推广>Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

一、下载并安装Geth客户端

下载地址:https://geth.ethereum.org/downloads/*

下载最新版本的geth(win10版本Stable releases)(选择自己电脑对应的版本)
选第3个,下载并安装(安装时选择一个自己方便操作的路径即可):
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

注意:如果电脑开了代理可能无法下载,如遇到下面提示关闭代理即可。

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

下载完成后打开文件夹:

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

验证是否安装成功:

打开cmd,输入以下指令(查看帮助文档):geth -help

出现以下内容即为安装成功

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

至此以太坊客户端已经安装完毕

测试geth同步主网络(配置私链的话这步不做也可)

直接打开geth.exe

geth会自动运行同步,在一开始的提示中也有说明区块的存储路径在哪里

我的路径是:C:\\Users\\Edward\\AppData\\Roaming\\Ethereum (一般为管理员账户路径里)

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

注意:要查看AppData,需要在查看里勾选查看隐藏的项目
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

二、创世区块配置文件(开始搭建私链:注意关闭正在同步主网的geth)

新建创世区块文件

在geth安装目录下新建*genesis.json*(此为文件名)文件,输入以下内容(并保存)

{  \"config\": {    \"chainId\": 8434,    \"homesteadBlock\": 1,    \"eip150Block\": 2,    \"eip150Hash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",    \"eip155Block\": 3,    \"eip158Block\": 3,    \"byzantiumBlock\": 4,    \"alien\": {      \"period\": 2,      \"epoch\": 300,      \"maxSignersCount\": 5,      \"minVoterBalance\": 100000000000000000000,      \"genesisTimestamp\": 1536136198,      \"signers\": [            \"0x393faea80893ba357db03c03ee73ad3e31257469\",            \"0x30d342865deef24ac6b3ec2f3f8dba5109351571\",            \"0xd410f95ede1d2da66b1870ac671cc18b66a97778\"      ]    }  },  \"nonce\": \"0x0\",  \"timestamp\": \"0x5b8f92c2\",  \"extraData\": \"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000\",  \"gasLimit\": \"0x47b760\",  \"difficulty\": \"0x1\",  \"mixHash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\",  \"coinbase\": \"0x0000000000000000000000000000000000000000\",  \"alloc\": {    \"cbfc29c31a31c869f9eb59a084d9019965978a7e\": {      \"balance\": \"0x31d450f18af132720000000\"    },    \"393faea80893ba357db03c03ee73ad3e31257469\": {      \"balance\": \"0xd3c21bcecceda1000000\"    },    \"30d342865deef24ac6b3ec2f3f8dba5109351571\": {      \"balance\": \"0xd3c21bcecceda1000000\"    },    \"d410f95ede1d2da66b1870ac671cc18b66a97778\": {      \"balance\": \"0xd3c21bcecceda1000000\"    },    \"a25dc63609ea7ea999033e062f2ace42231c0b69\": {      \"balance\": \"0xd3c21bcecceda1000000\"    }  },  \"number\": \"0x0\",  \"gasUsed\": \"0x0\",  \"parentHash\": \"0x0000000000000000000000000000000000000000000000000000000000000000\"}

重要参数说明

参数名 描述
chainID 指定了独立的区块链网络 ID。网络 ID 在连接到其他节点的时候会用到,以太坊公网的网络 ID 是 1,为了不与公有链网络冲突,运行私有链节点的时候要指定自己的网络 ID。不同 ID 网络的节点无法相互连接

homesteadBlock

取值为0表示正在使用homesteadBlock版本。以太坊的发展分成了四个阶段:(每个阶段进步到下一个阶段都是通过硬分叉的方式实现的)1.Frontier(前沿):2015年7月30日,以太坊发布了Frontier阶段,此时的软件还不太成熟,但可以进行基本的挖矿测试去中心化应用(Dapps),该阶段参与者主要为开发者。 2.HomesteadBlock(家园):在2016年3月14日(圆周率节),以太坊发布了HomesteadBlock阶段。以太坊开始平稳运行,提供了图形界面的钱包,普通用户也可以体验和使用以太坊。 3.Metropolis(大都会):Metropolis被分成了两个阶段:Byzantium(拜占庭)和Constantinople (居士坦丁堡)。 2017.10.16,以太坊拜占庭硬分叉成功,引入了包括:zk-SNARKs(简明非交互零知识证明)、revert功能、return和抽象账户。 2019年2月底,以太坊区块链的第7,080,000区块作为激活点正式开启君士坦丁堡硬分叉,点在于将以太坊的共识机制由PoW向PoW+PoS混合机制过渡,从而使整个以太坊网络更加的轻盈、快捷与安全。按官方说法,具体在现有以太坊PoW主网上进行升级的有以下5个方面:1).EIP 145:给EVM增加移位相关指令,包括左移SHL,逻辑右移SHR,算术右移SAR(2).EIP 1014:产生合约地址的一种新规则,与状态通道有关。规则为keccak256( 0xff ++ address ++ salt ++ keccak256(init_code)))[12:](3).EIP 1052:为EVM增加EXTCODEHASH指令,这个指令可以获得一个合约bytecode的keccak256的hash值;(4).EIP 1283:修改EVM的SSTORE指令gas计算方式,预计会减少许多合约的gas消耗,需要硬分叉支持;(5).EIP 1234:将是潜在最有争议的提案,也需要硬分叉支持,它包括难度炸弹(Difficulty Bomb)协议推迟12个月和挖矿奖励调整,难度炸弹使挖矿难度随时间推移越来越高,挖矿奖励调整将挖矿奖励从3个降低到2个4.Serenity(宁静)
eip155Block eip是ethereum improvement proposal的缩写,你的链不会因为因为这些提议分叉,故设置为“0”即可
mixhash 一个 256 位的哈希证明,与 nonce 结合使用,证明已经对该块进行了足够的计算:工作量证明(PoW)。
nonce 一个64位的哈希证明,与mixhash结合使用,证明在该块上进行了足够的计算:工作量证明(PoW)。
difficulty 设置当前区块的难度,如果难度过大,cpu挖矿就很难,这里设置较小难度
alloc 以太坊账户信息,可以留空,等待部署完成后再启动以太坊创建账户;也可以预先配置好以太坊账户及其余额。这里的账户余额以wei为单位。
coinbase 矿工的账号,随便填
timestamp 设置创世块的时间戳
parentHash 上一个区块的hash值,因为是创世块,所以这个值是0
extraData 附加信息,随便填,可以填你的个性信息
gasLimit 该值设置对GAS的消耗总量限制,用来限制区块能包含的交易信息总和,因为我们是私有链,所以填最大。

三、初始化

genesis.json文件夹路径下打开cmd,执行命令:geth –datadir .\\db init genesis.json
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

执行完这条命令后会在geth安装目录下出现一个db文件夹,其中chaindata存放区块数据,keystore存放账户数据

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

四、启动节点

命令:geth –http –http.api db,eth,net,web3,personal –datadir .\\db –networkid 1997 console 2>> log2020526.log

注意:搭建过程中我的geth一直是处于未关闭状态
重要参数解释:

port:指定以太坊网络监听端口,默认为30303

http:开启HTTP-RPC服务,可以进行智能合约的部署和测试

http.api:基于HTTP-RPC提供的API

http.addr:指定HTTP-RPC服务监听地址,默认为localhost

http.port:指定HTTP-RPC服务监听端口号,默认为8545

networkid:指定以太坊网络id,默认启动id为1,代表公有链,我们搭建的是私有链,因此指定为chainId(在genesis.json配置)

console:启动命令行模式

2>> log2020526.log:重定向,记录日志

启动成功后如下图所示:
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

可以验证节点信息
命令:admin.nodeInfo

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

五、新建账户

输入eth.accounts查看已存在账号:

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程
[]说明暂无账号

输入以下指令创建账号:personal.newAccount()

会提示你输入密码,需要自己记住,测试不要太复杂

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

双引号内是自己的地址

执行成功后会产生账户的公钥(地址),然后在keystore文件夹下就会产生相应的账户文件:
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

可以通过以下命令来查看对应账户的余额

eth.accounts[0] //查看第一个账号地址

eth.getBalance(eth.accounts[0])

eth.getBalance(“0x7326bc89fe5a1d593afb5fa02479974be776a081”) //括号内也可以直接填地址
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程
发现账户余额是0,因此需要通过挖矿获取以太币

六、下载钱包MetaMask并导入创建的账户

MetaMask是一个chrome插件,下载需要翻墙,算是个可视化钱包吧
下载完成之后,在右上角会出现一个小狐狸标志,点开,点击网络使其显示隐藏的网络localhost 8545(并连接)

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

这里有一个问题就是导入自己本地的账户小狐狸会崩掉,一直未响应(我暂时未解决)

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

所以我们采取向我们本地私链导入metamask上已创建的账号

参考:https://blog.csdn.net/weixin_43988498/article/details/108394012

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

导出私钥

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

复制私钥到本地一个txt文件中保存
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

然后输入

geth account import +你的私钥文件路径

会提示你输入密码,这个密码是在geth控制台使用的密码

发现生成的账户就是在MetaMask上的账户。

此时查看当前生成密钥文件位置:

geth account list

找到对应账户后面的存储位置,把文件放到我们创建私链项目中的keystore文件夹中即可。
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

在geth中输入eth.accounts查看新导入的账号

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

七、挖矿

挖矿所得的奖励会进入矿工的账户,这个账户叫做coinbase,默认情况下coinbase是本地账户中的第一个账户,如下图所示:指令:eth.coinbase

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

可以输入 miner.setEtherbase(账号) 设置挖矿账号

我现在设置刚刚导入的账号为挖矿地址
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

查看余额 eth.getBalance(账号)
Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

通过以下命令开启挖矿,参数是线程数,这里设置为1**(提示null不必理会)**
miner.start(1)

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

输入指令和打开小狐狸都可以看到账号余额在增加

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

通过以下指令停止挖矿miner.stop()

Win10使用Geth客户端搭建以太坊私有链、连接可视化钱包及挖矿 多图 保姆级教程

到此我们的私链搭建就大功告成啦

参考链接

https://blog.csdn.net/cjm083121/article/details/106319518

https://blog.csdn.net/weixin_43988498/article/details/108394012

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
区块链推广

Solidity-ERC20代币的锁仓与释放-2

2021-12-13 10:10:21

区块链推广

韭菜综合症诊疗记录

2021-12-13 10:10:33

重要说明

本站资源大多来自网络,如有侵犯你的权益请联系管理员 区块链Bi站  或给邮箱发送邮件834379394@qq.com 我们会第一时间进行审核删除。 站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果你遇到支付完成,找不到下载链接,或者不能下载,或者解压失败,先不要忙,加客服主的QQ:834379394 (客服有可能有事情或者在睡觉不能及时的回复您,QQ留言后,请耐心等待即可!)

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索