什么是 Bittensor RPC,如何连接?
关键要点
- Bittensor 使用基于 Substrate 的 L1(Subtensor),并可选配用于智能合约的 EVM 运行时。
- 主网称为 Finney(EVM 的链 ID 为 964);测试网使用链 ID 945。
- 多个提供商提供公共 RPC 端点,包括 OnFinality、Nodies 和 blockmachine。
- OnFinality 提供公共和专用的 Bittensor RPC 端点,并具有全局负载均衡。
- 常见的 RPC 方法包括 chain_getBlockHash、substrate_* 调用以及标准的 EVM JSON-RPC 方法。
- 对于生产工作负载,专用节点可提供更高的吞吐量、更低的延迟和 SLA 支持的高可靠性。
- 在集成到你的应用程序之前,始终验证端点的真实性和速率限制。
理解 Bittensor 的架构
Bittensor 是一个去中心化的 AI 网络,使机器学习模型能够协作和竞争。其核心区块链 Subtensor 使用 Substrate 构建,并采用权威证明共识。在 Subtensor 之上,Frontier EVM 运行时提供了以太坊兼容性,允许开发者部署 Solidity 智能合约。
网络被组织成子网,每个子网专注于特定的 AI 任务(例如文本生成、图像识别)。验证者和矿工在链上注册,并通过 Bittensor 协议进行通信。要以编程方式与网络交互,你需要一个同时暴露 Substrate 特定和 EVM JSON-RPC 方法的 RPC 端点。
- 共识:权威证明(PoA),区块时间为 12 秒。
- 原生代币:TAO,用于 gas 和质押。
- EVM 链 ID:964(主网),945(测试网)。
- Substrate 方法:chain_getBlockHash、state_getStorage、substrate_*。
- EVM 方法:eth_blockNumber、eth_call、eth_sendRawTransaction。
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| 网络 | Finney(主网)与测试网 | 主网使用真实的 TAO;测试网使用测试 TAO 进行开发。 |
| RPC 接口 | Substrate 与 EVM | 根据你需要原生 Substrate 调用还是以太坊兼容的 JSON-RPC 进行选择。 |
| 端点类型 | 公共与专用 | 公共端点有速率限制;专用节点提供更高的吞吐量和可靠性。 |
公共 Bittensor RPC 端点
多个提供商为主网和测试网提供公共 Bittensor RPC 端点。以下是常用的端点。请注意,公共端点可能有速率限制,不建议用于需要高可用性的生产工作负载。
OnFinality 为 Finney 主网提供了一个公共端点:https://bittensor-finney.api.onfinality.io/public。该端点支持 Substrate 和 EVM 方法,并受到正常运行时间监控。对于测试网,OnFinality 也根据请求提供端点。
- Finney(主网)– OnFinality:https://bittensor-finney.api.onfinality.io/public
- Finney(主网)– Nodies:https://bittensor-public.nodies.app
- Lite(主网)– blockmachine:https://rpc.blockmachine.io
- Lite(主网)– Opentensor.ai:https://lite.chain.opentensor.ai
- 测试网 – Nodies:https://bittensor-testnet-public.nodies.app
- 测试网 Lite – Opentensor.ai:https://test.chain.opentensor.ai
如何连接 Bittensor RPC
连接 Bittensor RPC 端点非常简单。你可以使用带有 JSON-RPC 负载的标准 HTTP POST 请求。对于 Substrate 方法,端点期望 JSON-RPC 2.0 请求。对于 EVM 方法,如果提供商支持 EVM 接口,则可以使用相同的端点。
以下是一个使用 curl 通过 OnFinality 的公共端点调用 Finney 主网上的 chain_getBlockHash 方法的示例。
- 将 URL 替换为你选择的端点。
- 使用 Content-Type: application/json。
- 对于 EVM 方法,使用 eth_ 前缀的方法(例如 eth_blockNumber)。
- WebSocket (WSS) 端点也可用于实时订阅。
选择 Bittensor RPC 提供商
在选择 Bittensor RPC 提供商时,请考虑延迟、吞吐量、可靠性以及对 Substrate 和 EVM 接口的支持等因素。公共端点适用于开发和轻度使用,但对于生产应用程序,建议使用专用节点或高级 RPC 服务。
OnFinality 提供具有全局部署、负载均衡和 24/7 支持的专用 Bittensor 节点。这确保了你的 AI 应用程序的低延迟访问和高可用性。此外,OnFinality 的 RPC API 服务提供了具有自动故障转移的轻松集成。
- 延迟:选择在用户群附近有节点的提供商。
- 吞吐量:检查速率限制以及是否提供专用节点。
- 可靠性:寻找 SLA 支持的正常运行时间保证。
- 接口支持:确保提供商在需要时同时支持 Substrate 和 EVM 方法。
- 定价:比较免费层限制和付费计划。
| 标准 | 检查内容 | 为什么重要 |
|---|---|---|
| 提供商 | OnFinality、Nodies、blockmachine、Opentensor.ai | 每个提供商提供不同的端点类型、速率限制和支持级别。 |
| 端点类型 | 公共与专用 | 专用节点提供保证的性能,是生产的理想选择。 |
| 网络支持 | Finney、Lite、测试网 | Lite 网络可能功能减少;测试网用于开发。 |
常见的 Bittensor RPC 方法
Bittensor 暴露了广泛的 RPC 方法。以下是 Substrate 和 EVM 接口的一些常用方法。
- Substrate:chain_getBlockHash、chain_getHeader、state_getStorage、state_call、author_submitExtrinsic。
- EVM:eth_blockNumber、eth_getBalance、eth_call、eth_sendRawTransaction、eth_getTransactionReceipt。
- Bittensor 特定:subtensorModule.getSubnetInfo、subtensorModule.getNeuronInfo(通过 state_call)。
使用 Bittensor RPC 的最佳实践
为了确保集成 Bittensor RPC 端点时的顺畅体验,请遵循以下最佳实践:
始终使用具有冗余的可靠提供商。对于关键应用程序,在多个端点之间实现故障转移。监控你的 RPC 使用情况以避免达到速率限制。使用 WebSocket 连接获取实时数据,例如新区块或事件。确保你的 API 密钥安全并定期轮换。
- 为临时故障实现具有指数退避的重试逻辑。
- 缓存频繁访问的数据(例如子网信息)以减少 RPC 调用。
- 尽可能使用批量请求以提高效率。
- 在部署到主网之前在测试网上进行测试。
常见问题
Bittensor 主网的 RPC 端点是什么?
公共端点包括 https://bittensor-finney.api.onfinality.io/public (OnFinality)、https://bittensor-public.nodies.app (Nodies) 和 https://lite.chain.opentensor.ai (Opentensor.ai)。对于生产环境,请考虑使用专用节点。
Bittensor 是否支持 EVM RPC 方法?
是的,Bittensor 具有 Frontier EVM 运行时。EVM 链 ID 主网为 964,测试网为 945。你可以使用标准的以太坊 JSON-RPC 方法,例如 eth_call 和 eth_sendRawTransaction。
Finney 和 Lite 网络有什么区别?
Finney 是具有完整功能的主网。Lite 是一个轻量级版本,可能功能减少或速率限制更高。对于生产环境,请使用 Finney 端点。
我可以使用 OnFinality 连接 Bittensor 测试网吗?
是的,OnFinality 提供测试网端点。请联系支持或查看网络页面以获取详细信息。
如何获得专用的 Bittensor 节点?
OnFinality 提供专用的 Bittensor 节点。请访问专用节点页面或联系销售以获取自定义报价。