Las funciones definen la interfaz ejecutable de un contrato de Solidity. Incluyen parámetros y valores de retorno opcionales, y están anotados con: (1) visibilidad (quién puede llamar), (2) mutabilidad de estado (ver/puro/pagable) y (3) modificadores opcionales y comportamiento de anulación (en herencia). Estas anotaciones influyen tanto en el razonamiento de seguridad como en la codificación/decodificación ABI para llamadas externas.
Visibilidad: pública/privada/interna/externa