节点。测试
可用于检查配置是否正确的测试。
常规信息
当你看起来做对了所有事情但仍然无法进入时代时,会感到非常懊恼。
最好多检查几遍。
注意! 文本中可能有错误,因为我对服务器配置不太懂。更准确地说是“非常不懂”,但这些测试对我有帮助。
检查密钥是否正确安装
有时候因为多个不同的人配置过节点,或者你在指定 Consensus Public Key 的命令时弄错了,导致节点上的密钥和网络中的密钥不一致。
这样你就肯定进不了时代。请检查!
检查 Consensus Key
🔎 步骤 1. 在节点上查看 Consensus Public Key
注意! 检查在 ML 节点(或 Network 节点,我自己还没完全搞清楚,因为我现在这两个节点都在同一台服务器上)所在的服务器上进行。
docker exec node wget -qO- "http://127.0.0.1:26657/status" | jq -r '.result.validator_info.pub_key.value'你会得到大致如下:
{
"value": "AD+NQncKPBzqw0u8KcSmlIMqogg7i4nhDfLIgIkGYiY="
}👉 复制字段 "value".+
🔎 步骤 2. 在网络中查看 Consensus Public Key
注意! 检查在创建密钥的那台服务器上进行。也就是说,不是在 Network Node 也不在 ML Node 上。
现在查看网络认为你的密钥是什么:
curl -s http://node2.gonka.ai:8000/chain-api/productscience/inference/inference/participant/gonka1yplcem8kfe6vm06t4sl8fskm0we2zslxxu90ta | jq
注意! 将加粗部分替换为你热钥地址。
你将得到:
结果你会得到这样的响应:
{ "participant": { "index": "gonka1yplcem8kfe6vm06t4sl8fskm0we2zslxxu90ta", "address": "gonka1yplcem8kfe6vm06t4sl8fskm0we2zslxxu90ta", "weight": -1, "join_time": "1771876365572", "join_height": "2792955", "last_inference_time": "0", "inference_url": "http://203.168.252.195:8000", "status": "ACTIVE", "coin_balance": "0", "validator_key": "7GEr4jV5GjCv+C+jKOq3Eh4bwxMVs7kafm7tcWP0EOo=", "consecutive_invalid_inferences": "0", "worker_public_key": "", "epochs_completed": 0, "current_epoch_stats": { "inference_count": "0", "missed_requests": "0", "earned_coins": "0", "rewarded_coins": "0", "burned_coins": "0", "validated_inferences": "0", "invalidated_inferences": "0", "invalidLLR": { "value": "0", "exponent": 0 }, "inactiveLLR": { "value": "0", "exponent": 0 }, "confirmationPoCRatio": null }
我们关心的值是 "validator_key"。
🔎 步骤 3. 比较它们。它们必须相同
它们应该一致。但我们这里——不一致。 这也不足为奇,所以我们进不了时代 ))
造成 这种不匹配的原因可能有很多。我想你们自己会弄清楚如何修复它。
如何修复: 我想你们自己会弄明白。并不难。
---------------------------------------------------------------------------
在你的节点上查看模型
注意! 如果没有任何输出,可能是你的 ML Node 在另一个端口。可能的选项有:
5000
8000
8080
9200
也就是说,只需在命令中替换这个数字。
预期响应:
root@mlnode-308:/app# curl http://localhost:5000/v1/models {"object":"list","data":[{"id":"Qwen/Qwen3-235B-A22B-Instruct-2507-FP8","object":"model","created":1772106402,"owned_by":"vllm","root":"/root/models/Qwen3-235B-A22B-Instruct-2507-FP8","parent":null,"max_model_len":240000,"permission":[{"id":"modelperm-f9056e19f4b1494c9854c8df9887394b","object":"model_permission","created":1772106402,"allow_create_engine":false,"allow_sampling":true,"allow_logprobs":true,"allow_search_indices":false,"allow_view":true,"allow_fine_tuning":false,"organization":"*","group":null,"is_blocking":false}]}]}root@mlnode-308:/app#
注意! 执行该命令后你会进入 Docker 容器。要继续在服务器上使用命令行,需要通过以下命令退出容器:
exit

