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

Bittensor 子网 123:它是什么以及如何连接?

摘要

Bittensor 子网 123 是运行在 Bittensor 网络之上的编号激励子网之一。每个子网都有自己的任务、矿工和验证者激励设计,以及自己的链上注册和质押记账,因此“子网 123”最好理解为特定子网的 netuid,而不是固定的产品名称。如果你正在其上构建,实际问题通常是:如何读取其状态以及如何可靠地访问 Bittensor 链。

本页解释了 Bittensor 子网 netuid 的含义,如何通过链检查子网 123,以及如何使用 Bittensor RPC 端点进行连接。OnFinality 为 Bittensor Finney 提供 RPC API 访问和专用节点选项,因此你无需运行自己的节点即可查询子网数据。

Bittensor 是一个去中心化的机器学习网络,许多独立的“子网”在其中竞争以产生有用的工作。每个子网由一个称为 netuid 的数字标识。当人们问起“子网 123”时,他们问的是在 Bittensor 链上以该 netuid 注册的子网。

简短的回答:子网 123 是 Bittensor 上的一个特定子网,由其 netuid、激励机制以及注册到它的矿工和验证者定义。它不是一个具有永久描述的固定产品,因为子网会演变,其目的由构建和运营它们的人设定。保持稳定的是链上身份:netuid、质押、注册成本和排放流。

如果你是开发者,有用的问题不仅是“它是什么”,还有“我如何读取其状态并连接到它”。本页回答了这两个问题,然后展示了如何通过 RPC 端点查询 Bittensor。

如何从链上读取子网 123

在与任何子网集成之前,请确认它在链上实际是什么,而不是依赖你在某处读到的描述。Bittensor 将子网元数据和超参数存储在链状态中,你可以通过 Subtensor RPC 接口读取它们。

最可靠的路径是直接查询链。在 Bittensor Finney(主网)上,你可以使用公共 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": []
  }'

这确认了你正在与正确的链通信。要检查子网特定数据,你需要查询 Subtensor 运行时存储中你关心的 netuid。确切的存储键和方法名称取决于运行时版本,因此请检查当前的 Subtensor 元数据,而不是硬编码假设。

识别子网的实用检查清单:

需要确认的内容查看位置为什么重要
Netuid 和子网身份Subtensor 子网存储确认你正在读取正确的子网
激励机制子网超参数和文档告诉你矿工和验证者实际做什么
注册成本子网注册存储影响你是否可以作为矿工加入
排放和质押链状态和质押数据显示奖励如何流动
所有者和运营者链上账户数据帮助你评估谁在运营它

如果仅从链上数据无法明确子网的目的,请将该子网自己的文档和社区渠道视为其任务定义的真相来源。链上数据告诉你机制;运营者定义使命。

何时需要 RPC 端点 versus 自己的节点

这是大多数构建者早期面临的决策。读取 Bittensor 状态和与子网交互有三种广泛的选择。

  • 公共 RPC 端点。 最快的入门方式。适用于仪表板、脚本、测试和轻量级生产读取。你与其他用户共享容量,因此将其视为起点,而不是对繁重或延迟敏感工作负载的保证。
  • 专用节点。 你为自己的应用程序获得隔离的容量。这适合索引器、高频轮询、验证者工具,以及任何共享公共容量成为瓶颈的场景。
  • 自托管节点。 最大控制权,但你需要拥有硬件、同步、升级和监控。对于像 Bittensor 这样的基于 Substrate 的链,这是一项真正的运营承诺。

一个简单的决定方法:

你的情况合理的起点
首次探索子网 123公共 RPC 端点
构建具有稳定流量的仪表板或机器人托管 RPC API,然后扩展
运行验证者或矿工基础设施专用节点
需要完全控制并有运营能力自托管节点

OnFinality 提供 Bittensor Finney RPC 端点 以及 专用节点 选项,如果你超出共享访问。你可以在 RPC 定价 页面比较计划,并在 支持的 RPC 网络 列表中查看其他链。

连接到 Bittensor Finney

Bittensor 主网称为 Finney。原生代币是 TAO,有 9 位小数。如果你正在连接客户端,这些是你需要的设置。

