Увага, це розіграш! Пишемо простий смарт-контракт

Зміст статті
Писати розумні контракти для Ethereum — це не таке складне завдання, як може здатися. Щоб розповісти тобі, як це робити, вирішили провести невеликий експеримент. У цій статті описано розробку розумного контракту, який розігрує тримісячну передплату на «Хакер». Встановивши клієнт та запустивши контракт, ти зможеш взяти участь!
Почати найкраще саме із запуску готового контракту — так набагато простіше зрозуміти, що до чого. Код ти можеш завантажити з сервера Х та заглянути всередину. Він складається з двох частин: одна — інтерфейс JSON, друга — власне код контракту мовою Solidity.
А тепер розберемо наш контракт частинами.
Занурення
Ось саме початок:
int і uint - це типи для цілих чисел зі знаком та без знака. Вони можуть мати розмір від 8 до 256 біт із кроком 8 біт (uint32 — ціле число без знака завдовжки 32 біти). Власне, uint та int — псевдоніми для uint256 та int256 відповідно. У таких змінних ми зберігаємо час, до якого триватиме розіграш (unix time), і навіть ідентифікатор переможця.
string - масив, що динамічно змінюється рядок в юнікод. У lotteryName і lotteryDescription ми зберігаємо назву та опис лотереї.
struct - за допомогою структур ми можемо створювати свої кастомні змінні, в даному випадку ми зберігаємо в масиві participantsProfiles нікнейм та пошту кожного учасника.
Тепер описуємо модифікатори (modіder) функцій. Вони служать для перевірки вхідних даних.