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: