唐山创业网
我们的愿景是建立一种异构多链框架,连接多个平行链,在一个区块链 x 系统上实现 Dapp 和智能合约唐山创业网励志,从而无缝地交易其他链上的数据和资产。
我做的第一个练习是将 Node 部署为云实例。 我称之为“框架的Hello World”。 经过几个小时同步“Lenke ”的连接和同步验证器节点中现有的 150 万个区块(反映了该项目的 POC-2 状态)。
在下面的屏幕截图中,您可以看到我的节点“clb-”,它连接到 24 个对等点,每 5 秒处理一个新块,并将其添加到其本地区块链(遥测用户界面)。
请注意,本文涵盖了验证器节点在 . 要将其转换为积极参与权益证明 (POS) 协商过程的完全可信的验证器节点 - 需要额外的步骤,这些步骤将在另一篇博文中介绍。
验证者是维护网络的四个基本角色之一。 其他三个角色是;
白皮书中对这4个角色及其相互作用的描述如下:
验证人的角色取决于拥有足够高的保证金,尽管我们允许其他担保方指定一个或多个验证人作为代理人,因此验证人的部分担保不一定归验证人本身所有,而是归这些验证人所有。提名者。
那么验证者的主要任务是什么呢?
验证者必须运行具有高可用性和带宽的中继链客户端实现。 在每个区块,节点必须准备好接受在指定链上批准新区块的角色。 此过程涉及接收、验证和重新发布候选块。
引入了两个新概念,“中继链”和“平行链”,是. 让我们尝试用白皮书中的摘要来快速解释它们:
提供了一个基本的“中继链”唐山创业网,上面可以并行承载大量可验证的、全局一致的动态数据结构。 我们将这些数据结构称为平行链。
因此,我们的验证器节点是中继链的一部分,接收区块,如果该区块属于我们托管的平行链,则将它们验证到打包且完全同步的平行链数据库中。如果该区块属于不在我们范围内的平行链,然后
验证者节点将分配一个任务并将其提议给另一个平行链上的第三方,称为 。
如果您希望被提名为经批准的验证节点,则必须确保您的节点 7x24 运行,以便跟上全球平行链的发展步伐。 否则,渔民会发现这种不良行为并实施处罚,可能会将你踢出共识验证者的角色。
如下图所示,大约每 5 秒处理一个新块励志,传播时间为 502 毫秒。 您的节点必须准备好及时处理和传播此类请求。
准备验证器
我的所有云项目(无论是基于 Java 的机器人还是基于 Node.js 的前端)都在容器中运行。 这使我能够标准化和自动化部署以及运行时配置和调整。
基于“/:0.10.1”提供了自己的镜像“/”,映射到最新版本18.04。
提供的PaaS不是18.04,所以我会改为基于16.04版本,并通过名为“/clb-”的Hub来支持;
配置实例
在 PaaS 中,我创建了一个新的“”并从 Hub 加载了我的 clb 映像。
重新同步阶段的初始实例配置为 4-5,这意味着 CPU 在 1.6 GHz - 2.0 GHz 之间,内存在 512 MB 到 640 MB 之间。
我将数据库目录配置为保留在服务器的本地文件系统上,这样我们在重新部署新映像后就不会丢失完整的平行链数据库。
最后,我将 -name 'clb ' 参数添加到入口点。
运行验证器节点
我启动了实例,日志文件将显示同步进度。
创建平行链数据库的副本
第一步热点,节点必须在本地节点上构建完整的数据库。
从下面的屏幕截图中可以看出,链构建阶段在 14:30 左右完成,几乎使用了所有 CPU。 完成后,CPU 使用率下降至 200-250 MHz。 要构建约 500 万个区块的完整平行链,需要 6 小时的处理时间。 总体磁盘消耗约为 5 GB。
一旦加载完整的平行链,就可以重新配置实例。 测试的第一个实例配置包括 2,即 256 MB RAM 和 800 MHz CPU。
调整
对运行时统计数据的评估表明,我们节点的 RAM 限制(2 个节点为 256 MB)始终是最高的,这会导致额外的动态费用,这是次优的。
最后:不要忘记打开端口30333
正如您在此屏幕截图中看到的,某些节点仅连接到一半的平行链节点 (24)。