Puntos clave
- Web3.js forma parte de numerosas integraciones Ethereum heredadas.
- Una revisión debe inventariar llamadas, eventos y dependencias antes de migrar.
- El objetivo de una migración es conservar el comportamiento y mejorar la mantenibilidad.
¿Qué es Web3.js?
Web3.js es una librería JavaScript para consultar Ethereum y otras redes EVM que sigue presente en aplicaciones heredadas. Su API incluye acceso a RPC, contratos, cuentas y utilidades. Las diferencias entre generaciones del paquete importan al mantener código: una integración v1 no se comporta necesariamente como una v4.
ChainSafe anunció su retirada en 2025 y publicó orientaciones para migrar a Ethers o Viem. El trabajo actual consiste en identificar dependencias, conservar el comportamiento necesario y planificar la transición a una librería mantenida con pruebas del producto.
Cómo funciona
El cliente utiliza un proveedor HTTP, WebSocket o compatible con EIP-1193 para acceder a la red. Los contratos se describen mediante dirección y ABI. Las versiones difieren en formatos numéricos, tratamiento de errores y APIs; no conviene copiar ejemplos de otra versión suponiendo compatibilidad automática.
Las suscripciones permiten recibir eventos, pero necesitan reconexión y recuperación histórica cuando se interrumpe el servicio. Web3.js es un proyecto JavaScript distinto de web3.py: los nombres de proveedores y ejemplos de AsyncWeb3 pertenecen a Python y no son instrucciones válidas para esta librería.
Qué aporta Web3.js
Una migración comienza por inventariar lecturas, firmas, envío de transacciones, eventos y utilidades. Para cada operación se conserva una prueba de su comportamiento, incluyendo formatos de respuesta y errores esperados. Los componentes que consumen esos datos no deberían cambiar por accidente al reemplazar el cliente.
Puede introducirse una capa de integración acotada y migrar funciones por etapas. Por ejemplo, se comparan primero lecturas de saldo y decodificación de logs antes de cambiar los flujos de firma. Las transacciones con efectos reales requieren especial atención a nonces, reintentos y seguimiento de recibos.
Limitaciones y criterios de elección
Mantener temporalmente Web3.js exige conocer su estado de soporte y evitar ampliar la dependencia sin una justificación. La prioridad de migración depende de exposición, versiones y funciones utilizadas; no se puede estimar su duración únicamente por el nombre de la librería.
La transición no implica necesariamente cambiar contratos desplegados. El objetivo es conservar sus interfaces y mejorar la mantenibilidad de la aplicación. Se verifica equivalencia en conversiones de unidades, manejo de errores, cancelaciones y recuperación de eventos, y se retiran dependencias antiguas cuando dejan de utilizarse.
También conocido como
- web3
- Web3.js v4





