Как написать свой первый смарт-контракт Solidity «Hello World»?

Я никогда раньше не писал смарт-контракты, потому что к ним очень многое прилагается, чтобы заставить их работать. Но я, наконец, хочу узнать это сейчас.

Я хочу написать простой минимальный рабочий смарт-контракт, который печатает что-то или делает что-то похожее на фразу «Hello World». Это возможно?

Как будет выглядеть такой контракт? Как его развернуть, какие инструменты мне нужны?

Вот руководство, которое сработало для меня. scbuergel.wordpress.com/2015/11/03/первые шаги в эфириуме
На этом веб-сайте есть хорошее руководство с понятным кодом и скриншотами о том, как начать работу: ethereumdev.io

Ответы (1)

Учебник Greeter охватывает базовый контракт Hello World. https://ethereum.org/greeter

Подводя итог, я только что проверил следующие шаги на Ubuntu 14.04. Сценарий install-get также должен обнаруживать и работать в других средах.

Примечание. Мне пришлось дважды запускать сценарий установки на первом шаге ниже, так как в первый раз он не удался.

  • Установить гет:bash <(curl -L https://install-geth.ethereum.org)
  • Запускаем geth в режиме разработчика, чтобы нам не нужно было извлекать весь блокчейн и можно было майнить собственный тестовый эфир:geth --dev console
  • Создайте тестовую учетную запись из консоли geth:personal.newAccount()
  • Проверьте баланс своего счета (должен быть 0):eth.getBalance(eth.accounts[0])
  • Запустите майнер и дайте ему поработать:miner.start()
  • Подключитесь к geth через второй терминальный сеанс:geth attach
  • Убедитесь, что баланс вашего счета увеличился:eth.getBalance(eth.accounts[0])
  • Перейдите к онлайн-компилятору/редактору Solidity по адресу https://chriseth.github.io/browser-solidity/ . По умолчанию это контракт Greeter.
  • Скопируйте и вставьте код развертывания Web3 приветствия в текстовый редактор и замените его /* var of type string here */на «Hello World» .
  • Скопируйте и вставьте обновленный код в geth и ждите сообщения Contract Mined!..
  • Протестируйте контракт сgreeter.greet()
  • Вы можете расторгнуть договор сgreeter.kill.sendTransaction({from:eth.accounts[0]})
Это было с использованием Ubuntu/Linux. А другие ОС? Хочу попробовать на винде. Можете ли вы покрыть все ОС, новые учащиеся получат от этого много пользы.