摘要
Bittensor 节点(subtensor)是一个完整的区块链节点,连接到 Bittensor 网络,使您能够读取链状态、提交交易并参与子网。运行自己的节点可以完全控制并保护隐私,但需要大量的硬件和维护。对于许多团队来说,使用托管的 RPC 端点或专用节点基础设施是更实际的选择。
Bittensor 节点决策清单
在决定如何连接到 Bittensor 网络之前,请评估以下因素:
| 标准 | 检查内容 | 重要性 |
|---|---|---|
| 硬件要求 | CPU 核心数、内存、存储(SSD)、带宽 | 运行 subtensor 节点需要 4 核以上、16 GB 以上内存和 128 GB 以上 SSD。硬件不足会导致同步失败或性能不佳。 |
| 网络连接 | 公共互联网访问、静态 IP、防火墙规则 | subtensor 节点必须能被对等节点访问。NAT 或限制性防火墙可能阻止正常同步。 |
| 运维开销 | 设置时间、维护、监控、升级 | 自托管节点需要持续关注。托管服务可减轻此负担。 |
| 数据访问模式 | 读取与写入频率、归档需求、WebSocket 支持 | 如果需要历史状态或实时订阅,请确保您的节点或提供商支持归档模式和 WebSocket 端点。 |
| 预算 | 硬件成本、电费、托管费用 vs 托管 RPC 定价 | 自托管在大规模下可能更便宜,但有前期成本。托管 RPC 提供可预测的月费。 |
| 可靠性要求 | 正常运行时间 SLA、故障转移、冗余 | 生产应用通常需要高可用性。单个自托管节点是单点故障。 |
什么是 Bittensor 节点?
Bittensor 节点,也称为 subtensor 节点,是一个运行 Bittensor 协议的完整区块链节点。它维护 Bittensor 账本的副本,验证交易,并与网络中的其他节点通信。开发者和子网参与者使用这些节点查询链上数据、提交外部交易(交易)以及与子网交互。
Bittensor 是一个去中心化的机器智能网络,其中独立的子网生产数字商品,如计算、推理、存储和预测。网络用 TAO 代币奖励贡献者。要参与——无论是作为验证者、矿工还是应用程序开发者——您需要可靠地连接到 Bittensor 节点。
运行 subtensor 节点的硬件要求
根据官方 Bittensor 文档,subtensor 节点需要:
- CPU:4 核(生产环境建议 8 核以上)
- 内存:最低 16 GB,高负载时 32 GB 以上
- 存储:128 GB SSD(首选 NVMe)。链会随时间增长,因此建议规划 256 GB 或更多。
- 带宽:不限量连接,至少 100 Mbps 下载/上传
- 公共 IP:节点必须在互联网上可访问(通常端口 30333 和 9933)
这些要求与运行 Polkadot 或 Kusama 节点类似,因为 subtensor 基于 Substrate 构建。
如何运行 Bittensor 节点
您可以使用预编译二进制文件、Docker 或从源代码编译来运行 subtensor 节点。官方仓库是 RaoFoundation/subtensor。
选项 1:使用 Docker(推荐快速启动)
docker pull ghcr.io/raofoundation/subtensor:latest
docker run -d --name subtensor \
-p 30333:30333 \
-p 9933:9933 \
-v /path/to/data:/data \
ghcr.io/raofoundation/subtensor:latest \
--base-path /data \
--chain finney \
--name my-subtensor-node \
--pruning archive \
--rpc-external \
--rpc-cors all
这将启动一个归档节点,并在端口 9933 上启用 RPC。如果需要完整的历史状态,请将 --pruning 调整为 archive。
选项 2:从源代码编译
git clone https://github.com/RaoFoundation/subtensor.git
cd subtensor
cargo build --release
./target/release/node-subtensor \
--base-path /data \
--chain finney \
--name my-subtensor-node \
--pruning archive \
--rpc-external \
--rpc-cors all
编译可能需要 30–60 分钟,并且需要 Rust 工具链。
运行自己节点时的常见陷阱
- 存储不足:链数据库增长迅速。监控磁盘使用情况并规划扩展。
- 同步缓慢:初始同步可能需要数天。如果可用,请使用快照或 warp 同步。
- 防火墙配置错误:确保端口 30333(P2P)和 9933(RPC)已打开并可访问。
- 软件过时:保持节点二进制文件更新,以避免共识问题。
- 单点故障:单个节点可能因硬件故障或网络问题而离线。对于生产环境,请考虑冗余。
何时使用托管的 Bittensor RPC 端点
运行自己的 subtensor 节点可以完全控制,但会带来运维成本。托管 RPC 服务(如 OnFinality 提供的服务)提供:
- 即时访问:无需同步链,立即开始查询。
- 高可用性:负载均衡的端点,具有自动故障转移。
- 可扩展性:无需配置额外硬件即可处理流量高峰。
- 免维护:更新和补丁由提供商处理。
如果您正在构建 dApp、钱包或分析工具,托管 RPC 端点通常是最实际的选择。对于高吞吐量或延迟敏感的应用,可能需要专用节点。
Bittensor RPC 端点示例
一旦您有权访问 Bittensor RPC 端点(自托管或托管),您可以使用标准 JSON-RPC 调用与之交互。以下是一个 curl 示例,用于获取最新区块号:
curl -H "Content-Type: application/json" \
-d '{"id":1, "jsonrpc":"2.0", "method":"chain_getBlock", "params":[]}' \
https://bittensor-finney.api.onfinality.io/public
将 URL 替换为您自己的端点。对于托管服务,您通常需要使用 API 密钥。
关键要点
- Bittensor 节点(subtensor)是与 Bittensor 网络交互所必需的。
- 运行自己的节点需要 4 核以上 CPU、16 GB 以上内存和 128 GB 以上 SSD,以及持续的维护。
- 托管 RPC 端点为大多数开发和生产用例提供了便捷的替代方案。
- 在决定自托管之前,请评估您的硬件、网络和运维能力。
- 对于生产应用,请考虑冗余和故障转移——通过多个自托管节点或托管服务。
常见问题
问:subtensor 节点和 Bittensor RPC 端点有什么区别? 答:subtensor 节点是完整的区块链节点软件。RPC 端点是暴露节点 API 的网络 URL。您可以运行自己的节点并暴露其 RPC,或使用第三方 RPC 服务。
问:我可以在云服务器上运行 Bittensor 节点吗? 答:可以。具有足够规格的云虚拟机(例如 AWS c5.xlarge 或同等配置)运行良好。确保您有足够的带宽和公共 IP。
问:同步 subtensor 节点需要多长时间? 答:初始同步可能需要 1–3 天,具体取决于网络速度和硬件。使用 warp 同步或快照可以将时间缩短到几小时。
问:我的应用程序需要归档节点吗? 答:如果您需要历史状态(例如过去的余额、旧事件),请运行归档节点。如果只需要当前状态,修剪节点就足够了。
问:我在哪里可以找到托管的 Bittensor RPC 提供商列表? 答:请查看 支持的网络页面 了解 Bittensor 和其他链。OnFinality 为 Bittensor Finney 提供公共和私有端点。
有关定价和专用节点选项的更多详细信息,请访问 RPC 定价页面。