Saltar al contenido

Web3.py

Web3.py es una librería Python para consultas, contratos y transacciones EVM. Ofrece clientes síncronos y asíncronos; las integraciones requieren control de versiones, unidades, concurrencia y recuperación de eventos. Los procesos pueden consultar nodos y decodificar contratos mediante ABI, separando lecturas, preparación de operaciones y autorización de firmas.

Escrito por Isaac GonzálezActualizado el 11 de octubre de 2026

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
Aplicación en Metlabs

Cómo abordamos un proyecto con Web3.py

Capacidades de desarrollo y casos de uso para evaluar cómo encaja Web3.py en tu producto.

Qué construimos con Web3.py en Metlabs

  • Scripts de automatización

    Scripts con configuración versionada, registros de operaciones y comprobaciones antes de repetir acciones.

  • Pipelines de datos on-chain

    Extracción y transformación de datos blockchain hacia Python (pandas, notebooks, BI).

  • Automatización con AsyncWeb3

    Servicios con clientes asíncronos, límites de concurrencia y recuperación histórica de eventos.

  • Caso de uso

    Cálculo de KPIs de protocolo

    Script Python que extrae eventos de contratos, calcula métricas y alimenta un dashboard.

  • Caso de uso

    Reconciliación y alertas on-chain

    Servicio Python que concilia movimientos on-chain con registros internos y dispara alertas cuando detecta discrepancias, base de la operativa en producción.

Contenido relacionado

Profundiza en Web3.py

Otras páginas de Metlabs que amplían esta ficha.

¿Desarrollas con Web3.py?

Analizamos tu caso, elegimos el stack adecuado y te entregamos una solución lista para producción.

Cuéntanos tu proyecto

Hablan de nosotros

CointelegraphInvesting.comEl EspañolEmprendedoresEl ObservadorCriptoNoticias