windows搭建pow私有链 学习笔记

本文详细介绍了如何在Windows环境下搭建基于POW(工作量证明)共识算法的以太坊私有链。首先,下载并安装Geth,然后通过命令行验证安装,创建并初始化创世块。接着,启动节点并设置相关参数,最后创建账户并开始挖矿。整个过程清晰地展示了从零开始构建以太坊私有链的步骤。
摘要由CSDN通过智能技术生成


前言

搭建pow私有链


一、私有链搭建

1. 下载并安装geth

  • Geth 又名Go Ethereum.是以太坊协议的三种实现之一,由Go语言开发,完全开源的项目。Geth可以被安装在很多操作系统上,包括Windows、Linux、Mac的OSX、Android或者IOS系统.

  • geth的作用:Geth是以太坊协议的具体落地实现,通过Geth,你可以实现以太坊的各种功能,如账户的新建编辑删除,开启挖矿,ether币的转移,智能合约的部署和执行等等

  • Geth官网:https://geth.ethereum.org/

  • Geth的Github地址:https://github.com/ethereum/go-ethereum
    根据需要下载相应版本的geth。
    在这里插入图片描述
    这里我用的是64位Windows版本,也就是图片上第三个。下载完成后,点开,在电脑上完成安装,并根据需要进行环境变量的配置。

2. 启动节点

(1)验证geth是否安装完成

win+R打开cmd窗口,输入

geth version

如果安装成功,就会出现如下显示
在这里插入图片描述

(2)准备创世块

这里创建基于pow(工作量证明)共识算法的创世块,我们首先要创建genesis.json 文件。(可以直接讲下述文本复制,打开记事本粘贴,然后重命名文件)

{
  "config": {
    "chainId": 2021,   
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "ethash": {}
  },
  "nonce": "0x0",
  "mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "difficulty": "0x00002",
  "alloc": { },
  "coinbase": "0x0000000000000000000000000000000000000000",
  "timestamp": "0x00",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "extraData": "",
  "number": "0x0",
  "gasUsed": "0x0",
  "gasLimit": "0x989680"
  
  
}
  • 这里大概介绍下一块区块的结构,如图所示,上述文本可以对应一下
    在这里插入图片描述
  • 关于chainID,尽量不要与这些ID重复即可 (https://chainlist.org/)
    在这里插入图片描述

(3)初始化创世块

打开控制台,cd到 genesis.json 所在目录,键入命令

geth --datadir data init genesis.json
  • 这里我用data2 创建新的创世块,因为我已经有一个data1的节点了。
    在这里插入图片描述
    出现红框中的内容就说明创世块初始化成功,这时文件夹会出现一个data2的文件夹
    在这里插入图片描述

(4)启动节点

打开控制台,cd到 genesis.json 所在目录,键入命令

geth --datadir data --networkid 2021 --http --http.corsdomain "*"  --http.api " admin,net,miner,personal,eth,web3,txpool"   --http.addr 0.0.0.0 --allow-insecure-unlock console

上述是单节点的启动,如果要使用多节点,并有节点内的通信的,要打开三个端口,如下所示

geth --datadir data2 --networkid 2021 --http --http.port 2545 --ws --ws.port 2546 --port 20303 --http.corsdomain "*"  --http.api " admin,net,miner,personal,eth,web3,txpool"   --http.addr 0.0.0.0 --allow-insecure-unlock console

在这里插入图片描述
如上所示,节点启动成功。、

3. 创建链

(1)相连窗口

上述窗口由于一直在跳动,为方便查看,再开一个窗口与它相连:

geth attach http://127.0.0.1:2545

由于http的窗口,我设置的是2545,默认是8545,于是出现如下所示的样子
在这里插入图片描述

  • 最后一行:
    modules: admin:1.0 eth:1.0 miner:1.0 net:1.0 personal:1.0 rpc:1.0 txpool:1.0 web3:1.0
    这是命令模块,有admin、eth、miner、net、personal、rpc、txpool、web3,直接在窗口输入模块,即可查询命令,也可以在https://geth.ethereum.org/docs/interface/command-line-options查询相关命令。

(2)创建aacount

在窗口输入

personal.newAccount("0000")

其中的0000是account密码
在这里插入图片描述

(3)创建块

miner.start()

我使用2个线程进行创块,于是有
在这里插入图片描述
运行的那个窗口就会开始创块:
在这里插入图片描述


总结

不想写了==

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值