如何成为一个 Validator 并加入到 Atlas 网络中

简介

Atlas 是一条采用POS共识算法的链,其工作原理如下:

  • 通过抵押 MAPO 成为 validator

  • 每个 validator 投票选出每个 epoch 的验证区块的 validator

  • 每个 epoch 结束时,根据选举的得票数获得奖励。

前提条件

硬件要求:

  1. 机器配置 MAP 是一种权益证明网络,其硬件要求与工作量证明网络不同。权益证明共识的 CPU 密集程度较低, 但对网络连接和延迟更敏感。以下是在 MAP 网络上运行验证器的标准要求列表: •内存:16GB RAM •CPU:四核2.5 GHz(64位) •磁盘:256 GB SSD 存储,另外还需要一个辅助 HDD •网络:至少100 Mb 输入/输出以太网,具有光纤互联网连接、理想的冗余连接和 HA 交换机

  2. 地图数量 您的帐户需要至少有 1,000,000 MAPO

软件要求

构建atlas需要git、Go(1.14或更高版本)和C编译器。您可以使用您最喜欢的包管理器来安装它们。

如何成为新的 validator

为了让您的资产更安全,我们需要您设置一些必要的身份识别参数才能成为 validator 。我们也设置了相应的阈值,以便筛选那些真正想为链做出贡献的人。 当然,我们会给这些人相应的奖励。 以下步骤视为您的第一次操作,因为您只需执行一次以下操作即可成为 validator 。除非您注销验证器或取消 相应的操作,否则您无需执行第二次操作,以免浪费您的 gas 费。

第1步:创建账号

在这一步中,您需要将您的身份信息存储到相应的管理合约中,该合约将管理您的账户、密钥和元数据。 此步骤的目的是通过授权用于签名证明、投票、验证替代密钥来确保锁定的 MAPO 更加安全。通过 这样做,您可以在保持访问存储您锁定的 MAPO 的密钥的同时继续参与协议。 您需要 createAccount 命令来执行上述操作,更多关于 createAccount 命令的详细信息请参阅这里

第2步:授杈

授权一个地址代表账号签名共识消息。这个授权地址称为 signer(签名人)。正如他的名字一样,他只负责签名,你的奖 励不会发放给 signer,而是发放给上一步创建的账户,

第3步:锁定 MAP

我们设置成为 validator 的阈值是锁定 1,000,000 MAPO 到相应的管理智能合约中。 这部分锁定的 MAPO 将用于以后的惩罚,这也是当选的条件之一。 您需要 LockedMAP 命令来执行上述操作,更多关于 LockedMAP 命令的详细信息请参这里

第4步: validator 注册

此步骤是注册成为新 validator 的关键步骤。 您需要 register 命令来执行上述操作,更多关于register 命令的详细信息请参阅这里。 到这一步,您将成功注册为 validator 。接下来,您可以尝试为自己投票。如何投票请参阅这里

第5步:投票

validator 必须至少拥有总票数的 0.001 比例才能考虑参加选举。所以 validator 不能没有选票。 我们可以使用我们的 validator 账户为自己投票,也可以让其他 validator 或投票者为自己投票。 我们在第了步中锁定了 1,000,000 MAP,现在为自己投票是一个明智的决定

示例

启动你的节点

在启动节点之前你需要先构建 atlas,如何构建图集请参阅这里

你需要准备两个 keystore,一个用于质押的称为 account,一个用于参与共识签名区块的 signer。

如果希望 atlas 节点在后台运行而不挂起,可以使用nohup和&的组合,或者 screen 之类的工具。下面我们将使用 screen 进行演示

account.json:account 的 keystore 文件 signer.json:signer 的 keystore 文件

--miner.validator :指定 signer 的地址 --port 30321:确保端口在防火墙上打开

节点启动后会通过内置的引导节点连接到网络,并同步区块数据。

创建账号

授权

signer 账号:0x98efa292822eb7b3045c491e8ae4e82b3b1ac005 signer 私钥:8df920b696ef3f5fdcf01624405ea8236b2b4907766ad61d42ce877df05f8bca

锁定 MAPO

注册 validator

验证注册

至此我们已经完成了 validator 的注册步骤,现在我们来验证一下是否成为了 validator。

投票

投票数不能大于锁定票数。

有关投票和选举的更多信息,请点击以下链接查看: 投票 选举

现在我们来给 validator 投票,投票的命令如下:

验证投票

现在,让我们验证投票是否有效。

从结果来看,我已经成功给自己投票了,但是还不够。我们需要在下一个 epoch 中 调用 RPC 来最终确定我们是否被选为可以参与区块生成的验证者,如下所示:

Last updated