设置值
网络Bittensor Finney 主网
原生代币TAO(9 位小数)
HTTP RPChttps://bittensor-finney.api.onfinality.io/public
WebSocket RPCwss://bittensor-finney.api.onfinality.io/public-ws
传输HTTP 和 WebSocket

因为 Bittensor 是基于 Substrate 的网络,你使用 Substrate JSON-RPC 方法与之交互,而不是像 eth_call 这样的 EVM 方法。这一区别让习惯以太坊风格工具的开发者感到困惑。

一个最小的 JavaScript WebSocket 连接如下所示:

const WebSocket = require('ws');

const ws = new WebSocket('wss://bittensor-finney.api.onfinality.io/public-ws');

ws.on('open', () => {
  ws.send(JSON.stringify({
    jsonrpc: '2.0',
    id: 1,
    method: 'chain_getBlockHash',
    params: []
  }));
});

ws.on('message', (data) => {
  console.log('Block hash:', data.toString());
  ws.close();
});

如果你使用 Substrate 客户端库,将其指向相同的端点,并让库处理元数据和存储查询。这通常比手动编写 JSON-RPC 调用进行子网存储查询更简洁。

使用子网时的常见错误

当开发者首次接触 Bittensor 子网时,有几个问题反复出现。

  • 假设 EVM 方法有效。 Bittensor 基于 Substrate。像 eth_getBalance 这样的方法不是正确的工具。使用 Substrate RPC 和存储查询。
  • 硬编码 netuid 假设。 子网超参数和存储布局可能在运行时升级之间改变。读取元数据,而不是假设固定模式。
  • 混淆子网身份与子网目的。 netuid 是稳定的;子网的任务和社区可以改变。验证链上数据和子网自己的文档。
  • 忽略注册成本。 如果你计划注册为矿工,成本是动态的并由子网设定。在承诺之前检查它。
  • 将公共端点视为无限。 共享端点适合探索,但生产工作负载应计划专用容量。

调试连接问题

当 Bittensor RPC 调用失败时,按顺序处理,而不是猜测。

症状可能原因下一步
连接被拒绝URL 或传输错误确认 HTTP 与 WebSocket 以及确切的路径
方法未找到使用 EVM 风格方法切换到 Substrate JSON-RPC 方法
空或 null 结果错误的存储键或 netuid重新读取运行时元数据
负载下超时共享端点饱和迁移到专用节点
区块高度陈旧客户端缓存或错误的链重新查询 chain_getHeader

一个快速健康探测是请求最新区块头,并将区块号与区块浏览器进行比较。如果高度在移动,你的连接是活跃的。如果冻结,你可能指向了一个陈旧或配置错误的端点。

在生产中运营子网 123 工具

一旦你超越探索阶段,可靠性成为主要关注点。一些实践有帮助:

  • 分离读取和写入路径。 读取密集型的仪表板和写入密集型的注册或质押流程有不同的需求。不要假设一个端点配置适合两者。
  • 添加故障转移。 配置一个辅助端点,以便单个连接问题不会导致服务中断。
  • 监控区块高度和响应时间。 这两个信号能及早发现大多数连接问题。
  • 为运行时升级做计划。 Substrate 链定期升级。在部署前针对当前运行时进行测试。
  • 跟踪子网特定指标。 注册成本、排放和质押是你的用户会问到的数字。

如果你运行与子网相关的验证者或矿工基础设施,专用节点为你提供可预测的容量,并将你与共享端点上的嘈杂邻居隔离。

关键要点

  • Bittensor 子网 123 是通过其在 Bittensor 链上的 netuid 标识的特定子网,而不是固定的产品名称。
  • 链上数据告诉你机制:netuid、注册成本、质押和排放。子网自己的文档定义其任务。
  • Bittensor 基于 Substrate,因此你使用 Substrate JSON-RPC 方法,而不是 EVM 方法。
  • Bittensor 主网是 Finney,原生代币是 TAO,有 9 位小数。
  • 从公共 RPC 端点开始探索,然后迁移到 专用节点 用于生产工作负载。
  • OnFinality 提供 Bittensor Finney RPC 访问;查看 RPC 定价 和 支持的 RPC 网络 了解选项。

