PoA以太私链搭建

这篇具有很好参考价值的文章主要介绍了PoA以太私链搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

学习记录


一、启动PoA节点

1. 下载并安装geth

根据需要下载相应版本的geth。
poa私链无法同步数据,区块链搭建,以太坊,区块链,数字货币
这里我用的是64位Windows版本,也就是图片上第三个。下载完成后,点开,在电脑上完成安装,并根据需要进行环境变量的配置。

2. 启动节点

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

win+R打开cmd窗口,输入

geth version

如果安装成功,就会出现如下显示
poa私链无法同步数据,区块链搭建,以太坊,区块链,数字货币

(2)创建账户

由于我们运用PoA共识算法,先在四个节点文件夹中创建账户:
(这个操作同时会建立节点文件)

geth account new --datadir node0/keystore
geth account new --datadir node1/keystore
geth account new --datadir node2/keystore
geth account new --datadir node3/keystore

输入命令后,会要求输入密码,此时输入内容不会显示,输完回车即可,一个节点的新账户建立完成,如下图所示:
poa私链无法同步数据,区块链搭建,以太坊,区块链,数字货币
完成四个节点的新账户建立,会出现4个节点文件夹:
poa私链无法同步数据,区块链搭建,以太坊,区块链,数字货币

(3)准备创世块

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

{
  "config": {
    "chainId": 12400,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "clique": {
      "period": 5,
      "epoch": 3000
    }
  },
  "difficulty": "1",
  "gasLimit": "8000000",
  "extradata": "0x0000000000000000000000000000000000000000000000000000000000000000e866857a657ecd01ed11157cacb5373c0093d5d1afabbf959166556bef72af10887d2a3fd7133c6cc332c083987ce8c80874c79ab8be5aa6d073ba29ea80dc20355278107e4364a59af7d5f4805ab1660000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  "alloc": {
    "565eDb916c178419A413977dcC18CE82A3A2d4C9": { "balance": "300000000000000000000000000" }
  }
}
  • 默认的验证者是在 extradata 中, extradata 是以64个0开头,130个0结尾,中间是验证者的地址(去除地址前的0x),将创建4个账户时,出现的账户地址依次复制粘贴到下述“validator”的位置。
   > 0x000....(32bytes)<validator1><validator2><validator3><validator4>000...(65bytes) 
  • 这里可以和PoW的创世块做个对比。
  • 注意chain ID(懒得说了,看PoW的那篇)

(4)初始化创世块

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

datadir node init genesis.json

这里我使用四个节点node0、node1、nede2、node3:
poa私链无法同步数据,区块链搭建,以太坊,区块链,数字货币

(5)启动节点

此时我们要启动四个节点:

  • 命令如下:
geth --datadir node0 --networkid 981027 --ipcdisable --http.port 8545 --ws.port 8546 --port 30303 console

因为节点内及节点之间要通信,就必须打开端口。

  • 节点2可能会出现报错:Fatal: Error starting protocol stack: Access is denied.这是因为开启了2个进程,只需要在启动命令中的console前加 –ipcdisable 即可。

……
于是启动了四个节点,如下所示
poa私链无法同步数据,区块链搭建,以太坊,区块链,数字货币

2.区块打包

(1)节点地址

节点启动后,会进入geth控制台,在控制台中键入admin.nodeInfo.enode会打印出节点信息。并在各个节点文件夹下,新建一个建一个static-nodes.json的文件,将各个节点信息按下图所示写入文件中:
poa私链无法同步数据,区块链搭建,以太坊,区块链,数字货币

(2)区块打包

断开各个节点(CTRL+D),按如下命令重新启动节点,节点之间即可互通,并开始创建区块。

geth --datadir node0 --networkid 981027 --ipcdisable  --miner.etherbase 0x1901300c3e828d84651c2ba9caa21db60195c2f4 --unlock 0x1901300c3e828d84651c2ba9caa21db60195c2f4   --mine --http.port 8545 --http --http.api "admin,eth,txpool,personal,web3" --ws.port 8546 --port 30303 --allow-insecure-unlock console

因为创世块中默认设置了四个验证者,需要启动三个节点挖矿,区块才会打包。

(3)添加验证者

启动 node3 ,将node3加入到验证者,node3中的 eth.accounts[0] 地址为 ea80dc20355278107e4364a59af7d5f4805ab166

只要在任意一个节点的geth控制台中键入 clique.propose(0xea80dc20355278107e4364a59af7d5f4805ab166,true) 即可发起一个提议,只需默认验证中51%以上的地址投票通过, ea80dc20355278107e4364a59af7d5f4805ab166 账户即可成为新的验证者

在当前节点键入 clique.proposals 可以查看当前节点发起的提议;

投票:在其他验证者节点键入clique.propose(0xea80dc20355278107e4364a59af7d5f4805ab166,true)
poa私链无法同步数据,区块链搭建,以太坊,区块链,数字货币

总结

大概写完了文章来源地址https://www.toymoban.com/news/detail-789284.html

