Q 节点

奖励节点2年前 (2022)更新 admin
80 0
奖励节点 特价vps

官方教程https://docs.qtestnet.org/how-to-setup-rootnode/

如何设置 Q 全节点

设置你的服务器

您必须准备好您的服务器/机器才能开始。 一种可能性是使用本地机器,或者您可以使用 AWS 上的云实例。

获取基本配置

克隆存储库

$ git clone https://gitlab.com/q-dev/testnet-public-tools

去 /testnet-fullnode目录

$ cd testnet-public-tools/testnet-fullnode

该目录包含 docker-compose.yaml使用 rpc 上的预配置快速启动完整节点的文件,blockchain explorer 使用 .env(可以从创建 .env.example).

配置端口

通过复制为节点 rpc api 和区块链资源管理器选择端口(或保留默认值) .env.example至 .env并编辑文件。

$ cp .env.example .env
$ nano .env

通过编辑节点 RPC API 和区块链资源管理器选择端口(或保留默认值) .env文件。

EXT_PORT=<rpc port>
EXPLORER_PORT=<blockchain explorer port>

启动节点

通过执行以下命令启动节点 /testnet-fullnode目录:

$ docker-compose up -d

验证您的安装

节点启动后,它开始与网络同步。

该设置包括一个本地区块链浏览器。 您可以通过浏览器打开 url 来浏览区块、交易和账户 http://localhost:PORT 在哪里 PORT是您在上面为 EXPLORER_PORT 选择的数字,例如 http://localhost:8080

您可以使用以下命令检查您的节点实时日志:

$ docker-compose logs -f --tail "100"

寻找其他同行

如果您的客户端无法使用默认配置连接,我们建议您添加一个额外的标志来引用我们的其他对等点之一( $BOOTNODE1_ADDR$BOOTNODE2_ADDR或者 $BOOTNODE3_ADDR) 内 docker-compose.yaml文件:

testnet-fullnode:
  image: $QCLIENT_IMAGE
  entrypoint: ["geth", "--bootnodes=$BOOTNODE1_ADDR,$BOOTNODE2_ADDR,$BOOTNODE3_ADDR", "--datadir=/data", ...]

 

如何设置 Q Validator 节点

设置你的服务器

您必须准备好您的服务器/机器才能开始。 一种可能性是使用本地机器,或者您可以使用 AWS 上的云实例。 有一个很好的外部教程,介绍如何在 AWS 上开始使用以太坊。 您可以将本 教程 基本参考。

基本配置

克隆存储库

$ git clone https://gitlab.com/q-dev/testnet-public-tools

去 /testnet-validator目录

$ cd testnet-public-tools/testnet-validator

该目录包含 docker-compose.yaml用于在 rpc 上使用预配置快速启动验证器节点的文件,区块链浏览器使用 .env(可以从创建 .env.example).

为验证器生成密钥对

为了签署区块并获得奖励,验证者需要一个密钥对。 创建一个 /keystore目录,然后是将用于私钥加密的密码,并将其保存到文本文件中 pwd.txt在 /keystore目录。 假设你在 /testnet-validator目录,发出此命令以生成密钥对:

$ docker-compose run --rm --entrypoint "geth account new --datadir=/data --password=/data/keystore/pwd.txt" testnet-validator-node

此命令的输出应如下所示:

Your new key was generated

Public address of the key:   0xb3FF24F818b0ff6Cc50de951bcB8f86b52287dac
Path of the secret key file: /data/keystore/UTC--2021-01-18T11-36-28.705754426Z--b3ff24f818b0ff6cc50de951bcb8f86b52287dac

- You can share your public address with anyone. Others need it to interact with you.
- You must NEVER share the secret key with anyone! The key controls access to your funds!
- You must BACKUP your key file! Without the key, it's impossible to access account funds!
- You must REMEMBER your password! Without the password, it's impossible to decrypt the key!

这样,一个新的私钥被生成并存储在 /keystore使用密码加密的目录来自 pwd.txt文件。 在我们的例子中, 0xb3FF24F818b0ff6Cc50de951bcB8f86b52287DAc ( 你会有不同的值 )是新生成的私钥对应的地址。

上生成密钥对和相应文件 页面 并将其保存到 /keystore手动目录。 你也可以使用 create-geth-private-key.js脚本中 /js-tools文件夹。

无论您选择提供自己的虚键还是使用上述命令创建密钥对,请确保目录 /keystore包含以下文件:

testnet-validator
|   ...
|   ...
└ keystore
  |   UTC--2021-01-18T11-36-28.705754426Z--b3ff24f818b0ff6cc50de951bcb8f86b52287dac
  |   pwd.txt

注意: 按照我们的示例,pwd.txt 包含明文形式的加密文件“UTC–2021-01-18T11-36-28.705754426Z–b3ff24f818b0ff6cc50de951bcb8f86b52287dac”的密码。

如果以后要修改密码,需要先停止节点。

$ docker-compose down

然后开始密码重置程序

$ docker-compose run testnet-validator-node --datadir /data account update 0xb3ff24f818b0ff6cc50de951bcb8f86b52287dac

注意: 您需要删除地址 0xb3ff24f818b0ff6cc50de951bcb8f86b52287dac 并添加您的帐户地址。

获取 Q 代币

为了成为验证者,您需要在验证者合约中投入一些股份,因此您需要 Q 代币。 获得一些 Q。 水龙头 您 查看 水龙头文档 以获取更多信息。 中查找您的地址来验证令牌是否已发送 Block Explorer 

配置设置

复制 .env.example至 .env并编辑此文件 /testnet-validator目录。

$ cp .env.example .env
$ nano .env