常见问题

什么是 Bittensor 子网 123?

它是在 Bittensor 网络上以 netuid 123 注册的子网。其目的由运营它的人定义,而其链上身份、质押和排放可从链状态读取。

子网 123 是代币还是链?

都不是。子网是运行在 Bittensor 链上的编号激励机制。它使用 TAO 进行质押和注册,但它不是单独的链或独立的代币。

如何连接到 Bittensor 以读取子网 123 数据?

使用 Bittensor Finney RPC 端点。OnFinality 在 Bittensor Finney 网络页面 提供 HTTP 和 WebSocket 访问。查询 Subtensor 存储中你想要的 netuid。

我可以在 Bittensor 上使用像 ethers.js 这样的以太坊工具吗?

不能直接使用。Bittensor 基于 Substrate,因此你需要 Substrate 兼容的工具和 JSON-RPC 方法,而不是 EVM 方法。

我需要自己的节点来与子网交互吗?

对于探索和轻量级生产,托管 RPC 端点通常就足够了。对于高频轮询、索引或验证者和矿工基础设施,专用节点是更实际的选择。

如何知道一个子网是否值得构建?

检查其注册成本、排放流、质押分布和链上运营者活动,然后阅读其文档以了解任务。链上机制加上运营者意图共同讲述真实故事。

RPC 知识库

相关 RPC 内容

RPC 提供商选择Solana

哪些 Solana RPC 提供商以其针对 DeFi 的增强 API 而闻名?

Solana 上的 DeFi 应用需要的不仅仅是基本的 JSON-RPC:它们依赖于增强的 API,如优先费用估算、代币账户索引和实时 WebSocket 流。本文介绍了在为 DeFi 工作负载选择 Solana RPC 提供商时应注意什么,以及如何评估 OnFinality 的托管 RPC 和专用...

网络 RPCCelo

Celo 主网和测试网的 RPC 端点是什么?

Celo RPC 端点允许开发者连接到 Celo 区块链。主网链 ID 为 42220,测试网(Celo Sepolia)链 ID 为 11142220。存在免费的公共端点,但有速率限制;对于生产应用,请考虑使用如 OnFinality 等专用 RPC 提供商。...

网络 RPCSolana

Solana RPC 端点:如何连接、配置和调试

Solana RPC 端点是您的 dApp 或验证器用来向 Solana 网络发送 JSON-RPC 请求的 URL。本页介绍主网和开发网端点、如何在代码中配置它们,以及如何调试常见的连接问题。对于生产环境的工作负载,OnFinality 提供的托管或专用 RPC 端点可提供可靠性和可扩展性。...

网络 RPCPolkadot

Polkadot 节点:开发者运行与连接网络指南

本指南涵盖开发者需要了解的关于 Polkadot 节点的所有内容:节点类型、如何运行自己的节点、如何通过 RPC 端点连接,以及如何选择自托管节点与提供商托管节点。无论您是在构建 dApp、钱包还是基础设施工具,您都将学习到可靠地与 Polkadot 网络交互的实用步骤。...

网络 RPCSORA

什么是 SORA 网络?如何连接它?

SORA 网络是一个去中心化的区块链平台,专注于创建一个主权经济系统。它使用 XOR 代币和代币绑定曲线来管理供应,并支持民主治理和跨链互操作性。开发者可以使用基于 Substrate 的链在 SORA 上构建,并使用 Polkaswap 等工具进行 DeFi 操作。要与网络交互,你需要一个可靠的 ...

网络 RPCBase

Base 公共 RPC 端点和独立性能指标:你应该评估什么?

Base 公共 RPC 端点便于原型设计和轻量读取,但它们是共享基础设施,不保证吞吐量、速率限制或可用性。独立性能指标可帮助你比较延迟、错误率和方法覆盖范围,但在投入生产之前,你应始终根据自身工作负载进行验证。 本文解释了如何阅读 Base 公共 RPC 端点列表、如何解读独立性能指标,以及何时从公...

永远不用担心基础设施

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

开始