Hola comunidad en español de Steemit!
En esta publicación haré un tutorial de como ustedes pueden subir sus propios smart-contracts a la red Ethereum.
Simplemente probaremos los procesos para mostar un "Hola Ethereum!" en la blockchain.
La idea de este tutorial es que cualquier persona que siga correctamente los pasos pueda subir un contrato a una blockchain, de modo que no es necesario saber programar.
Entonces vamos con lo bueno:
Ethereum no es una criptomoneda, Ethereum es un ecosistema computacional, un computador mundial, lento pero seguro dentro de su propio código, de todas formas una tecnología increible.
Ether es la criptomoneda principal de la red Ethereum, con ella le pagamos a los computadores distribuidos en la red por el trabajo de procesar nuestro código, de modo que Ether es una moneda muy asociada a un valor real y medible que es la energía utilizada.
Cada calculo computacional realizado por la Maquina Virtual de Ethereum representa una unidad de Gas que tiene que ser pagada por un valor equivalente de Ether para procesar nuestras transferencias e instrucciones.
Entonces, nos encontramos con el problema de que para realizar pruebas en la blockchain con nuestro codigo necesitaremos una buena cantidad de Ether, no hay problema, existe una solucion de un Click para solucionar esto y se llama Ganache.
http://truffleframework.com/ganache/ Sitio Web Official de Ganache, Blockchain en un Click.
Debemos descargarlo y abrirlo, nos pedirá un permiso especial para proceder el cual debemos aceptar ya que el programa necesita hacer ciertas configuraciones especiales en nuestro sistema.
Una vez realizado esto abrimos Ganache y PUM! Tenemos una Blockchain local montada en nuestro computador.
Todos unos Satoshi Nakamoto ¿No?
Bueno, ahora que tenemos la blockchain es necesario que usemos un cliente para interactuar, MyEtherWallet es otra solución que está disponible, de código abierto y gratis. MyEtherWallet es solo una interfaz, es decir puede funcionar perfectamente sin conexión a internet en nuestro navegador.
Por lo que tenemos que descargarnos el ciente de codigo abierto desde GitHub, como vamos a usar Ethers de prueba en nuestro servidor local "HTTP" es necesario usar el cliente local:
https://github.com/MyEtherWallet/mew-wallet
Una vez acá apretamos "Clone or Download"
Luego "Download Zip"
Descomprimimos el Archivo descargado
Y abrimos el archivo Index
Esta vez vamos a poner nuestra propia red local y esto es muy sencillo, debemos seguir la siguiente secuencia:
Ahora debemos introducir la IP y el puerto en el cual nuestra blockchain está alojada, por defecto será en Ganache,
IP: HTTP://127.0.0.1 , Puerto: 7545 , para el nombre podemos usar lo que queramos (:
Apretamos "Save and use Custom Node" y deberíamos obtener un mensaje como el siguiente:
Si todo salió bien, finalmente tendremos una conexión entre nuestra Blockchain local y la interfaz, de modo que finalmente podremos interactuar con ella, de forma que podremos realizar transferencias y crear contratos mediante MyEtherWallet.
Dejemos esta parafernalia de lado y vamos al código de nuestro hermoso "Hola Ethereum!"
Para hacer esto necesitaremos un Entorno de desarrollo que nos permita de forma facil traducir el lenguje de programación Solidity a bytecode que es lo que lee la red Ethereum. La solución mas recomendada es el compilador online Remix https://remix.ethereum.org
Como este tutorial solo trata de como hacemos un deploy en Ethereum usaremos este simple codigo para generar un "Hola Ethereum!"
pragma solidity ^0.4.0;
contract helloWorld {
string test = "Hola Ethereum!";
function imprimePrueba() constant returns(string)
{
return test;
}
}
Copiamos y pegamos!
Si no está la casilla "Auto-compile" marcada apretamos "Start to compile"
Una vez realizado esto el compilador ya habrá creado el codigo de maquina para que lo mandemos a la red, solo debemos consultarlo, para hacer esto debemos apretar en "Details".
Luego debemos bajar e ir a la casilla de WEB3DEPLOY y copiar la variable "data"
Volvemos a MyEtherWallet y vamos a "Contracts"
Luego a "Deploy Contract"
Pegamos la variable data que hemos copiado desde WEB3DEPLOY en Remix, es importante que de " data:'0x60806040..' solo llevemos el contenido internet de esta es decir el hash 0x60806040...
Luego apretamos en "Sign Transaction"
Para firmar el contrato necesitamos una cuenta que page la cantidad de Ethers que necesita el contrato, para esto usaremos las que nos da Ganache, primero apretamos Private Key
Vamos a Ganache, apretamos en la llave de la dirección con la que queremos crear el contrato
Copiamos la Private Key
La pegamos en MEW y apretamos Unlock
Apretamos Deploy Contract y nos preguntara por una segunda confirmacion que debe ser aceptada también.
Si todo salió bien usted obtendrá un mensaje como este
Ahora para interactuar con el contrato y ver nuestro mensaje debemos interactuar con el contrato
Para ver esto debemos volver a Ganache, ir a "Transactions" en la barra superior de arriba e ir a la transacción que creo el contrato, esta se debería reconocer facilmente al notar que dice "Contract Creation", entonces copiamos el "Created Contract Address". Esto es al dirección de contrato por la cual todos los miembros e la red se tendrán que referir para consultar.
Volvemos a Contracts y esta vez nos quedamos en Interact with Contract, ponemos nuestra dirección de contrato donde dice "Contract Address"
Luego Volvemos a "Details" de Remix y copiamos por completo la sección "ABI".
Pegamos todo, y apretamos en Access.
Apretamos en select a function.
Apretamos nuestra funcion creada y finalmente podremos ver este grandioso mensaje!
Para hacer esto en una red real, con Ethers de verdad necesitamos simplemente usar la red oficial en MyEtherWallet y seguir los mismos pasos.
Si has llegado hasta acá con exito te felicito, ahora puedes seguir tu aventura aprendiendo de Solidity con su documentación oficial http://solidity.readthedocs.io o buscando tutoriales de como hacer contratos inteligentes.
Si quiere aprender más de Ethereum: http://www.ethdocs.org/en/latest/
Saludos!
Tienen todo el derecho para compartir, copiar y republicar esta información, hagamos crecer la comunidad de desarrolladores Ethereum!
done upvote me
https://steemit.com/photography/@schatengarg/i-ll-edit-the-best-background-of-your-pic
Congratulations @jorgearturo! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Congratulations @jorgearturo! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s) :
Your next target is to reach 50 replies.
You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word
STOP
Check out the last post from @hivebuzz:
Support the HiveBuzz project. Vote for our proposal!