查看节点配置
预期响应:
/usr/bin/python3.12 -m vllm.entrypoints.openai.api_server --model Qwen/Qwen3-235B-A22B-Instruct-2507-FP8 --dtype float16 --port 5001 --host 0.0.0.0 --max-model-len 240000 --enable-auto-tool-choice --tool-call-parser hermes --tensor-parallel-size 4 --pipeline-parallel-size 2 --enable-expert-parallel --quantization fp8 --gpu-memory-utilization 0.846 --kv-cache-dtype fp8 --swap-space 4 --enforce-eager --cpu-offload-gb 4 --model /root/models/Qwen3-235B-A22B-Instruct-2507-FP8 --served-model-name Qwen/Qwen3-235B-A22B-Instruct-2507-FP8 root@ecs-99605001-024:~#
注意! 需要将 mlnode-308 替换为你的节点名称。 如果忘了,可以通过以下命令查看:
预期响应- 以下某一项:

可以列出所有容器的名字:
预期响应

GPU 状态
预期响应:

检查已声明的配置
检查节点设置是否正确:

显示你的 ML Node 使用了哪些设置。显然应在 ML Node 的服务器上执行(如果它们是分开的)。
注意! 这些参数仅作示例,肯定已过时。你的情况会不同。
带停止的节点检查
停止节点
预期响应:
{"status":"OK"}
检查节点的状态
预期响应:
{"state":"STOPPED"}root@submodel-sxA100-19-14:~/gonka/deploy/join#
如果看到其他结果——请再次执行停止节点的步骤。
运行强制节点测试
预期响应

通过日志查看测试进度
几分钟后(通常 5–15 分钟)应出现最终结果。PoC 完成后:
预期响应:

重要的是 CUDA 必须 100% 加载完成


要退出测试请按组合键 CTRL+C
启用节点
预期响应
{"message":"node enabled successfully","node_id":"node1"} root@submodel-sxA100-19-14:~/gonka/deploy/join#
检查你的节点状态:
预期响应:
root@ecs-99605001-024:# curl http://localhost:8080/api/v1/state {"state":"INFERENCE"}root@ecs-99605001-024:#
查看你节点的 PoV 状态:
非预期响应:
"detail":"Cannot run POW because MLNode is currently in ServiceState.INFERENCE mode. Please stop ServiceState.INFERENCE first."}root@ecs-99605001-024:~#
我还不知道什么是“预期响应” ))
检查容器
启动后首先要确认你为 node-config.json 选择的那些参数在 mlnode 中生效了
查看容器日志 mlnode

如果看到模型像截图那样加载,总体上可以通过组合键退出容器, CTRL+C
查看容器日志 node
在 Network Node 上运行。
如果节点尚未同步,我们应该会看到正在拉取区块链的“块片(chunk)”

625 - 总数量,160 - 最后加载的
通过组合键退出容器 CTRL+C
检查节点与网络的同步情况
预期响应

也就是说这里的数字应该很小。这是自上一个区块创建以来的秒数。
检查网络的最新区块
检查我们的节点所在的区块
目前还不知道怎么查 )
并比较。应该相近。
进入时代的检查清单
帮助你判断应该朝哪个方向查问题。
预期响应:

红色箭头标记的是检测字段, FAIL 几乎所有人都会有。这个参数 PASS 只有 Gonka 的主节点会有(我猜的)。
蓝色箭头标记的是可能对你出现的字段, FAIL - 如果你还没有进入过任何一个时代。
链接
Telegram 上的文章: Gonka - 启动。或者矿工寻求收益。第一部分
Telegram 上的文章: Gonka - 启动。或者矿工寻求收益。第二部分
结束
最后更新于