其他
关于参与 Gonka 发展的个人与团队的文章。
-
1
-
2
-
3
-
4
-
5
-
6
选择你在生态中的角色
使用推理服务
将应用接入网络的三种方式。详情与入门步骤请参阅“试用 Gonka”。
为 Gonka 做贡献
代码、工具与网络安全。请从 GitHub 和奖励计划指南开始。
🗳️ 治理与提案
本部分基于团队提供的信息创建。原文可在此查看: Discord →
哪些类型的更改需要治理提案?
任何影响网络的链上更改都需要治理提案,例如:
- 更新模块参数(MsgUpdateParams)
- 执行软件升级
- 添加、更新或弃用推理模型
- 任何其他必须通过治理模块批准和执行的操作
谁可以创建治理提案?
任何拥有有效治理密钥(冷账户)的人都可以支付所需费用并创建治理提案。但是,每个提案仍必须通过 PoC 加权投票获得活跃参与者的批准。
建议提案者首先在链下讨论重大更改(例如,通过 GitHub 或社区论坛),以增加批准的可能性。请参阅完整指南。
如果提案失败会怎样?
- 如果提案未达到法定人数 → 自动失败
- 如果多数人投反对票 → 提案被拒绝,无链上更改
- 如果有相当比例投 no_with_veto(超过否决阈值)→ 提案被拒绝并标记,表示社区强烈反对
- 押金是否退还取决于链的设置
治理参数本身可以更改吗?
可以。所有关键治理规则——法定人数、多数阈值和否决阈值——都是链上可配置的,可以通过治理提案进行更新。这使网络能够随着参与模式和计算经济的变化而调整决策规则。
治理提案和改进提案有什么区别?
治理提案(Governance Proposals) → 链上提案。用于直接影响网络并需要链上投票的更改。例如:
- 更新网络参数(MsgUpdateParams)
- 执行软件升级
- 添加新模型或功能
改进提案(Improvement Proposals) → 由活跃参与者控制的链下提案。用于制定长期路线图、讨论新想法和协调更大的战略变革。作为 Markdown 文件管理在 /proposals 目录中。
官网与核心文档
官方网站
gonka.ai
代币经济学
项目代币经济学
白皮书
技术文档
动态、讨论与代码
Discord
官方Discord服务器
X (Twitter)
官方账户
GitHub
项目源代码
节点 (Node)
网络中的「计算机」。连接到区块链、交换数据并完成工作的机器:验证、推理。
纪元 (Epoch)
区块链中的「时间步」。类似于回合或周期。网络计算活动、在线时间、负载,并为每个纪元发放奖励。大约持续25小时。
归属 (Vesting)
代币随时间「解锁」。奖励在180个纪元内每个纪元解锁一部分(1/180)。
推理 (Inference)
在GPU上运行和计算AI模型。不是训练,而是模型响应查询:接收输入、计算、输出结果。ML节点进行LLM推理并获得额外奖励。
矿池 (Pool)
物理上只有一个节点,但多人共同在上面挖矿。奖励按贡献比例分配给参与者。需要信任矿池创建者。
去中心化网络
在没有单一中央管理机构的情况下运行的网络,所有参与者都是平等的,可以影响网络的发展和变化。
GNK
Gonka区块链的原生代币。用于支付交易费用、获得挖矿奖励等。
WGNK
Gonka的封装代币(Wrapped Gonka),将在桥接启动后出现在以太坊区块链上。允许在以太坊生态系统中使用GNK并与DeFi应用交互。
LLM模型
大语言模型(Large Language Model)— 在大量文本数据上训练的神经网络,用于生成和理解文本。在Gonka网络中,LLM用于推理和获得奖励。
本部分基于团队提供的信息创建。原文可在此查看: Discord →
参与者提供计算资源有什么激励?
详细的激励信息请参阅代币经济学文档。其中描述了如何计算和分配对网络贡献的奖励。
Gonka 网络中的治理影响力如何计算?
Gonka 使用 PoC 加权投票模型:
- 计算证明(PoC):投票权重与经验证的计算贡献成正比。
- 经济抵押:
- 通过 PoC 获得的投票权重的 20% 会自动激活。
- 要解锁剩余的 80%,您必须锁定 GNK 代币作为抵押。
这确保了治理影响力反映真实的计算贡献和经济责任。
在最初的 180 个纪元(约 6 个月)内,新参与者可以仅通过 PoC 参与治理并积累投票权重,无需抵押要求。在此期间,可获得完整的治理参与权,同时投票权重仍与经验证的计算活动挂钩。
为什么 Gonka 需要锁定 GNK 才能获得治理影响力?
投票权重永远不会仅由代币持有量形成。GNK 被用作经济抵押,而不是影响力的来源。影响力通过持续的计算贡献获得,锁定 GNK 是确保网络治理参与的责任和安全所必需的。
本部分基于团队提供的信息创建。原文可在此查看: https://gonka.ai/tokenomics.pdf
GNK 代币分配。总供应量:10亿
核心激励(6.8亿 GNK,68%)— 运行网络的矿工奖励。
社区池(1.2亿 GNK,12%)— 用于社区需求、流动性池及其他用途。
创始人分配(2亿 GNK,20%)— 创始团队份额。
本部分基于团队提供的信息创建。原文可在此查看: https://gonka.ai/tokenomics.pdf
纪元奖励 (GNK)
奖励按指数递减:323000 × e^(-0.000475 × epoch)。大约每4年减半(~1460纪元)。
-
1
-
2
-
3
-
4
-
5
标准
支持Tesla之后的NVIDIA GPU,前提是每个MLNode容器至少有320 GB GPU显存。允许任何GPU组合,只要系统能够托管网络治理批准的LLM并参与PoC。
| NVIDIA GPU | 发布日期 | 显存 | 架构 |
|---|---|---|---|
| B200 | 2024 | 192 GB HBM3e | Blackwell |
| H200 | 2024 | 141 GB HBM3e | Hopper |
| H100 | 2022年5月 | 80 GB HBM3 | Hopper |
| A100 | 2020年5月 | 40/80 GB HBM2e | Ampere |
| RTX A6000 | 2020年12月 | 48 GB GDDR6 | Ampere |
快速开始
Host(硬件提供商或节点)向网络贡献计算资源,并根据提供的资源数量和质量获得奖励。
要加入网络,您需要部署两个服务:
- Network node(网络节点)– 由两个节点组成的服务:chain node(链节点)和API node(API节点)。此服务处理所有通信。chain node连接到区块链,而API node管理用户请求。
- Inference (ML) node(推理(ML)节点)– 在GPU上执行大语言模型(LLM)推理的服务。您需要至少一个ML node才能加入网络。
Gonka 经纪商当前可用模型
🗳️ 投票流程
投票流程如何运作?
提案提交并支付最低押金后,进入投票期。
投票选项:
- yes → 批准提案
- no → 拒绝提案
- no_with_veto → 拒绝并表示强烈反对
- abstain → 弃权,但计入法定人数
您可以在投票期内随时更改投票;只有最后一次投票会被计算。
如果达到法定人数和阈值,提案将通过并通过治理模块自动执行。
投票命令:
./inferenced tx gov vote 2 yes --from <cold_key_name> --keyring-backend file --unordered --timeout-duration=60s --gas=2000000 --gas-adjustment=5.0 --node $NODE_URL/chain-rpc/ --chain-id gonka-mainnet --yes
将 yes 替换为您的投票选项。
如何跟踪治理提案的状态?
您可以随时通过 CLI 查询提案状态:
export NODE_URL=http://47.236.19.22:18000
./inferenced query gov tally 2 -o json --node $NODE_URL/chain-rpc/节点常见问题
本部分是翻译版本,可能会过时。最好在官方网站上查看常见问题解答:https://gonka.ai/FAQ/。如发现任何不准确之处,请通过网站页脚中的链接与我联系。
💻 运行节点:基础知识
硬件要求是什么?
您可以在硬件部分中找到清晰列出的最低和推荐硬件规格。请查看此部分以确保您的硬件满足有效贡献的要求。
如果我想停止挖矿但将来还要使用账户怎么办?
要在将来恢复网络节点,只需备份以下内容:
- cold key — 最重要,其他都可以重新生成
- tmkms secrets:
.tmkms/secrets/ - .inference keyring:
.inference/keyring-file/ - node key:
.inference/config/node_key.json - warm key 密码:
KEYRING_PASSWORD
🚫 节点监禁与恢复
我的节点被监禁了,这是什么意思?
您的验证者被监禁是因为在最近100个区块中签名的区块少于50个(要求计算该窗口内签名区块的总数,而非连续签名)。这意味着您的节点被暂时排除(约15分钟)在区块生产之外,以保护网络稳定性。
常见原因:
- 共识密钥不匹配:您节点使用的共识密钥可能与链上注册的不同。
- 网络连接不稳定:网络不稳定可能阻止您的节点达成共识。
奖励:即使您的节点被监禁,只要它在推理中保持活跃,您将继续获得作为主机的大部分奖励。
如何解除节点监禁(Unjail)
问题解决后,使用 cold key 提交 unjail 交易以恢复正常运行:
export NODE_URL=http://<NODE_URL>:<port>
./inferenced tx slashing unjail --from <cold_key_name> --keyring-backend file --chain-id gonka-mainnet --gas auto --gas-adjustment 1.5 --fees 200000ngonka --node $NODE_URL/chain-rpc/
检查 unjail 状态(应显示 jailed: false):
./inferenced query staking delegator-validators <cold_key_addr> --node $NODE_URL/chain-rpc/🛑 退役与验证
如何安全地退役旧集群?
1) 禁用每个 ML Node:
curl -X POST http://localhost:9200/admin/v1/nodes/<id>/disable
2) 等待停止:在下一次 Proof-of-Compute (PoC) 期间未安排服务推理的节点将自动停止。活跃节点将在多一个纪元内保持活跃。一旦节点被标记为禁用,就可以安全关闭 MLNode 服务器。
3) 关闭 Network Node:
建议备份:.dapi/api-config.yaml、.dapi/gonka.db、.inference/config/、.inference/keyring-file/、.tmkms/
硬件、节点权重和 ML Node 配置实际上是如何验证的?
链不验证真实硬件。它只验证参与者总权重,这是用于权重分配和奖励计算的唯一值。
跨 ML Nodes 的任何权重分解纯粹是信息性的。API 服务尝试自动检测硬件,但这可以被覆盖。
无论配置如何,奖励仅取决于主机总权重。
📡 连接与种子节点
我的节点无法连接到 config.env 中指定的默认种子节点
通过更新 config.env 中的变量将其指向另一个节点:
- SEED_API_URL — 从 genesis 列表中选择任何一个(例如
http://node2.gonka.ai:8000) - SEED_NODE_RPC_URL — 使用相同的主机但端口为 26657
- SEED_NODE_P2P_URL — 查询节点状态以找到 P2P 端口
export SEED_NODE_P2P_URL=tcp://node3.gonka.ai:5000如何更改种子节点?
选项 1:手动编辑(如果已初始化)
编辑 .inference/config/config.toml:
seeds = "<node1_id>@<node1_ip>:<port>,..."
查看已知的 peers:
curl http://47.236.26.199:8000/chain-rpc/net_info | jq
选项 2:重新初始化(从 env 自动应用)
source config.env
docker compose down node
sudo rm -rf .inference/data/ .inference/.node_initialized
sudo mkdir -p .inference/data/🔐 密钥、安全与 PoC
在哪里可以找到密钥管理信息?
您可以在文档中找到专门的密钥管理部分。它概述了在网络上安全管理应用程序密钥的程序和最佳实践。
我清除或覆盖了共识密钥
如果使用 tmkms,删除 .tmkms 文件夹并重启以自动生成新密钥。然后注册它:
./inferenced tx inference submit-new-participant <PUBLIC_URL> --validator-key <CONSENSUS_KEY> --keyring-backend file --unordered --from <COLD_KEY_NAME> --timeout-duration 1m --node http://<node-url>/chain-rpc/ --chain-id gonka-mainnet我删除了 Warm Key
- 在本地备份 cold key
- 停止 API:
docker compose down api --no-deps - 在
config.env中设置 KEY_NAME - 在容器内重新创建 warm key:
source config.env && docker compose run --rm --no-deps -it api /bin/sh
printf '%s
%s
' "$KEYRING_PASSWORD" "$KEYRING_PASSWORD" | inferenced keys add "$KEY_NAME" --keyring-backend file
5. 使用 cold key(本地)授予权限
6. 启动 API:docker compose up -d
如何模拟 Proof-of-Compute (PoC)?
在 ML Node 上模拟 PoC 以验证准备就绪。首先暂停 api 节点:
docker pause api
将节点转换为停止状态:
curl -X POST "http://<ml-node-host>:<port>/api/v1/stop" -H "Content-Type: application/json"
发送生成请求(payload 在文档中可用):
curl -X POST "http://<ml-node-host>:<port>/api/v1/pow/init/generate" ...
如果成功,您将看到创建 GPU 组和发送生成批次的日志。
🛠️ 更新与维护
Cosmovisor 更新需要多少可用磁盘空间?
Cosmovisor 在更新期间在 .inference 状态文件夹中创建完整备份(截至 2025 年 11 月约为 150 GB)。建议有 250+ GB 的可用磁盘空间。
您可以安全地删除旧备份:
rm -rf .inference/data-backup-*如何预下载二进制文件以避免在升级期间访问 GitHub?
您可以预先将二进制文件下载到:
.dapi/cosmovisor/upgrades/v0.2.5/bin.inference/cosmovisor/upgrades/v0.2.5/bin
使它们可执行并在升级触发之前验证其校验和。完整脚本请参阅文档。
⚙️ 错误与故障排除
如何防止 NATS 中的无限内存增长?
默认情况下,NATS 无限期存储消息。安装 nats-cli 并为流配置 24 小时 TTL:
nats stream info txs_to_send --server localhost:<port>
nats stream info txs_to_observe --server localhost:<port>如何更改 inference_url?
使用 submit-new-participant 交易。这会更新 InferenceURL 而无需重新注册。
注意:链仅在下一个纪元更新 ActiveParticipants 列表,因此如果可能,请保持两个 URL 都处于活动状态以避免中断。
./inferenced tx inference submit-new-participant <PUBLIC_URL> ...为什么我的 application.db 变得这么大,如何修复?
application.db 存储状态历史。您可以在 .inference/config/app.toml 中设置 pruning 参数:
pruning-keep-recent = "1000"
要重置数据库,您可以从快照重新同步或使用全新的 state sync。
自动 ClaimReward 没有通过,该怎么办?
这是由于 gas 设置过低造成的。修复在 v0.2.5-post7 版本中。
下载新的二进制文件,重启 api,并强制恢复 claim:
curl -X POST http://localhost:9200/admin/v1/claim-reward/recover -H "Content-Type: application/json" -d '{"force_claim": true, "epoch_id": 106}'错误:"No epoch models available for this node"
这不是严重错误。它表示您的节点尚未被分配模型,可能是因为它尚未参与 Sprint 或获得投票权。
通过 PoC(每约 24 小时)后,此日志应该消失。