区块链 区块链技术 比特币公众号手机端

WAX技术指南第三期:构建一个WAX测试网区块生产节点

liumuhui 2年前 (2023-06-28) 阅读数 259 #NFT
文章标签 wax
在我们的第一期wax技术指南中,您学习了如何构建节点并将其同步到WAX公共测试网。提供API和种子服务是成为WAX服务提供商生态系统一部分的关键,但是要因您的努力获得回报并参与链的治理,您需要成为WAX测试网区块生产者。

WAX技术指南第三期:构建一个WAX测试网区块生产节点

WAX技术指南第三期将向您展示如何配置WAX测试网区块生产节点并将您的账户注册为 WAX测试网区块生产者。

01、如何构建WAX测试网区块生产者节点

在此示例中,我们将对区块生产者节点和 Cleos 接口节点使用与第一期WAX技术指南中使用的相同的WAX软件构建过程。

区块生产者节点也需要配置并同步到WAX测试网,与第一个WAX示例完全相同,稍后将在本示例中应用其他配置。

02、环境

区块生产者之间达成共识,任何Antelope生产部署的最佳实践是每个节点都服务于特定功能。特别是,区块生产者节点不应公开访问或用作公共API或对等点。

在这个例子中,我们将有三个不同的节点服务于特定的功能:

  • 公共 API 和对等节点

这是在第一篇WAX技术指南文章中创建的节点,将用于提供公共 API 和对等服务。它需要同步到当前的WAX测试网头块。

  • 区块生产者节点

这是用于在WAX测试网上安全签署区块的节点,也是本例中的主要附加生产节点。它将需要同步到当前的WAX测试网头块。

除了配置 EOSNation 发布的受信任公会的最新可用对等列表之外,允许它对等到您自己的公共对等节点或块节点也是一个好主意。

  • Cleos 接口节点

该节点是完全私有的,用于通过命令行与公共测试网进行交互。Ubuntu Terminal / MacOS Terminal / Windows Ubuntu Shell 是用于运行此私有接口的出色操作系统。

使用了两个包含 WAX 软件的应用程序:cleos是WAX软件的命令行界面,keosd 本质上是一个钱包/密钥管理器服务守护程序,用于存储私钥和签署数字消息。您可以在此处找到 WAX 软件二进制文件:~/wax-leap/build/programs/

由于您将把您的私钥导入keosd中,因此该节点受到保护并被视为私有将非常重要。

cleos使用您导入到keosd中的密钥作为授权,通过在nodeos中运行的API在网络上执行特权操作。

WAX技术指南第三期:构建一个WAX测试网区块生产节点

(图)WAX软件程序之间的关系

必须注意的是,在尝试将旧版本的cleos和keosd与更新的 Leap 3.x 节点一起使用时,有一些API查询/操作无法按预期工作的报告实例。建议确保您将cleos和keosd的3.x版本与Leap 3.x 节点一起使用。

06、获取测试网帐户

WAX 测试网区块生产者需要创建一个帐户,该帐户可用于注册成为代币持有者能够投票的生产者。

注册账户需要支付WAX测试网代币的费用,但您需要一个账户来持有代币,这会有问题......但是WAX Sweden提供了一个非常方便的 WAX Testnet Account Creator(WAX测试网账户创建器)和Faucet,可用于轻松创建您的第一个账户并用 WAX测试网代币充值。

在您的Cleos节点上运行以下curl请求以创建您的账户并为您的账户充值,并补充您想要的账户名称:

> curl https://faucet.waxsweden.org/create_account?eospherewoot{"msg": "succeeded", "keys": {"active_key": {"public": "EOS8PSfvq342YTVtogNVskjCttpx1rQX9JT59wQuLt2Nkz16ZmsL4", "private": "5JZsTE4LzwbHKLX25n3D4gSYVtB5AxyDgGGrUPaMWpAmbWveu72"}, "owner_key": {"public": "EOS7gjEzaYfd9FeSU8BzREgrLQz4QwizFfsKDJtgswCwwyhgX6dqa", "private": "5J7zm5kfBkhhuSnzxxxxxxxxxxxxxxxxxxxxxxnmi73eh8ANLzpB"}}, "account": "eospherewoot"}> curl https://faucet.waxsweden.org/get_token?eospherewoot{"msg": "succeeded"}

您会看到两个密钥对,active_key和owner_key,将这两对密钥安全地存储在本示例中,我们将使用 active_key。

07、将您的帐户密钥导入 keosd

现在我们有了一个账户,让我们将其导入keosd钱包,以便我们可以将它与cleos一起使用。

在您的Cleos节点上创建一个WAX 测试网钱包并导入您的账户密钥:

> cleos wallet create -n waxtestnet --to-consoleCreating wallet: waxtestnetSave password to use in the future to unlock this wallet.Without password imported keys will not be retrievable."PW5JoPmniazjAH3RTx4gcR5njKvPP6or8k7VzXu8ffGwwsFxqSGYN"

keosd自动启动(您可能需要确保它在本地路径中),然后创建钱包。这个密码是你本地钱包WAX测试网的密码,请妥善保管。默认情况下,钱包存储在这里:~/eosio-wallet

