Ethereum-Introducción a contratos inteligentes. Parte l
Esta pequeña introducción al lenguaje de programación solidity ha sido tomada y traducida por mi de la documentación oficial de Ethereum.
Lee más sobre Ethereum en https://ethereum.org y descarga Mist en: https://github.com/ethereum/mist/releases.
Comencemos con el ejemplo más básico, está bien si no entiendes todo al principio, más adelante vamos a entrar en cada aspecto del ejemplo con mayor profundidad.
pragma solidity ^0.4.11;
contract SimpleStorage {
uint storedData;
function set(uint x) {
storedData = x;
}
function get() constant returns (uint) {
return storedData;
}
}La primera línea indica simplemente que el código está escrito para Solidity versión 0.4.11 o cualquier cosa más nueva que no rompa la funcionalidad (hasta, pero no incluyendo, la versión 0.5.0). Esto es para asegurarse de que el contrato no se comporte repentinamente de manera diferente con una nueva versión del compilador.
La palabra clave pragma se llama así porque, en general, pragmas son instrucciones para el compilador sobre cómo tratar el código fuente.
Un contrato en el sentido de Solidity es una colección de código (sus funciones) y datos (su estado) que reside en una dirección específica en la cadena de bloques Ethereum. La línea uint storedData; Declara una variable de estado llamada storedData de tipo uint (entero sin signo de 256 bits). Se puede pensar en ella como una sola ranura en una base de datos que puede ser consultada y alterada por las funciones de llamada del código que gestiona la base de datos. En el caso de Ethereum, éste es siempre el contrato propietario. Y en este caso, las funciones set y get se pueden utilizar para modificar o recuperar el valor de la variable.
Para acceder a una variable de estado, no necesita el prefijo. Como es común en otros lenguajes de programación.
Este contrato no hace mucho todavía (debido a la infraestructura construida por Ethereum) aparte de permitir que cualquier persona almacene un solo número que sea accesible por cualquier persona en el mundo sin una manera (factible) de prevenir publicar este número. Por supuesto, cualquiera podría simplemente llamar a set de nuevo con un valor diferente y sobrescribir su número, pero el número todavía se almacenará en la historia de la cadena de bloque. Más adelante, veremos cómo puede imponer restricciones de acceso para que solo usted pueda alterar el número.
Si este post te fue útil de alguna forma puedes invitarme un café:
Ethereum donacioness: 0x53eaCf773b0cF360ABA080EB8FF4D7B79Da62c4F
Bitcoin: 35jPWkqe3dRhTJceKHpK4eFCsZ3GVwji4m
O sígueme en Twitter y escríbeme a cerca de algún tutorial que quisieras ver aquí.