将步骤 3 中不带前导 0x 的地址放入 ADDRESS,你的公网IP地址(请确保你的机器可以通过相应的IP访问)到 IP(这是被其他网络参与者发现所必需的)并且可以选择为 p2p 协议选择一个端口(或者只保留默认值)。 所结果的 .env文件应如下所示:

# docker image for q client
QCLIENT_IMAGE=qblockchain/q-client:1.2.2

# your q address here (without leading 0x)
ADDRESS=b3FF24F818b0ff6Cc50de951bcB8f86b52287DAc

# your public IP address here
IP=193.19.228.94

# the port you want to use for p2p communication (default is 30313)
EXT_PORT=30313

# extra bootnode you want to use
BOOTNODE1_ADDR=enode://c610793186e4f719c1ace0983459c6ec7984d676e4a323681a1cbc8a67f506d1eccc4e164e53c2929019ed0e5cfc1bc800662d6fb47c36e978ab94c417031ac8@79.125.97.227:30304
BOOTNODE2_ADDR=enode://8eff01a7e5a66c5630cbd22149e069bbf8a8a22370cef61b232179e21ba8c7b74d40e8ee5aa62c54d145f7fc671b851e5ccbfe124fce75944cf1b06e29c55c80@79.125.97.227:30305
BOOTNODE3_ADDR=enode://7a8ade64b79961a7752daedc4104ca4b79f1a67a10ea5c9721e7115d820dbe7599fe9e03c9c315081ccf6a2afb0b6652ee4965e38f066fe5bf129abd6d26df58@79.125.97.227:30306

接下来,您需要编辑 config.json因为质押需要此文件。 将您上面的地址输入地址字段和密码 /keystore/pwd.txt进入密码字段。 结果 config.json应该类似于这样:

    {
      "address": "b3FF24F818b0ff6Cc50de951bcB8f86b52287DAc",
      "password": "supersecurepassword",
      "keystoreDirectory": "/data",
      "rpc": "https://rpc.qtestnet.org"
    }

在验证者合约中投入股份

如前所述,您需要向验证者合约投入股份才能成为验证者。

找到的 dApp“您的总部” https://hq.qtestnet.org 。 最终,你需要 Join Validator Ranking获得奖励。 相应的功能位于 Consensus Services -> Validator Staking在“管理余额”框中。 如果您看不到菜单项 Consensus Services,你没有运行 dApp UI advanced mode. 去 Settings并激活它。

将您的验证器添加到 https://stats.qtestnet.org

如果你想让你的验证器向 网络统计 ,你可以在文件中的节点入口点添加一个额外的标志。 /testnet-validator/docker-compose.yaml, 它应该是这样的:

testnet-validator-node:
  image: $QCLIENT_IMAGE
  entrypoint: ["geth", "--ethstats=<Your_Validator_Name>:<Testnet_access_key>@stats.qtestnet.org", "--datadir=/data", ...]

<Your_Validator_Name>可以任意选择。 它将显示在统计信息中。 如果您想公开您的 ID,这可能类似于“OurCoolCompany – 不要相信,请验证”。 您可以使用特殊字符、表情符号和空格。 如果您希望保持匿名,我们将不胜感激,包括您的验证器 Q 地址的开头,这样您的客户和您的地址之间就有一个链接。

为了找出 <Testnet_access_key>请加入 Q Discord 服务器 中找到统计密钥 🔑│testnet-key 频道 

启动验证节点

现在使用 docker-compose 文件启动你的验证器节点 /testnet-validator目录:

$ docker-compose up -d

注意:使用以下命令检查我们的节点实时日志:

$ docker-compose logs -f --tail "100"

寻找其他同行

如果您的客户端无法使用默认配置连接,我们建议您添加一个额外的标志来引用我们的其他对等点之一( $BOOTNODE1_ADDR$BOOTNODE2_ADDR或者 $BOOTNODE3_ADDR) 内 docker-compose.yaml文件:

testnet-validator-node:
  image: $QCLIENT_IMAGE
  entrypoint: ["geth", "--bootnodes=$BOOTNODE1_ADDR,$BOOTNODE2_ADDR,$BOOTNODE3_ADDR", "--datadir=/data", ...]

验证节点正在生产块

为了开始验证,您必须等待新的纪元(即验证周期)。 如果之前一切正常并且承诺的权益足以进入验证者候选名单,您的验证者节点将在下一个验证周期开始生产区块。 请注意,启动时您可能会在 q-client 日志中看到很多警告:

WARN [01-18|13:12:00.431] Block sealing failed          err="unauthorized signer"

这实际上是可以的,因为节点需要一些时间来与 Q 网络的对等点同步。 在达到完全同步之前,您的节点可能已经使用您是唯一验证者的最新快照开始创建区块。 对等点发现成功后,警告将消失。

注意: 所有验证器都需要根据宪法运行 omnibridge-oracle。 请 在此处 有关如何执行此操作的教程。

退出验证人排名

如果您想退出验证者排名,您必须 Announce Withdrawal内 Consensus Services -> Validator Staking100% 的自抵押 Q 代币。 这样做之后,您将立即被排除在排名之外,尽管您的节点可能仍会验证块,直到下一个验证周期开始(最多 8 分钟内)。

公布的金额将在一定时间内存入托管余额(见章程参数 constitution.valWithdrawP) 直至完全取出。 通过退还股份或减少宣布的提款金额,可以随时重新加入小组。

注意: 如上所述,可以暂时退出排名。 重新进入,需要宣布退出 0Q 会覆盖您的初始公告并将您的自有股份恢复到 100%。 你需要 Join Validator Ranking再次完成重新进入程序。 例如,如果您计划对节点进行维护停机,则临时退出(或暂停)可能会有用。

© 版权声明
奖励节点

相关文章

暂无评论

暂无评论...