¿Cómo escribir mi primer contrato inteligente Solidity "Hello World"?

Nunca antes había escrito un contrato inteligente porque hay mucho que hacer para que funcione. Pero finalmente quiero aprenderlo ahora.

Quiero escribir un contrato inteligente de trabajo mínimo simple que imprima algo o haga algo similar a decir "Hola mundo". ¿Es eso posible?

¿Cómo sería un contrato así? ¿Cómo implementarlo, qué herramientas necesito?

Aquí hay una guía que funcionó para mí. scbuergel.wordpress.com/2015/11/03/primeros-pasos-en-ethereum
Este sitio web tiene una buena guía con un código claro y capturas de pantalla sobre cómo comenzar: ethereumdev.io

Respuestas (1)

El tutorial de Greeter cubre un contrato básico de Hello World. https://ethereum.org/saludo

Como resumen rápido, acabo de probar los siguientes pasos en Ubuntu 14.04. El script install-geth también debería detectar y funcionar en otros entornos.

Nota: Tuve que ejecutar el script de instalación en el primer paso a continuación dos veces porque falló la primera vez.

  • Instalar geth:bash <(curl -L https://install-geth.ethereum.org)
  • Inicie geth en modo de desarrollador para que no necesitemos obtener toda la cadena de bloques y podamos extraer nuestro propio test-ether:geth --dev console
  • Cree una cuenta de prueba desde la consola geth:personal.newAccount()
  • Verifique el saldo de su cuenta (debe ser 0):eth.getBalance(eth.accounts[0])
  • Inicie el minero y déjelo funcionar:miner.start()
  • Adjuntar a geth a través de una segunda sesión de terminal:geth attach
  • Comprueba que el saldo de tu cuenta ha aumentado:eth.getBalance(eth.accounts[0])
  • Vaya al compilador/editor de solidez en línea en https://chriseth.github.io/browser-solidity/ . Por defecto es un contrato de Greeter.
  • Copie y pegue el código de implementación Web3 del saludador en un editor de texto y reemplácelo /* var of type string here */con "Hello World"
  • Copie y pegue el código actualizado en geth y espere el mensaje ¡Contrato minado!..
  • Prueba el contrato congreeter.greet()
  • Puede destruir el contrato congreeter.kill.sendTransaction({from:eth.accounts[0]})
Esto estaba usando Ubuntu/Linux. ¿Qué pasa con otros sistemas operativos? Quiero probarlo en Windows. ¿Puede cubrir todos los sistemas operativos? Los nuevos estudiantes se beneficiarán mucho.