主页 > imtoken冷钱包苹果版下载 > 1.区块链——Genesis block(windows私有链以太坊网络搭建)

1.区块链——Genesis block(windows私有链以太坊网络搭建)

imtoken冷钱包苹果版下载 2023-11-22 05:07:18

最近迷上了区块链,然后迷上了造区块链,再迷上了Genesis,创造数字货币,然后自己挖来装。 . . . . . .

这几天不知道反复失败了多少次。 事情发生的那一刻,我的内心无法表达。 我兴奋地站了起来,然后发现我在办公室,然后装作若无其事地去厕所洗脸。

1、作为当今最大的区块链开源平台,必须安装以太坊

Geth windows官方安装指南:

(英文,建议使用谷歌浏览器,右键直接翻译)

ps:安装的时候在c盘找到cmd.exe右键以管理员权限安装,因为需要安装很多安装包,不然会报错

2、看白皮书以太坊私链如何确认区块,看白皮书,看白皮书,重要的事情说三遍

区块链白皮书地址:

3. 因为geth需要同步所有的区块,所以时间超级超级长。 我花了一天时间完成同步

4、以上操作可根据官方文档进行。 一切准备就绪后,创建json格式的Genesis区域文件,然后在json文件中填写新的区块配置:

{

“配置”:{

“链号”:15,

“家园块”:0,

“eip155块”:0,

“eip158块”:0

},

“币库”:“0x0000000000000000000000000000000000000000”,

“难度”:“0x40000”,

以太坊私链如何确认区块_以太坊区块确认时间要多久_sitechainb.com 以太坊区块链查询

“额外数据”:“”,

“gasLimit”:“0xffffffff”,

“随机数”:“0x0000000000000042”,

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

“parentHash”:“0x0000000000000000000000000000000000000000000000000000000000000000”,

“时间戳”:“0x00”,

“分配”:{}

}

解释一下各个参数的作用:

混合哈希

与 nonce 一起用于挖掘,从前一个块的一部分生成的哈希。 注意him和nonce的设置需要满足黄皮书4.3.4描述的条件。 区块头有效性,以太坊 (44) 部分。 .

随机数

nonce 是用于挖矿的 64 位随机数。 注意it和mixhash的设置需要满足黄皮书4.3.4描述的条件。 区块头有效性以太坊私链如何确认区块,(44) of Ethereum。

困难

设置当前区块的难度。 如果难度太高,CPU挖矿就会很困难。 在这里设置一个较小的难度

分配

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

币库

矿机账号,随便填

以太坊区块确认时间要多久_以太坊私链如何确认区块_sitechainb.com 以太坊区块链查询

时间戳

设置创世块的时间戳

父哈希

上一个区块的哈希值,因为是创世区块,所以这个值为0

额外数据

附加信息,随便填,可以填写你的个人信息

气体限制

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

5.启动区块链节点:

进入以太坊的Windows目录,创建一个文件夹链,存放区块数据,然后将之前创建的json文件放入其中。 我下载安装的默认路径如图:

以太坊区块确认时间要多久_以太坊私链如何确认区块_sitechainb.com 以太坊区块链查询

piccgenesis.json 是创世块配置

6.

一种。 进入geth安装目录:C:\Users\admin\AppData\Roaming\Ethereum

sitechainb.com 以太坊区块链查询_以太坊私链如何确认区块_以太坊区块确认时间要多久

b. 执行:geth --datadir "%cd%\chain" init piccgenesis.json

以太坊区块确认时间要多久_以太坊私链如何确认区块_sitechainb.com 以太坊区块链查询

C。 设置数据存储地址并初始化Genesis模块:

启动 Geth 启动以太坊区块链。 为了构建私有链,需要在启动 Geth 时添加一些参数。 说明如下:

以太坊区块确认时间要多久_sitechainb.com 以太坊区块链查询_以太坊私链如何确认区块

geth --identity "PICCetherum" --rpc --rpccorsdomain "*" --datadir "%cd%\chain" --port "30303" --rpcapi "db,eth,net,web3" --networkid 93318 控制台

执行成功后会进入javascript控制台:

以太坊区块确认时间要多久_sitechainb.com 以太坊区块链查询_以太坊私链如何确认区块

以太坊私有网络搭建成功

PS:Geth参数含义如下:

身份

区块链的标记,随便填,用来标记当前网络的名称

在里面

指定创世块文件的位置并创建初始块

数据目录

设置当前区块链网络数据存放位置

港口

网络监听端口

rpc

启动rpc通信,即可部署调试智能合约

rpcapi

设置允许连接的rpc客户端,一般为db、eth、net、web3

网络编号

设置当前区块链的网络ID,用于区分不同的网络,是一个数字

以太坊区块确认时间要多久_sitechainb.com 以太坊区块链查询_以太坊私链如何确认区块

安慰

启动命令行模式,可以在Geth中执行命令

7、进入JS控制台后,使用节点创建账号:

一种。 输入命令查看账户信息:

命令:eth.accounts

以太坊私链如何确认区块_sitechainb.com 以太坊区块链查询_以太坊区块确认时间要多久

一般情况下,没有这样的输出。 下面的输出是[],因为我之前创建过,所以有账号。

sitechainb.com 以太坊区块链查询_以太坊私链如何确认区块_以太坊区块确认时间要多久

b. 创建一个帐户:

命令:personal.newAccount("wangyaxing"),

以太坊区块确认时间要多久_以太坊私链如何确认区块_sitechainb.com 以太坊区块链查询

d. 再次输入查询账户命令:eth.accounts

可以看出我有两个账户存储在一个数组中

sitechainb.com 以太坊区块链查询_以太坊私链如何确认区块_以太坊区块确认时间要多久

!!!!!!

8.账户已经有了,这个区块链是我们自己创造的,里面的币量也是我们自己定义的,所以,当然要开始赚钱了,赚大钱

赚钱的方法英文叫做Mining,俗称挖矿

一种。 在命令行执行开始挖矿:

命令:miner.start()

以太坊区块确认时间要多久_sitechainb.com 以太坊区块链查询_以太坊私链如何确认区块

以太坊私链如何确认区块_以太坊区块确认时间要多久_sitechainb.com 以太坊区块链查询

因为是私有节点,没有竞争对手,分分钟就能拿到很多奖励,

输入命令:miner.stop(),停止挖矿

以太坊区块确认时间要多久_以太坊私链如何确认区块_sitechainb.com 以太坊区块链查询

那我们看看我们的账户钱包里有多少矿:

查询钱包余额命令:eth.getBalance(eth.accounts[0])

以太坊私链如何确认区块_sitechainb.com 以太坊区块链查询_以太坊区块确认时间要多久

看看我们的账户,有多少个以太币,你是不是很震惊? 哈哈哈哈哈哈哈哈哈哈哈哈哈! ! !

PS:查询的是第一个账户的余额。 当我们挖矿时,奖励存储默认到第一个帐户。 如果第二个账户需要,我们可以执行转账指令;

eth.sendTransaction({from:"第一个账户的账号",to:"第二个账户的账号",value:web3.toWei(1000000,"ether")})

直接执行该方法会抛出异常:

帐户被锁定

在 web3.js:3119:20

在 web3.js:6023:15

在 web3.js:4995:36

在:1:1

是因为没解锁

解锁命令:

personal.unlockAccount("第一个账号的账号", "设置的密码")

然后需要执行挖矿命令完成转账,会看到转账数量增加。