到了这里,关于PoA以太私链搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 三步轻松快速搭建以太坊私链测试

    首先以太坊私链有很多种搭建方式,本篇介绍用docker的方式快速搭建测试链,可以用来测试合约、做实验等。不适用于生产环境。 (事先说明openethereum在2022年5月份的时候,已经被不再更新,仅保留现有版本) 利用docker搭建以太坊私链,当然需要装一下docker和docker compose了,

    2024年02月08日
    浏览(31)
  • 以太坊私链搭建(二)——genesis.json字段解读

    genesis.json文件用于配置生成以太坊私链网络的创世区块,当我们需要去创建一个创世区块时,我们可以通过修改genesis.json文件内的初始参数将这些数据写入创世区块。下面是以太坊官方文档给出的一个例子: config config是决定私链设置的核心配置。 chainId: 链ID,用于标识当前

    2024年02月05日
    浏览(30)
  • Matlab群体智能优化算法之鹈鹕优化算法(POA)

    Pelican Optimization Algorithm: A Novel Nature-Inspired Algorithm for Engineering Applications 参考文献:Trojovský P, Dehghani M. Pelican Optimization Algorithm: A Novel Nature-Inspired Algorithm for Engineering Applications[J]. Sensors, 2022, 22(3): 855. 注:仅记录学习,如有侵权,联系删除。 The behavior and strategy of pelicans when

    2023年04月08日
    浏览(30)
  • 分类预测 | MATLAB实现POA-CNN鹈鹕算法优化卷积神经网络多特征分类预测

    分类效果 基本描述 1.Matlab实现POA-CNN鹈鹕算法优化卷积神经网络多特征分类预测,多特征输入模型,运行环境Matlab2018b及以上; 2.基于鹈鹕算法(POA)优化卷积神经网络(CNN)分类预测,优化参数为,学习率,批处理,正则化参数; 3.多特征输入单输出的二分类及多分类模型。程序

    2024年02月07日
    浏览(35)
  • 《如何搭建一条私有多Geth节点的链》最新版以太坊私链搭建官方文档要点翻译

    Last edited on January 31, 2023 This guide explains how to set up a private network of multiple Geth nodes. An Ethereum network is private if the nodes are not connected to the main network. In this context private only means reserved or isolated, rather than protected or secure. A fully controlled, private Ethereum network is useful as a backend for core de

    2024年02月08日
    浏览(44)
  • 时序预测 | MATLAB实现POA-CNN-BiGRU鹈鹕算法优化卷积双向门控循环单元时间序列预测

    预测效果 基本介绍 MATLAB实现POA-CNN-BiGRU鹈鹕算法优化卷积双向门控循环单元时间序列预测(完整源码和数据) 1.MATLAB实现POA-CNN-BiGRU鹈鹕算法优化卷积双向门控循环单元时间序列预测(完整源码和数据) 2.输入输出单个变量,时间序列预测预测; 3.多指标评价,评价指标包括:

    2024年02月07日
    浏览(34)
  • 回归预测 | Matlab实现POA-CNN-SVM鹈鹕算法优化卷积神经网络-支持向量机多变量回归预测

    效果一览 基本介绍 1.POA-CNN-SVM鹈鹕算法优化卷积神经网络-支持向量机的多变量回归预测 可直接运行Matlab; 2.评价指标包括: R2、MAE、RMSE和MAPE等,代码质量极高,方便学习和替换数据。要求2021版本及以上。 3.鹈鹕算法POA优化的参数为:CNN的批处理大小、学习率、正则化系数,能

    2024年02月05日
    浏览(37)
  • 回归预测 | MATLAB实现POA-CNN-LSTM鹈鹕算法优化卷积长短期记忆神经网络多输入单输出回归预测

    预测效果 基本介绍 MATLAB实现POA-CNN-LSTM鹈鹕算法优化卷积长短期记忆神经网络多输入单输出回归预测(完整源码和数据) 1.MATLAB实现POA-CNN-LSTM鹈鹕算法优化卷积长短期记忆神经网络多输入单输出回归预测(完整源码和数据) 2.输入多个特征,输出单个变量,多输入单输出回归预测

    2024年02月13日
    浏览(34)
  • 回归预测 | MATLAB实现POA-CNN-BiLSTM鹈鹕算法优化卷积双向长短期记忆神经网络多输入单输出回归预测

    预测效果 基本介绍 MATLAB实现POA-CNN-BiLSTM鹈鹕算法优化卷积双向长短期记忆神经网络多输入单输出回归预测(完整源码和数据) 1.MATLAB实现POA-CNN-BiLSTM鹈鹕算法优化卷积双向长短期记忆神经网络多输入单输出回归预测(完整源码和数据) 2.输入多个特征,输出单个变量,多输入单

    2024年02月15日
    浏览(31)
  • 【MATLAB源码-第113期】基于matlab的孔雀优化算法(POA)机器人栅格路径规划,输出做短路径图和适应度曲线。

    POA(孔雀优化算法)是一种基于孔雀羽毛开屏行为启发的优化算法。这种算法模仿孔雀通过展开其色彩斑斓的尾羽来吸引雌性的自然行为。在算法中,每个孔雀代表一个潜在的解决方案,而它们的尾羽开屏行为则被用来模拟解决方案的搜索和优化过程。 POA算法的核心思想是通

    2024年01月18日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包