Puntos clave
- Node.js ejecuta JavaScript fuera del navegador para servicios y automatización.
- Su modelo asíncrono encaja con consultas RPC, eventos y tareas de integración.
- Las tareas intensivas de cálculo y los reintentos requieren una estrategia propia.
¿Qué es Node.js?
Node.js es un runtime que ejecuta JavaScript fuera del navegador. En proyectos blockchain puede alojar APIs, preparar transacciones, procesar eventos y conectar servicios internos. También sirve como entorno para herramientas de desarrollo que utilizan el ecosistema JavaScript y TypeScript.
No todos los componentes Web3 dependen de Node.js. Foundry está escrito en Rust y Graph Node también utiliza Rust, aunque existan herramientas cliente o scripts en JavaScript. Identificar el runtime de cada componente ayuda a planificar recursos y mantenimiento sin confundir herramientas de desarrollo con servicios de producción.
Cómo funciona
El event loop coordina trabajo asíncrono y permite atender esperas de red sin bloquear cada petición. Eso no significa que cualquier tarea sea paralela: cálculos intensivos o funciones síncronas largas pueden impedir que el hilo principal atienda otras operaciones. Worker threads o procesos separados permiten organizar determinados trabajos de CPU.
Un servicio que consulta RPC necesita límites de concurrencia, tiempos de espera y tratamiento de errores. Los reintentos se aplican según la operación: repetir una lectura y volver a enviar un pago no tienen los mismos efectos. La configuración debe reflejar esa diferencia.
Qué aporta Node.js
Un indexador puede recuperar rangos de bloques, transformar eventos y guardar un punto de avance. Su diseño contempla duplicados, reorganizaciones y recuperación después de reiniciar. Las suscripciones WebSocket ayudan a detectar actividad, mientras la lectura histórica permite cerrar huecos cuando se pierde la conexión.
Para tareas programadas, una cola duradera permite separar recepción y ejecución. Los registros operativos identifican la tarea y su estado sin exponer claves ni datos personales. Medir retraso respecto a la cadena, errores y tamaño de cola ayuda a decidir cuándo ampliar capacidad o revisar el diseño.
Limitaciones y criterios de elección
La versión de Node se elige según el soporte del runtime y la compatibilidad de las dependencias. Conviene fijarla en desarrollo, integración continua y despliegue, y probar las actualizaciones. La ejecución de TypeScript que ofrezca un runtime no sustituye necesariamente la comprobación de tipos del proyecto.
Si el servicio firma transacciones, se separan construcción y autorización y se limita el alcance de las credenciales. Una clave de una cuenta convencional no se vuelve revocable por almacenarla en un gestor de secretos: la respuesta a un compromiso requiere un diseño explícito de cuentas y permisos. El lenguaje no resuelve esa arquitectura.
También conocido como
- Node
- Node.js runtime





