Puntos clave
- Web3.py conecta servicios Python con Ethereum y redes compatibles con EVM.
- Permite consultar datos, trabajar con contratos y preparar transacciones.
- La automatización necesita gestionar claves, nonces y recuperación ante errores.
¿Qué es Web3.py?
Web3.py es una librería Python para consultar Ethereum y otras redes que exponen interfaces EVM compatibles. Permite leer bloques, interactuar con contratos, procesar eventos y preparar transacciones. Encaja en servicios, scripts y análisis que ya utilizan el ecosistema Python.
Es un proyecto distinto de Web3.js y tiene su propio ciclo de versiones. Las instrucciones sobre proveedores, APIs asíncronas y requisitos de Python deben corresponder a la versión instalada. La retirada de Web3.js no implica que web3.py haya sido retirado.
Cómo funciona
El cliente utiliza un proveedor para acceder al nodo. Las variantes síncronas encajan en scripts sencillos y AsyncWeb3 permite organizar llamadas asíncronas. Los proveedores persistentes admiten suscripciones según su configuración; los nombres y métodos concretos deben comprobarse en la documentación de la versión utilizada.
Los contratos se cargan con dirección y ABI. Los importes se mantienen en unidades mínimas y se convierten de forma controlada al mostrarlos o exportarlos. La firma se gestiona mediante cuentas y componentes apropiados, separando claves y autorización del código que consulta o transforma datos.
Qué aporta Web3.py
Un proceso de conciliación puede recuperar eventos por intervalos, normalizar cantidades y contrastarlas con el registro interno. Cada fila conserva red, contrato, transacción e identificador de evento. Esto permite reconocer duplicados y reconstruir informes cuando cambia una regla de clasificación o se investiga una diferencia.
La concurrencia se limita según el RPC y el trabajo de transformación. Un servicio asíncrono no debe abrir peticiones sin límite. Los puntos de avance, reintentos controlados y recuperación tras reorganizaciones hacen que el proceso pueda continuar después de una interrupción sin perder ni duplicar movimientos.
Limitaciones y criterios de elección
Web3.py no sustituye a los SDK específicos de redes con interfaces distintas. Tampoco aporta por sí sola una base histórica indexada de todos los tokens de una cuenta: ciertas consultas requieren eventos, índices o servicios adicionales. Es importante separar lo que responde el nodo de lo que debe calcular la aplicación.
La selección depende de las librerías de datos y del entorno del equipo. Las versiones se fijan con sus requisitos de Python y se prueban antes de actualizar. El rendimiento se mide sobre consultas, decodificación y almacenamiento reales, evitando cifras universales de eventos por segundo sin una carga definida.
También conocido como
- web3.py
- Python web3





