摘要
Bittensor 是一个去中心化的机器智能网络,其中独立的子网生产数字商品,如计算、推理和存储,贡献者赚取 TAO。本文解释了网络的架构、如何通过 RPC 端点连接,以及在 Bittensor 上构建时选择基础设施的注意事项。
快速建议:如何连接 Bittensor
如果您在 Bittensor 上构建,您的第一个决定是如何访问链。您可以运行自己的节点、使用公共端点,或依赖托管的 RPC 提供商。对于生产工作负载,像 OnFinality 这样的托管提供商提供专用节点和可靠的 API 访问,而无需同步和维护自己的基础设施。查看支持的 RPC 网络页面,看看 Bittensor 是否列出,并查看 RPC 定价 以了解成本选项。
什么是 Bittensor 网络?
Bittensor 是一个开源协议,为去中心化的机器学习网络提供动力。Bittensor 上的矿工不是挖掘哈希难题,而是训练机器学习模型、运行推理并提供其他 AI 服务。网络被组织成子网,每个子网代表一个特定的 AI 任务或市场。子网竞争以产生最好的数字商品——计算、推理、存储、预测——链以 TAO(原生加密货币)奖励贡献者。
网络使用提名权益证明(NPoS)共识机制,类似于 Polkadot。验证人和提名人保护链的安全,而每个子网内的矿工和验证人根据他们提供的价值获得排放。这种设计创造了一个市场,AI 服务在链上买卖,没有单一的控制点。
Bittensor 生态系统的关键组件
要使用 Bittensor,您需要了解其核心组件:
- 子网:Bittensor 内的独立网络,每个都有自己的激励机制。子网生产特定的数字商品,如文本生成、图像识别或存储。
- TAO:用于质押、费用和奖励的原生代币。TAO 的最大供应量为 2100 万,类似于比特币。
- Alpha 代币:每个子网都有自己的代币(alpha),跟踪该子网的表现。质押者可以通过在子网上质押 TAO 来赚取 alpha。
- btcli:用于与网络交互、管理钱包、质押和注册子网的命令行界面。
- Bittensor SDK:用于在 Bittensor 上构建应用程序的 Python SDK,包括钱包创建、质押和子网交互。
Bittensor 网络如何运作
Bittensor 的架构旨在激励有用的 AI 工作。以下是一个简化的流程:
- 矿工在子网上注册并提供服务,如模型训练或推理。
- 子网上的验证人评估矿工的输出,并根据质量分配分数。
- 质押者将 TAO 委托给他们信任的验证人,影响子网的激励分配。
- 排放每个区块(约 12 秒)根据性能分配给矿工、验证人和子网所有者。
这种机制确保网络奖励真正有价值的贡献,而不是浪费的计算。
Bittensor 网络链设置
连接 Bittensor 时,您需要正确的链设置。以下是关键参数:
| 参数 | 值 |
|---|---|
| 网络名称 | Bittensor Finney(主网) |
| 原生代币 | TAO |
| 共识 | 提名权益证明(NPoS) |
| 区块时间 | ~12 秒 |
| 签名算法 | EdDSA (ed25519) |
| 最小单位 | RAO (1 TAO = 10^9 RAO) |
| 浏览器 | Taostats |
对于托管的 RPC 端点,您可以使用像 OnFinality 这样的提供商。访问 Bittensor Finney 网络页面 获取最新的端点详细信息和连接选项。
使用 RPC 连接 Bittensor
要与 Bittensor 链交互,您可以使用 JSON-RPC 或 WebSocket 端点。以下是一个使用 curl 获取最新区块的示例:
curl -X POST https://bittensor-finney.onfinality.io/public \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"chain_getBlock","params":[],"id":1}'
对于 WebSocket 订阅,您可以使用像 polkadot-js/api 或 ethers(如果使用 EVM 兼容层)这样的库。以下是一个使用 polkadot-js 的 JavaScript 示例:
const { ApiPromise, WsProvider } = require('@polkadot/api');
async function connect() {
const provider = new WsProvider('wss://bittensor-finney.onfinality.io/public-ws');
const api = await ApiPromise.create({ provider });
const chain = await api.rpc.system.chain();
console.log('Connected to', chain.toString());
}
connect();
在 Bittensor 上构建:子网和 dApp
开发者可以通过多种方式在 Bittensor 上构建:
- 启动子网:创建自己的 AI 项目,定义任务,并设置激励机制。这需要技术专长和一定数量的 TAO 质押。
- 在子网上挖矿:向现有子网贡献计算资源,赚取 TAO 排放。
- 质押 TAO:将 TAO 委托给您信任的验证人或子网,赚取奖励。
- 构建 dApp:使用 Bittensor SDK 创建消费子网 AI 服务的应用程序。
对于 dApp 开发者,最常见的需求是读取链上数据——如子网权重、矿工分数和质押余额。这需要可靠的 RPC 访问。
为 Bittensor 选择合适的 RPC 基础设施
为 Bittensor 选择 RPC 提供商时,请考虑以下因素:
| 标准 | 检查什么 | 为什么重要 |
|---|---|---|
| 可靠性 | 正常运行时间历史和冗余 | 停机可能会破坏您的 dApp 或交易机器人 |
| 吞吐量 | 速率限制和请求配额 | 高频应用程序需要更高的限制 |
| 归档数据 | 访问历史状态 | 分析和回测需要 |
| WebSocket 支持 | 实时订阅 | 对于实时更新和监控至关重要 |
| 专用节点 | 隔离资源 | 避免嘈杂的邻居并确保一致的性能 |
OnFinality 为 Bittensor 提供公共和专用端点。对于生产工作负载,专用节点提供更可预测的性能和更高的速率限制。查看 RPC 定价 页面以比较选项。
连接 Bittensor 时的常见陷阱
以下是开发者经常遇到的一些问题:
- 使用错误的端点:确保您使用的是正确的网络(Finney 主网与测试网)。
- 错误的链 ID:Bittensor 是基于 Substrate 的链,因此请使用正确的创世哈希和链规范。
- 速率限制:公共端点可能会限制请求。如果您遇到限制,请考虑使用专用节点。
- WebSocket 断开:确保您的客户端处理重连逻辑。
- 费用估算:Bittensor 费用包括基础、长度和权重组件。使用 SDK 的费用估算方法以避免交易失败。
排查 Bittensor RPC 问题
如果您遇到问题,请遵循以下调试路径:
- 检查端点状态:使用健康检查端点或监控工具。
- 验证您的请求格式:确保 JSON-RPC 负载格式正确。
- 使用简单方法测试:从
chain_getBlock开始确认连接。 - 检查速率限制:查看响应头中的速率限制信息。
- 检查日志:在应用程序日志中查找错误消息。
对于持续存在的问题,请考虑切换到像 OnFinality 这样的托管提供商,它提供支持和可靠的基础设施。
关键要点
- Bittensor 是一个去中心化的 AI 网络,子网生产数字商品,贡献者赚取 TAO。
- 网络使用 NPoS 共识和基于 Substrate 的链,类似于 Polkadot。
- 要在 Bittensor 上构建,您需要可靠的 RPC 访问来读取链上数据和提交交易。
- 选择 RPC 提供商时,评估可靠性、吞吐量、归档数据、WebSocket 支持和专用节点选项。
- OnFinality 为 Bittensor 提供托管的 RPC 端点,包括公共和专用节点选项。
常见问题
什么是 Bittensor 网络?
Bittensor 是一个开源协议,为去中心化的机器学习网络提供动力。矿工训练模型并提供 AI 服务,网络以 TAO 奖励他们。
如何连接到 Bittensor 网络?
您可以使用 JSON-RPC 或 WebSocket 端点连接。对于生产环境,请考虑使用像 OnFinality 这样的托管 RPC 提供商。
什么是 TAO?
TAO 是 Bittensor 网络的原生加密货币,用于质押、费用和奖励。
什么是子网?
子网是 Bittensor 内的独立网络,每个专注于特定的 AI 任务。它们有自己的激励机制和 alpha 代币。
Bittensor 是一个好的投资吗?
我们无法提供投资建议。请彻底研究该项目并考虑您自己的风险承受能力。
在哪里可以找到 Bittensor RPC 端点?
您可以在 Bittensor Finney 网络页面 或通过像 OnFinality 这样的提供商找到公共和专用端点。