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软件程序之间的关系
必须注意的是,在尝试将旧版本的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强才能生成区块,电报群组也是寻求投票的好地方。
使用您的具体详细信息执行如下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测试网区块生产者节点有任何疑问或困难,请随时与我们团队成员联系。
版权声明
本文仅代表作者观点,不代表区块链技术网立场。
本文系作者授权本站发表,未经许可,不得转载。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。