5. Visibilidad de Funciones (external, public, internal & private)
WEB3DEV Team
# 5. Visibilidad de Funciones (external, public, internal & private)
# External
Esta función sólo será accesible desde fuera del contrato. Él mismo no podrá llamarla.
string miNombre = "Juno";
function cualEsMiNombre() external returns(string) {
return miNombre;
}
# Internal
Las funciones con este parámetro son accesibles solo en el contrato que las contiene y los que son "hijos" del mismo, es decir, contratos que heredan sus funciones y variables. Para una mejor comprensión de la herencia, consulte la sección 24.-Herencia.md
string miNombre = "Juno";
function cualEsMiNombre() internal returns(string) {
return miNombre;
}
# Public
Esta función será accesible de todas las formas posibles. En el propio contrato, de forma externa a través de un programa o API, en contratos heredados...
string miNombre = "Juno";
function cualEsMiNombre() public returns(string) {
return miNombre;
}
# Private
Este es el modo más restrictivo ya que permite el acceso únicamente dentro del propio contrato.
function cualEsMiNombre() private returns(string) {
return miNombre;
}
Nota importante: Las Blockchains son públicas, por lo que se puede acceder a todos los datos en ellas mediante el uso de Bytecodes.