5. Visibilidad de Funciones (external, public, internal & private)

Las funciones y/o variables de un contrato pueden estar sujetas a cuatro parámetros de visibilidad.

# 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.

Last Updated: 9/10/2022, 4:27:54