4.3 – Ethereum, Smart Contracts en Ethereum con Protección Modifier PRO!!!. Solidity
Ethereum y Solidity
En la entrada anterior añadíamos algo de seguridad pero de una forma muy rudimentaria. En esta ocasión lo vamos hacer de una forma mucho mas profesional usando modifiers.
// Versión
pragma solidity ^0.4.0;
// Definición de contrato
contract HolaMundoProtectProfesional {
string saludo = "Hola mundo";
address propietario;
function HolaMundoProtectProfesional() {
propietario = msg.sender;
}
modifier propietarioContrato {
if (propietario != msg.sender) {
throw;
} else {
_;
}
}
function getSaludo() constant returns(string) {
return saludo;
}
function setSaludo(string nuevoSaludo) propietarioContrato returns(string){
saludo = nuevoSaludo;
return "Se ha cambiado el contenido correctamente";
}
}
A programar!!!
Como podemos observar el código se ha reducido bastante, gracias al uso de modifiers. En la linea 9 se esta definiendo el modifier con la validación, lanzando un error si no son diferentes o continuar ejecutando el código.
En la linea 25, se ha modificado la definición de la función añadiendo el modifier y quitando toda la comprobación dentro de la función, ya que se encarga el modifier.
Para ver como funciona, aquí tienes un pequeño vídeo:
