Logo
新用户订阅 RPC,首月享 6.5 折优惠查看优惠
RPC Assistant

Bittensor 矿工设置:从钱包到注册 UID

摘要

设置 Bittensor 矿工意味着准备一个 coldkey/hotkey 钱包,为其充值 TAO,在子网上注册 UID,然后针对可靠的 Finney RPC 端点运行子网的矿工进程。RPC 层至关重要,因为注册、质押检查和元图同步都依赖于一致的链访问。

本指南将引导您完成实际设置路径、容易让人困惑的决策(子网选择、注册成本、端点可靠性),以及如何在注册后保持矿工运行。它还涵盖了何时共享公共端点足够,以及何时专用节点或托管 RPC 端点更合适。

Bittensor 矿工实际运行的是什么

Bittensor 矿工不是安装后就可以忘记的单一二进制文件。它是子网中的一个角色:你在子网上注册一个 hotkey,运行子网的矿工代码,并响应该子网用于给矿工评分的验证流量。链本身(Finney 主网)处理身份、质押和注册;子网处理实际工作。

这种分离对设置很重要。你需要同时做好两件事:

  • 在 Bittensor 链上拥有钱包和注册,这需要可靠的 Finney RPC 访问。
  • 为你加入的特定子网运行矿工进程,这需要子网自身的依赖项、GPU 或 CPU 资源,并且通常需要一个公共 IP 或可访问的端点。

大多数设置失败都源于这两部分之一准备不足:要么钱包/注册步骤是在不可靠的端点上完成的,要么在理解子网要求之前就启动了矿工进程。

快速建议:公共端点还是专用节点?

在安装任何东西之前,先决定你的矿工如何与链通信。这个决策对注册后设置是否保持稳定影响最大。

你的情况合理的起点原因
首次注册,学习流程,低质押共享公共 RPC 端点启动成本低,适合偶尔的钱包和注册调用
运行一个或多个频繁轮询链的矿工具有稳定 URL 的托管 RPC 端点避免与无关流量共享速率限制
在运行矿工的同时操作多个子网或验证者专用节点可预测的吞吐量和隔离的资源
构建持续读取元图或质押数据的工具托管 RPC 或专用节点持续的读取量在专用容量上更友好

如果你还在探索,从公共端点开始,当你注意到速率限制、超时或元图读取缓慢时再升级。如果你已经知道自己将连续运行矿工,从一开始就计划使用托管或专用端点。OnFinality 通过 HTTP 和 WebSocket 提供 Bittensor Finney RPC,并在你需要隔离容量时提供专用节点选项。有关端点详情,请参阅 Bittensor Finney RPC;有关计划选项,请参阅 RPC 定价

步骤 1:安装 Bittensor CLI 并创建钱包

Bittensor CLI(btcli)是用于钱包和注册操作的标准工具。在你控制的 Python 环境中安装它,然后创建一个 coldkey 和一个 hotkey。

  • coldkey 持有你的 TAO 并控制你的身份。将其离线保存或放在你不暴露的机器上。
  • hotkey 由矿工进程用于签名。它可以放在矿工主机上。

典型流程如下:

# 安装 CLI(版本可能变化;请查看当前文档)
pip install bittensor

# 创建 coldkey(保护此机器)
btcli wallet new_coldkey --wallet.name miner_cold

# 为矿工主机创建 hotkey
btcli wallet new_hotkey --wallet.name miner_cold --wallet.hotkey miner_hot

离线记录 coldkey 的助记词。丢失它意味着失去对钱包及其附加的任何质押的访问权限。

步骤 2:将 CLI 指向 Finney RPC 端点

CLI 需要访问 Finney 主网。你可以传递网络标志或配置端点。使用稳定、有文档的端点可以避免随机公共节点的猜测。

OnFinality 通过 HTTP 和 WebSocket 公开一个公共 Bittensor Finney 端点:

# HTTP 端点
https://bittensor-finney.api.onfinality.io/public

# WebSocket 端点
wss://bittensor-finney.api.onfinality.io/public-ws

在进行任何消耗 TAO 的操作之前,你可以通过一个简单的 JSON-RPC 调用验证连接性:

curl -s https://bittensor-finney.api.onfinality.io/public \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"chain_getHeader","params":[]}'

如果返回区块头,则你的端点可达。如果超时或返回错误,请先修复连接性再继续。注册交易不是你想盲目重试的事情。

对于生产矿工,在矿工配置中配置端点,而不是在脚本中硬编码,这样你可以在不编辑代码的情况下切换端点。

步骤 3:为钱包充值并检查余额

将 TAO 发送到你的 coldkey 地址。你需要足够的 TAO 用于:

  • 你加入的子网上的注册费(销毁成本)。
  • 用于交易费用和你想要添加的任何质押的小额缓冲。

注册成本因子网而异,并随需求变化。在注册前检查当前成本,而不是假设一个固定数字。你可以通过 CLI 或直接通过读取账户状态的 RPC 调用查询余额。

一个实用的习惯:在提交注册交易之前,一次性确认 coldkey 余额和 hotkey 注册状态。

步骤 4:选择子网并注册 UID

子网在硬件要求、评分逻辑和竞争方面差异巨大。在注册之前:

  • 阅读子网的仓库和文档,了解硬件和软件要求。
  • 检查有多少 UID 可用以及子网的竞争程度。
  • 了解子网如何给矿工评分,因为这决定了你的设置是否能赚到任何东西。

注册本身是一个链上交易,它在子网上为你的 hotkey 分配一个 UID。注册后,你的矿工进程就可以启动了。

设置决策需要检查什么常见错误
子网选择硬件需求、评分规则、UID 可用性加入一个硬件无法匹配的子网
注册时机当前销毁成本和网络活动在成本飙升时未检查就注册
Hotkey 放置hotkey 文件所在位置将 coldkey 放在面向互联网的主机上
端点选择重复调用下的稳定性使用在注册期间会限速的端点

步骤 5:运行矿工进程

每个子网都有自己的矿工。一般模式是:

  1. 克隆子网仓库并安装其依赖项。
  2. 使用你的钱包名称、hotkey 名称、网络端点和任何子网特定设置配置矿工。
  3. 启动矿工并确认它正在产生子网期望的响应。
  4. 监控日志中的错误、错过的请求或评分下降。

矿工主机需要保持可达和稳定。如果你的矿工离线,子网可能会停止给它评分,恢复并不总是即时的。

注册后保持矿工健康

注册是开始,不是结束。持续运营才是大部分实际工作所在:

  • 端点可靠性。 如果你的矿工或监控脚本频繁轮询链,共享公共端点可能成为瓶颈。托管 RPC 端点或专用节点为你提供稳定的 URL 和隔离的容量。如果你运行多个矿工或验证者,请参阅专用节点
  • 元图和质押读取。 定期读取元图数据或质押状态的工具受益于一致的吞吐量。尽可能批量读取,避免紧密的轮询循环。
  • 钱包卫生。 将 coldkey 保持在矿工主机之外。仅使用 hotkey 进行签名。
  • 版本跟踪。 子网会更新其矿工代码。固定一个已知良好的版本,并在推出前测试升级。
  • 告警。 关注注册丢失、重复的 RPC 错误和矿工进程退出。针对你的 RPC 端点进行简单的健康探测可以及早发现连接问题。

一个最小的监控探针可能如下所示:

#!/usr/bin/env bash
# Bittensor 矿工主机的基本端点健康检查
ENDPOINT="https://bittensor-finney.api.onfinality.io/public"
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" -X POST "$ENDPOINT" \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"chain_getHeader","params":[]}')
if [ "$RESPONSE" != "200" ]; then
  echo "RPC 端点不健康: $RESPONSE"
fi

定期运行此脚本并在失败时告警。它不会捕获所有子网级问题,但能捕获最常见的问题:失去链连接。

常见故障模式及如何解读

症状可能原因下一步
注册交易反复失败端点超时或余额不足用读取调用测试端点,确认余额,重试
矿工启动但赚不到任何东西子网配置错误或评分不匹配重新阅读子网文档,检查日志中被拒绝的响应
操作期间频繁出现 RPC 错误共享端点速率限制迁移到托管或专用端点
重启后 UID 丢失注册未持久化或钱包路径错误验证钱包文件和注册状态
元图读取缓慢轮询过于频繁批量请求,增加间隔,使用专用端点

何时从公共端点迁移

公共端点适合学习和轻度使用。在以下情况下迁移到托管 RPC 端点或专用节点:

  • 你连续运行矿工并需要可预测的访问。
  • 你在运行矿工的同时操作多个子网或验证者。
  • 你构建定期读取链状态的工具。
  • 你一直遇到速率限制或间歇性超时。

OnFinality 通过 HTTP 和 WebSocket 提供 Bittensor Finney RPC,并为需要隔离容量的团队提供专用节点选项。从 Bittensor Finney 网络页面开始,比较 RPC 定价,如果你跨链运行基础设施,请浏览其他支持的 RPC 网络

关键要点

  • Bittensor 矿工设置有两个部分:链侧注册(钱包、TAO、UID)和子网的矿工进程。
  • 使用有文档的 Finney RPC 端点,并在花费 TAO 注册之前用读取调用验证它。
  • 保持 coldkey 离线;在矿工主机上使用 hotkey。
  • 在注册前检查当前注册成本和子网要求。
  • 当你连续运行矿工或遇到速率限制时,从共享公共端点迁移到托管 RPC 端点或专用节点。
  • 监控端点健康和矿工日志;大多数故障是连接或配置问题。

常见问题

运行 Bittensor 矿工需要专用节点吗?

不需要。你可以从共享公共 RPC 端点开始。当你连续运行矿工、操作多个子网或需要可预测的吞吐量时,专用节点或托管 RPC 端点才变得有价值。

注册矿工需要多少 TAO?

注册成本因子网而异,并随需求变化。在注册前检查当前销毁成本,并保留少量缓冲用于费用。

我可以在同一主机上运行矿工和验证者吗?

可以,但资源争用是真实风险。如果这样做,请计划隔离容量并密切监控两个进程。

如果我的矿工离线会发生什么?

子网可能会停止给你的矿工评分,恢复并不总是即时的。保持主机稳定,并监控进程退出和连接丢失。

我应该为 Bittensor 使用哪个 RPC 端点?

使用有文档的 Finney 端点。OnFinality 提供对 Bittensor Finney 的 HTTP 和 WebSocket 访问;详情请参阅 Bittensor Finney 网络页面

RPC 知识库

相关 RPC 内容

网络 RPCSolana

什么是 Solana API,如何使用它?

# Solana API 指南:RPC 端点、方法及最佳实践 Solana API 是一个 JSON-RPC 接口,允许开发者与 Solana 区块链交互。它提供了读取网络状态、发送交易、模拟执行以及订阅实时更新的方法。本指南涵盖了核心 API 方法、如何连接到不同集群,以及为生产应用选择可靠 RP...

测试网 RPCSolana

什么是 Solana Devnet,以及如何在开发中使用它?

Solana Devnet 是一个免费的公共测试网络,开发者可以在其中部署程序、测试交易,并模拟主网行为,而无需使用真实的 SOL。它紧密模拟 Solana 运行时,使其成为在主网启动前构建和调试 dApp 的标准环境。 本指南涵盖如何连接 Devnet、从水龙头获取免费 SOL,以及选择可靠的 R...

网络 RPCOptimism

如何检查 Optimism 的可用性,这对你的 dApp 意味着什么?

Optimism 可用性指的是 OP Mainnet 网络及其核心服务(如公共 API、存款、取款和交易排序)的可用性。虽然官方 Optimism 状态页面提供了高层视图,但 RPC 端点的可靠性才是直接影响你 dApp 性能的关键。本文介绍了如何监控 Optimism 的可用性、在 RPC 提供商...

网络 RPCBase

Base RPC 节点:端点、链设置和调试

Base 是一个基于 OP Stack 构建的以太坊 Layer 2 网络。要与 Base 交互,您需要一个 RPC 端点,让您的应用程序能够读取和写入链上数据。本页涵盖官方 Base RPC 端点、链设置、常见请求模式以及如何调试连接问题。...

RPC 提供商选择Abstract

什么是 Abstract RPC 提供者,如何评估一个?

Abstract RPC 提供者为你的 dApp 提供指向 Abstract 二层网络的 JSON-RPC 端点,该网络是基于 ZK Stack 构建的零知识 rollup。提供者负责节点操作、负载均衡和 API 访问,让你专注于构建。本文介绍在选择 Abstract RPC 提供者时应注意什么,如...

网络 RPCEnjin

Enjin RPC:端点、链设置与开发者工作流

Enjin 运行两条基于 Substrate 的链:Enjin Matrix Chain(NFT 和代币的应用层)和 Enjin Relay Chain(共识和安全层)。两者都使用 Substrate RPC(而非 EVM JSON-RPC),因此开发者需要使用 Polkadot.js 或原始的 W...

永远不用担心基础设施

OnFinality 消除了 DevOps 的繁重工作,让您能够更聪明、更快地构建。

开始