Les fonctions définissent l'interface exécutable d'un contrat Solidity. Ils incluent des paramètres et des valeurs de retour facultatives, et ils sont annotés avec : (1) la visibilité (qui peut appeler), (2) la mutabilité d'état (vue/pure/payable) et (3) les modificateurs facultatifs et le comportement de remplacement (en héritage). Ces annotations influencent à la fois le raisonnement de sécurité et l'encodage/décodage ABI pour les appels externes.
Visibilité : publique/privée/interne/externe