导入您的活动账户密钥:

#Unlock your wallet with the password from before> cleos wallet unlock -n waxtestnetpassword: Unlocked: waxtestnet#Import your active_key : private> cleos wallet import -n waxtestnetprivate key: imported private key for: EOS8PSfvq342YTVtogNVskjCttpx1rQX9JT59wQuLt2Nkz16ZmsL4

08、配置区块生产者节点

如前所述,区块生产者节点需要一些特定的配置来启用区块签名。

首先我们需要一个专门用于签名的密钥对,这可以使用Cleos节点来完成:

> cleos create key --to-consolePrivate key: 5JVfLEuHuoVkEX6CyScPHNLgxtRdUcdLp3hqzrXC54xVjtESFXXPublic key: EOS6HWBC39JAXaRo5aG5yAcAjgQYhQ44T5GtcxJVbZFZox6FFa15k

接下来在您的区块生产者节点上配置 config.ini,添加以下特定于您的部署的区块生产:

#This is your BP account nameproducer-name = eospherewoot#This is your block signing key-pairsignature-provider = EOS6HWBC39JAXaRo5aG5yAcAjgQYhQ44T5GtcxJVbZFZox6FFa15k=KEY:5JVfLEuHuoVkEX6CyScPHNLgxtRdUcdLp3hqzrXC54xVjtESFXX#Optimises hand off by producing a bit earlierlast-block-time-offset-us = -200000#Lowers CPU time available on last block for better hand offlast-block-cpu-effort-percent = 20#Enables block production on this nodeplugin = eosio::producer_plugin

现在在您的块生产者节点上重新启动nodeos并确保它赶上headblock。

您可以通过从您的Cleos节点查询它们来检查您的nodeos节点,以确保它们处于良好状态..并且在正确的链上:

> cleos -u https://wax-testnet.eosphere.io get info{ "server_version": "b5344cde", "chain_id": "f16b1833c747c43682f4386fca9cbb327929334a762755ebec17f6f23c9b8a12", "head_block_num": 111813838, "last_irreversible_block_num": 111813507, "last_irreversible_block_id": "06aa23838410642de5d297e95a410d68ab9076028fa444c464c48172031f364d", "head_block_id": "06aa24cea654e6250d87e41872f6754000c60226e9a490803186497e0ad70609", "head_block_time": "2021-09-16T05:17:33.000", "head_block_producer": "blacklusionx", "virtual_block_cpu_limit": 200000000, "virtual_block_net_limit": 1048576000, "block_cpu_limit": 199900, "block_net_limit": 1048576, "server_version_string": "v2.0.12wax01", "fork_db_head_block_num": 111813838, "fork_db_head_block_id": "06aa24cea654e6250d87e41872f6754000c60226e9a490803186497e0ad70609", "server_full_version_string": "v2.0.12wax01-b5344cde06837726fef9e384fcedc207dcf6b160"}

09、注册您的区块生产者账户

现在您确定所有配置都正确并且您的节点与网络同步,您可以注册您的意图签署区块并允许代币持有者为您投票。

在您执行regproducer操作之前,现在可能是向WAX测试网社区的其他成员广播您的意图的好时机。

有一个WAX 测试网电报组,您可以在其中与其他区块生产者、服务提供商和DApp创作者进行交流。

最近有一些关于全球区块生产节点之间最佳路径切换的测试,如果你在电报中告知你的节点在世界上的位置,其中一个测试网BP将为你分配一个位置编号,这对网络有帮助。

此外,您还需要被投票进入21强才能生成区块,电报群组也是寻求投票的好地方。

WAX技术指南第三期:构建一个WAX测试网区块生产节点

使用您的具体详细信息执行如下regproducer操作:

#The last number is your assigned location> cleos -u https://wax-testnet.eosphere.io system regproducer eospherewoot EOS6HWBC39JAXaRo5aG5yAcAjgQYhQ44T5GtcxJVbZFZox6FFa15k https://www.eosphere.io 21

由于该操作是在区块链级别执行的,您实际上可以将您的请求指向任何同步的测试网API,即您不必在自己的节点上执行此操作。

如果/当你被投票进入前 21 名时,你的nodeos输出将在一轮中的12个块中看起来像这样:

info 2021-09-16T05:36:01.541 nodeos producer_plugin.cpp:377 on_incoming_block ] Received block e23bca90f0e6bc3d... #111816053 @ 2021-09-16T05:36:01.500 signed by eospherewoot [trxs: 0, lib: 111815725, conf: 0, latency: 41 ms]info 2021-09-16T05:36:02.042 nodeos producer_plugin.cpp:377 on_incoming_block ] Received block c6d4ac08300ed117... #111816054 @ 2021-09-16T05:36:02.000 signed by eospherewoot [trxs: 0, lib: 111815725, conf: 0, latency: 42 ms]

如果您对启动和运行WAX测试网区块生产者节点有任何疑问或困难,请随时与我们团队成员联系。

版权声明

本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。

评论列表
  •   访客  发布于 2024-07-06 18:39:07  回复该评论
    这位作者的文笔极其出色,用词精准、贴切,能够形象地传达出他的思想和情感。http://v7b.gzbory.com/

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门