# Q blockachain testnet验证者节点教程

By [haoqian](https://paragraph.com/@haoqian) · 2022-12-11

---

Twitter: @huhaoqian

准备工作
----

### 生成私钥

[https://vanity-eth.tk/](https://vanity-eth.tk/)

![](https://storage.googleapis.com/papyrus_images/e27b8c7304b9ad6e3b4385bcf6049cea7af77d35031c4fd20f1bc40061e1d26a.png)

把生成的私钥导入小狐狸，保存keystore文件，记住保存时候输入的密码。

### 领取测试Q代币

[https://faucet.qtestnet.org/](https://faucet.qtestnet.org/)

### 质押Q代币，加入验证者节点

[https://hq.qtestnet.org/validator-staking](https://hq.qtestnet.org/validator-staking)

![](https://storage.googleapis.com/papyrus_images/8a48db0479e0547971c62109098a2459c47e7d94c1e09a4699901a380c4b283b.png)

### 安装服务器依赖

我的配置4h8g， ubuntu20.04 其他配置没测试。

下载官方节点文件并且创建keystore文件夹

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

     cd testnet-public-tools/testnet-validator
    

     mkdir keystore 
    

    ls
    

应该可看到创建的keystore文件夹 在 testnet-validator 文件夹下面

![](https://storage.googleapis.com/papyrus_images/3a05ad5e9178f6971e63a089a8004617f098abfb743528889b189c6de478c6d3.png)

在服务器中进入keystore文件夹，右键新建文件 pwd.txt

![](https://storage.googleapis.com/papyrus_images/379c7fe14c21570424c700eb7a7873d1a93ddd0f74dbb423be6245df15462ce2.png)

把第一步生成私钥保存keystore时候 输入的密码粘贴到这里

![](https://storage.googleapis.com/papyrus_images/2508d01618fe16c0f759bac947f6d7bf7dd70d595563e129c4c892483c3ee221.png)

把本地保存的keystore文件复制进来

![](https://storage.googleapis.com/papyrus_images/d8ac4157e60b1658a0a1500debb0d15f74fb813effad0725c12a25c8af34ff44.png)

回到testnet-validator文件夹下满

![](https://storage.googleapis.com/papyrus_images/b39f0aee8a0b71f0e11f32347fc94f193adbf2d4eddfbc68ed767d4902c3b07a.png)

修改.env 文件

替换address（去掉0x）替换ip，并且保存

![](https://storage.googleapis.com/papyrus_images/69c4c2c11f5c4b12f9f6ac61f553bcffe4efb6d79a46c9ad9210eec814858c4b.png)

修改config.json文件address（去掉0x），和password并且保存

![](https://storage.googleapis.com/papyrus_images/06fa68be46a79149f59d808c04a97c48bfb80e43c4b64e2cc7e899a4d6dc549b.png)

修改docker-compose.yaml文件

在“geth” 和 “--datradir=/data” 中间加入

    "--ethstats=ITN-jazzshow2023-1ab01:qstats-testnet@stats.qtestnet.org",
    

把 ITN-jazzshow2023-1ab01 替换成 你自己的 名字，随便起一个，用于后续的注册。

![](https://storage.googleapis.com/papyrus_images/b15cbab6b8e21e1b9ab9431370e86396527f6cdceb76a4bcc881380ecf6092c9.png)

回到控制台，安装docker，并且启动节点

    docker-compose up -d
    

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

### 启动节点

刚开始提示一直在寻找匹配的节点，需要等待

![](https://storage.googleapis.com/papyrus_images/977454f0fbca0d295716f731f976a3710ea97fa387b20335555208e849cc6ea2.png)

这样代表成功

![](https://storage.googleapis.com/papyrus_images/9ac6d2d43b16c486a0214444535c882847bb4cecf6f2cf298e61eaec7af247bc.png)

[https://stats.qtestnet.org/](https://stats.qtestnet.org/)

![](https://storage.googleapis.com/papyrus_images/e66fa7866fc59df29706f393c213a09d79263a49a4f5c985b8c07860f9433f13.png)

查询自己的节点，按照 节点数排序，拉倒页面最下面，按照自己已经链接上的节点数量找到自己的节点

![](https://storage.googleapis.com/papyrus_images/0093fc502cb8e865670418e0fcfcea9648bc53858d922ce2b235fb58965e55f0.png)

### 提交表格

[https://itn.qdev.li/](https://itn.qdev.li/)

![](https://storage.googleapis.com/papyrus_images/7ac651f8d7e3c1e19e35400b7fc078ec6151302bbc5688643a7ef36aa0a29c51.png)

提交注册后，官方会给一个用户名，再次修改docker-compose.yaml文件。 把用户名替换成，注册完成后官方给的 用户名。

![](https://storage.googleapis.com/papyrus_images/acdc8ce1e90b6f64b01b9759dedd72e32eb946829f7c1e9b2c79361270660596.png)

最后再次重新关闭并且启动节点，让新的用户名生效

先 ctrl+c 关闭 log 进程 然后控制台输入

    docker-compose down
    

    docker-compose up -d
    

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

完事！

---

*Originally published on [haoqian](https://paragraph.com/@haoqian/q-blockachain-testnet)*
