Comenzando con TheRPC
Referencia de API
API de Ethereum
Core API
Guías

eth_call

El método eth_call ejecuta una nueva llamada de mensaje inmediatamente sin crear una transacción en la blockchain. Este método es perfecto para leer datos de contratos inteligentes sin gastar gas ni modificar el estado de la blockchain, lo que lo convierte en uno de los métodos más utilizados para el desarrollo de DApps.

Casos de Uso

  • Leer saldos de tokens de contratos ERC20
  • Consultar variables de estado y mapeos de contratos
  • Verificar la validez de transacciones antes de enviarlas
  • Depurar funciones de contratos inteligentes
  • Probar el comportamiento del contrato con diferentes entradas
  • Simular resultados de transacciones complejas
  • Obtener datos de precios de contratos DEX
  • Verificar derechos de acceso antes de intentar cambios de estado

Detalles del Método

Este método permite la interacción con contratos inteligentes desplegados en modo de solo lectura con anulaciones de estado opcionales. La función de anulación de estado es particularmente útil para probar escenarios "qué pasaría si".

Parámetros:

El objeto de llamada de transacción que contiene los siguientes campos:

La dirección desde la que se envía la transacción

La dirección a la que se dirige la transacción

El entero de gas proporcionado para la ejecución de la transacción

El entero de gasPrice utilizado para cada gas pagado codificado como hexadecimal

El entero del valor enviado con esta transacción codificado como hexadecimal

El hash de la firma del método y los parámetros codificados. Para más información, consulte la descripción del ABI del Contrato en la documentación de Solidity

El número de bloque en formato hexadecimal o una de las etiquetas de cadena: latest, earliest, pending, safe o finalized (las etiquetas safe y finalized solo son compatibles con Ethereum, Gnosis, Arbitrum, Arbitrum Nova y Avalanche C-chain)

La opción State Override Set le permite cambiar el estado de un contrato antes de ejecutar la llamada

El saldo falso para establecer en la cuenta antes de ejecutar la llamada

El nonce falso para establecer en la cuenta antes de ejecutar la llamada

El bytecode EVM falso para inyectar en la cuenta antes de ejecutar la llamada

El mapeo falso de clave-valor para anular todos los slots en el almacenamiento de la cuenta antes de ejecutar la llamada

El mapeo falso de clave-valor para anular slots individuales en el almacenamiento de la cuenta antes de ejecutar la llamada

Devuelve:

El valor de retorno del método del contrato ejecutado

Ejemplo de Respuesta

{
	"jsonrpc": "2.0",
	"id": 1,
	"result": "0x00000000000000000000000000000000000000000000015af1d78b58c4000000"
}

Llamadas Comunes a Funciones ERC20

Uno de los usos más comunes de eth_call es verificar saldos de tokens ERC20. El campo data normalmente contiene la firma de la función seguida por los parámetros:

  • balanceOf(address): 0x70a08231 + dirección rellenada
  • decimals(): 0x313ce567
  • symbol(): 0x95d89b41
  • totalSupply(): 0x18160ddd

La respuesta necesitará ser decodificada según el tipo de retorno esperado.

Ver también

¡Ayúdanos a Mejorar!
Comparte esta página y ayúdanos a crear un producto aún mejor para ti.