Logo
Nuevos usuarios de RPC: 35% de descuento el primer mesVer oferta
OnFinality Learn
Guías de redes y protocolos12 min de lectura

Acceso a RPC y nodos de Bittensor: ejecutar un nodo y conectarse a Finney

Aprende a ejecutar un nodo Substrate de Bittensor (TAO/Finney), elegir entre modos lite y archive, conectarte mediante RPC WSS y verificar la salud del nodo con llamadas JSON-RPC. Incluye una guía de decisión entre endpoints RPC autogestionados y alojados.

TL;DR

Esta guía explica cómo ejecutar un nodo Substrate de Bittensor (TAO/Finney), cubriendo los requisitos de hardware, las opciones de nodo lite vs archive, la configuración con Docker, la conexión a la red Finney mediante RPC WSS y la verificación de la salud del nodo con llamadas JSON-RPC. También proporciona un marco de decisión para cuándo ejecutar tu propio nodo frente a usar un endpoint RPC alojado.

Respuesta directa: cómo conectarse al RPC de Bittensor Finney

Para conectarte a la red Bittensor Finney, puedes ejecutar tu propio nodo Substrate o usar un endpoint RPC alojado. El endpoint público WSS oficial es wss://entrypoint-finney.opentensor.ai:443, pero tiene límites de tasa y no se recomienda para producción. Para un acceso fiable, considera usar un servicio gestionado como la página de red Bittensor Finney de OnFinality o ejecutar tu propio nodo. Esta guía te explica ambas opciones, con un enfoque en ejecutar un nodo mediante Docker y verificar su salud con llamadas JSON-RPC estándar.

Si eres minero o validador, debes ejecutar tu propio nodo para participar en el consenso y enviar pesos. Para consultas simples como comprobar saldos o leer el estado de la cadena, un endpoint RPC alojado es suficiente. La elección depende de tu caso de uso, como se detalla en la guía de decisión más adelante en este artículo.

Entendiendo la arquitectura de Bittensor: Substrate y Finney

Bittensor es una red descentralizada de aprendizaje automático construida sobre Substrate, un marco de trabajo para blockchains que impulsa muchas parachains de Polkadot y Kusama. La red principal se llama Finney, en honor al pionero de la IA. La red utiliza un mecanismo de consenso personalizado llamado Yuma Consensus, que recompensa a mineros y validadores según la calidad de sus contribuciones de aprendizaje automático.

Los nodos de Bittensor se comunican mediante JSON-RPC sobre WebSocket (WSS) o HTTP. La interfaz RPC expone métodos estándar de Substrate como system_health, system_syncState y chain_getBlock, así como pallets específicos de Bittensor para staking, registro y gestión de subredes. Para una lista completa de métodos disponibles, consulta la documentación oficial de Bittensor.

Cuando ejecutas un nodo, este se sincroniza con la red Finney descargando y verificando bloques. El nodo puede operar en dos modos: lite (también llamado full) y archive. Un nodo lite almacena solo el estado más reciente y los bloques recientes, mientras que un nodo archive almacena todo el historial de cambios de estado, lo que permite consultas históricas. La elección afecta al espacio en disco y al tiempo de sincronización, como se detalla en la siguiente sección.

Nodo lite vs archive: ¿cuál necesitas?

La diferencia principal entre nodos lite y archive es la cantidad de datos históricos almacenados. Un nodo lite poda el estado antiguo y conserva solo el estado más reciente, lo que es suficiente para la mayoría de las operaciones como enviar transacciones y leer saldos actuales. Un nodo archive conserva todo el estado histórico, lo que permite consultas como '¿cuál era el saldo de esta cuenta en el bloque 1,000,000?'. Esto es esencial para análisis, indexadores y aplicaciones que necesitan datos históricos.

Para Bittensor, la mayoría de los mineros y validadores ejecutan nodos lite porque solo necesitan el estado actual para participar en el consenso. Sin embargo, si estás construyendo una dApp que requiere datos históricos, deberías ejecutar un nodo archive o usar un endpoint archive alojado. OnFinality ofrece ambas opciones; consulta nuestra guía sobre diferencias entre nodo archive y full para una comparación más profunda.

Los requisitos de espacio en disco varían: un nodo lite para Finney actualmente requiere alrededor de 100-200 GB, mientras que un nodo archive puede superar 1 TB. Estas cifras son aproximadas y crecerán con el tiempo. Siempre consulta los requisitos más recientes en la documentación oficial de Bittensor.

Requisitos de hardware para ejecutar un nodo de Bittensor

Ejecutar un nodo de Bittensor requiere muchos recursos. La documentación oficial recomienda una máquina con al menos 8 núcleos de CPU, 16 GB de RAM y un SSD con 500 GB de espacio libre para un nodo lite. Para un nodo archive, necesitarás más RAM (32 GB o más) y significativamente más espacio en disco (1 TB+). Una conexión a internet rápida con baja latencia también es crucial para sincronizar y participar en el consenso.

Estas son recomendaciones mínimas; los nodos de producción deben tener alimentación y conexiones de red redundantes. Si estás ejecutando un validador, es posible que necesites recursos adicionales para manejar la carga computacional de validar modelos de aprendizaje automático. Siempre consulta la documentación oficial de Bittensor para obtener la guía de hardware más actualizada.

Ejecutar un nodo de Bittensor mediante Docker

La forma más fácil de ejecutar un nodo de Bittensor es usando Docker, ya que encapsula todas las dependencias. La imagen oficial de Docker es opentensorfdn/bittensor en Docker Hub. A continuación se presenta una guía paso a paso para ejecutar un nodo lite.

