¿Qué es la función call de Solidity?
Escrito por Alchemy
El lenguaje de programación Solidity se utiliza principalmente para crear smart contracts en la blockchain de Ethereum. Este artículo cubrirá todos los detalles que necesitas saber sobre qué es la función call de Solidity.
¿Qué es la función call de Solidity?
La función call** en Solidity es una función de bajo nivel que los desarrolladores usan para interactuar con otros contratos.**
Al construir un smart contract en Solidity, el método call debe usarse cada vez que quieras interactuar con otro contrato desde tu propio contrato.
Los calls también se pueden usar para ejecutar otras funciones en el smart contract receptor, usando Ether proporcionado por quien llama para pagar la transacción. La función call también tiene la ventaja de devolver el estado de la transacción como un booleano, con el valor de retorno enviado como una variable.
¿Qué es calldata?
Calldata es un tipo de almacenamiento temporal que contiene los datos especificados en los argumentos de una función. La diferencia entre este y memory, otro tipo de almacenamiento temporal, es la inmutabilidad de calldata: lo que se almacena dentro de calldata no se puede cambiar.
¿Cómo funciona la función call de Solidity?
La función call de Solidity funciona tomando calldata, que puede ser cero en el caso de una transferencia nativa de ETH, y ejecutando ese calldata en el destinatario indicado, basándose en el opcode CALL de la EVM de bajo nivel.
Cuando se proporcionan los data (es decir, la función que se va a llamar en el smart contract receptor) y el gas, el método call puede usar estos dos elementos para ejecutar funciones dentro de smart contracts.
¿Cómo se usa el método call para enviar ether?
Como una de tus funciones de Solidity, puedes usar el siguiente código en tu IDE de Solidity preferido y reemplazar address payable _to con la dirección del destinatario.
A continuación se muestra el código que crea un contrato capaz de recibir Ether de calls.
¿Cuál es la diferencia entre call y delegatecall?
La diferencia entre call y delegatecall es que delegatecall ejecutará la función llamada como si su código formara parte por completo del smart contract que hace la llamada. En cambio, el método call llamará a la función tal cual es, como parte de otro smart contract. En la práctica, esto significa que la función llamada usará el storage, msg.sender y msg.value de quien hace la llamada.
¿Cuál es la diferencia entre call y transfer?
Los transfers tienen un límite de gas fijo y se cancelan en caso de falla. Los calls tienen un límite de gas personalizable usando someAddress.call.value(ethAmount).gas(gasAmount)() en lugar del call habitual, y devolverán false si la transacción falla.
El método transfer ya no se recomienda usar. Sin embargo, históricamente se prefería transfer porque usa un límite incorporado de gas, lo cual ayudaba a prevenir exploits de reentrancy. El límite de gas inmutable del método transfer también lo hacía una mejor opción para cálculos en los que se quería establecer un límite superior de 2300 gas.
Cómo aprender más sobre el método call de Solidity
Para seguir aprendiendo sobre los calls de Solidity, asegura tu lugar en el curso intensivo gratuito y en línea de desarrollo en Solidity de Alchemy University. Este bootcamp asíncrono de Ethereum, de 7 semanas, fue rediseñado después de la adquisición por parte de Alchemy de ChainShot, la empresa líder en educación sobre Ethereum.
Si los desarrolladores son nuevos en el desarrollo en general, el curso intensivo de JavaScript de 3 semanas de Alchemy University es un excelente prerrequisito antes de comenzar un bootcamp de Ethereum.
Resúmenes relacionados
Solidity3 de diciembre de 2025
Los 6 mejores IDEs de Solidity para desarrolladores (2026)
Explora los mejores IDEs para el desarrollo en Solidity.
Solidity19 de noviembre de 2025
Optimización de gas en Solidity: 12 técnicas para hacer tus smart contracts más económicos y eficientes
¿Quieres escribir mejor código y reducir tus fees de gas?
Solidity13 de noviembre de 2025
12 mejores prácticas de seguridad para smart contracts en Solidity
Protege tus smart contracts con estos consejos y herramientas de seguridad de expertos.

Construye magia blockchain
Alchemy combina los productos y herramientas de desarrollo Web3 más potentes con recursos, comunidad y un soporte legendario.