¿Qué son las funciones de Solidity?
Escrito por Alchemy
Existen múltiples tipos de funciones de Solidity, entre ellas las funciones view, funciones pure, funciones especiales y funciones fallback. Las funciones también pueden modificarse con un atributo de visibilidad de función: public, external, internal y private. Este artículo presentará los tipos de funciones de Solidity, su sintaxis, cómo leer funciones y la visibilidad.
¿Qué son las funciones de Solidity?
Las funciones de Solidity son módulos de código autocontenidos que cumplen una tarea específica. Al igual que otros lenguajes de programación de web3, Solidity permite al desarrollador escribir código modular usando funciones para eliminar la redundancia de reescribir el mismo fragmento de código. En su lugar, los desarrolladores pueden llamar a una función en el programa cuando sea necesario.
Cómo escribir y leer una función de Solidity
Para escribir una función de Solidity, los desarrolladores necesitan estructurarla según su sintaxis correspondiente, asegurándose de escribir sus componentes básicos para que la función pueda ejecutarse correctamente.
Sintaxis de una función de Solidity
Usa la siguiente sintaxis para crear tu función de Solidity, como se ve en el ejemplo a continuación:
- Define la función con la palabra clave function
- Crea un nombre para la función, que sea único y no coincida con ninguna de las palabras clave reservadas
- Lista los parámetros incluyendo el nombre y el tipo de dato de cada parámetro, o no incluyas parámetros adicionales
- Crea un bloque de instrucciones rodeado por llaves
Nota: los eventos de Solidity se declaran de forma similar a las funciones. Los eventos y las funciones son ambos fundamentales para el trabajo de dApps de alto nivel.
La siguiente imagen muestra los tres componentes principales de una función de Solidity:
- Nombre de la función
- Tipo de función
- Tipos de retorno

¿Cuáles son los diferentes tipos de funciones de Solidity?
Existen varios tipos de funciones de Solidity que cubriremos en esta sección, entre ellas las funciones view, funciones pure, funciones especiales y funciones fallback.
1. Funciones view
En Solidity, las funciones view son de solo lectura y no pueden alterar las variables de estado definidas en un contrato inteligente. La sintaxis de una función view es la siguiente:
2. Funciones pure
Una función pure declara que ninguna variable de estado será modificada ni leída. Por lo general, las funciones pure cumplen alguna utilidad o cálculo común. La sintaxis de una función pure es la siguiente:
3. Funciones especiales
Solidity tiene un par de funciones especiales que puedes usar al desarrollar un contrato inteligente. Las funciones getter y receive son funciones payable importantes para los contratos inteligentes en Solidity.
Función getter
Las variables de estado definidas como public tienen una función getter que el compilador crea automáticamente. La función tiene el mismo nombre que la variable y tiene visibilidad external.
Función receive ether
Un contrato puede tener como máximo una función receive. Una función receive no puede tener argumentos, no puede retornar valores, y debe tener visibilidad external y mutabilidad de estado payable.
Una función receive se ejecuta al llamar al contrato enviando Ether sin especificar ninguna función. Esta función se declara de la siguiente manera:
4. Función fallback
En Solidity, una función fallback es una función external sin nombre, argumentos ni valores de retorno. Las funciones fallback se ejecutan cuando un identificador de función no coincide con ninguna de las funciones disponibles en un contrato inteligente, o si no se proporcionaron datos junto con la llamada a la función.
¿Qué es la sobrecarga de funciones?
La sobrecarga de funciones ocurre cuando tienes múltiples definiciones para el mismo nombre de función dentro del mismo alcance. La definición de la función debe diferir entre sí por los tipos y/o la cantidad de argumentos en la lista de argumentos. No puedes sobrecargar declaraciones de funciones que difieran únicamente por el tipo de retorno.
¿Cómo maneja Vyper la sobrecarga de funciones de forma diferente a Solidity?
A diferencia de Solidity, Vyper, un lenguaje pythonico basado en Solidity, no permite la sobrecarga de funciones. Intentar hacer sobrecarga de funciones en Vyper resultará en un error de "Duplicate function or event name".
¿Qué significa la visibilidad de una función?
Especificar la visibilidad de una función nos permite controlar qué entidades pueden llamar a las funciones dentro del contrato inteligente. Existen tres tipos de llamadores:
- El contrato principal
- Un contrato derivado (es decir, que hereda) del contrato principal
- Un tercero
La visibilidad de función te ayuda a controlar cuál de los llamadores mencionados puede ejecutar la función. Existen cuatro tipos de visibilidad de función:
- Public
- External
- Internal
- Private
La accesibilidad de las funciones disminuye de External a Private: las funciones public son las más accesibles y las funciones private son las menos accesibles.
External vs. public
External y public son las dos visibilidades de función que pueden llamarse desde fuera del contrato en el que están definidas. External significa que la función solo puede ser llamada por otros contratos o por cuentas de propiedad externa (EOA). Public significa que la función puede llamarse externamente o desde dentro del propio contrato.
Internal vs. private
A diferencia de external y public, tanto internal como private impiden que terceros externos accedan a la función. Para una función private, solo pueden llamarla funciones dentro del mismo contrato. Para una función internal, pueden llamarla funciones dentro del mismo contrato o funciones dentro de contratos derivados.
Sigue aprendiendo sobre las funciones de Solidity
Este artículo te ha presentado las funciones en Solidity. Para seguir aprendiendo, inscríbete en el Bootcamp de Desarrollador de Ethereum de Alchemy University, y obtén acceso a un curso intensivo de Solidity gratuito y asíncrono de 7 semanas. 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.