Primero, asegúrate de que Docker esté instalado en tu máquina. Luego, extrae la imagen más reciente y ejecuta un contenedor con los puertos apropiados expuestos. El puerto RPC predeterminado es 9944 para WebSocket y 9933 para HTTP. También puedes especificar la cadena (Finney) y el nombre del nodo.

docker pull opentensorfdn/bittensor:latest

docker run -d --name bittensor-node \
  -p 9944:9944 \
  -p 9933:9933 \
  -v /path/to/data:/root/.local/share/node-subtensor \
  opentensorfdn/bittensor:latest \
  --chain finney \
  --name my-bittensor-node \
  --rpc-external \
  --ws-external \
  --rpc-cors all

Conectarse al RPC de la red Finney (WSS)

Una vez que tu nodo esté en ejecución, expondrá un endpoint RPC WebSocket en ws://localhost:9944. Puedes conectarte a este endpoint usando cualquier cliente WebSocket, como wscat o una biblioteca de programación como polkadot-js. Para acceso externo, necesitarías configurar un proxy inverso y asegurar la conexión con TLS.

Si prefieres no ejecutar tu propio nodo, puedes usar un endpoint RPC público. El endpoint público oficial es wss://entrypoint-finney.opentensor.ai:443, pero tiene límites de tasa. Para uso en producción, considera un servicio alojado como el Asistente de RPC de Bittensor de OnFinality, que proporciona endpoints dedicados con mayor rendimiento y fiabilidad.

Verificar la salud del nodo con llamadas JSON-RPC

Después de iniciar tu nodo, debes verificar que se está sincronizando y que está sano. Los métodos RPC estándar de Substrate system_health y system_syncState proporcionan esta información. system_health devuelve un booleano que indica si el nodo está sano, y system_syncState muestra la altura actual del bloque y la altura objetivo.

Puedes llamar a estos métodos usando curl con un payload JSON-RPC. A continuación se muestra un ejemplo usando un endpoint WSS público. Ten en cuenta que curl funciona con endpoints HTTP; para WSS, necesitas un cliente WebSocket. Sin embargo, muchos endpoints públicos también exponen HTTP en el puerto 9933. Para la demostración, usamos el endpoint público de OnFinality (reemplázalo con el endpoint HTTP de tu propio nodo si se ejecuta localmente).

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

# Expected output:
# {"jsonrpc":"2.0","result":{"peers":12,"isSyncing":false,"shouldHavePeers":true},"id":1}

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

# Expected output:
# {"jsonrpc":"2.0","result":{"startingBlock":0,"currentBlock":1234567,"highestBlock":1234567},"id":2}

Fallos comunes y cómo solucionarlos

Al ejecutar un nodo de Bittensor, puedes encontrarte con varios problemas comunes. El primero es un fallo en la sincronización, a menudo debido a espacio en disco insuficiente o problemas de conectividad de red. Asegúrate de tener suficiente espacio libre y de que tu cortafuegos permita conexiones salientes en el puerto 30333 (P2P) y entrantes en 9944/9933 si deseas acceso RPC externo.

Otro problema es que el nodo se bloquee debido al agotamiento de la memoria. Esto puede ocurrir si tu RAM está por debajo de los 16 GB recomendados. Considera aumentar el espacio de intercambio (swap) o actualizar tu hardware. Si ves 'RPC error: -32000' al hacer llamadas, generalmente significa que el nodo aún se está sincronizando o que el método RPC no es compatible. Espera a que la sincronización termine y verifica el nombre del método.

Para endpoints alojados, la limitación de tasa es un problema común. Si alcanzas los límites de tasa, considera actualizar a un endpoint dedicado a través de la página de precios de OnFinality.

Compensaciones: ejecutar tu propio nodo vs usar un RPC alojado

Ejecutar tu propio nodo te da control total, privacidad y sin límites de tasa, pero requiere hardware significativo, mantenimiento y tiempo de sincronización. Es esencial para mineros y validadores que deben enviar transacciones y participar en el consenso. Para desarrolladores de dApps y usuarios que solo necesitan leer datos de la cadena, un endpoint RPC alojado es más rentable y fiable.

Servicios alojados como el servicio de API de OnFinality ofrecen alta disponibilidad, actualizaciones automáticas y endpoints dedicados con SLA. También proporcionan nodos archive para consultas históricas. La compensación es una posible dependencia de un tercero, pero para la mayoría de los casos de uso, los beneficios superan los costos.

Usa la siguiente guía de decisión: si eres minero o validador, ejecuta tu propio nodo. Si estás construyendo una aplicación que requiere alto rendimiento o datos históricos, considera un endpoint archive alojado. Si solo estás experimentando, usa un endpoint público o un nodo lite.

Próximos pasos y recursos adicionales

Ahora que entiendes cómo ejecutar y conectarte a un nodo de Bittensor, puedes explorar temas más avanzados como registrarte como minero o validador, hacer staking de TAO e interactuar con subredes. La documentación oficial de Bittensor es la fuente principal para estos temas.

Para soluciones RPC gestionadas, visita la página de red Bittensor Finney de OnFinality para obtener un endpoint en minutos. También puedes usar el Asistente de RPC para generar fragmentos de código en tu lenguaje preferido. Si necesitas entender las diferencias entre tipos de nodos, lee nuestra guía sobre diferencias entre nodo archive y full. Para detalles de precios, consulta precios de OnFinality.

Nunca te preocupes por la infraestructura nuevamente

OnFinality elimina la carga pesada de DevOps para que puedas construir de forma más inteligente y rápida.

Comenzar