7. Создадим объект с нашей структуры.
Этот момент я решил включить сразу, что бы снять два вопроса на будущее.
Так как Solidity объектно-ориентрованный язык программирования, то к гадалке не ходи он точно будет поддерживать точечную нотацию.
Если более проще, то мы с нашей структуры можем создать объект или проще говоря присвоить структуре переменную.
Зачем нам это нужно?
Когда в прошлых уроках мы писали struct нашу струткуру, там не было прав доступа.
А Solidity, как Java и Kotlin поддерживает модификаторы (ключевое слово, которое обозночает видимость, например public - видят все и т.д. по ходу разберём)
Нам удобнее сделать новую переменную с нашей структуры и присвоить ей нужную нам
видимость - это даёт гибкость.
Почему это возможно?
В первых уроках в доках мы читали, что struct/структура создаёт ссылку на объект, а не прямой доступ, что для нас очень удобно, то есть если мы создаём переменную, то она так же будет ссылаться на ту же структуру, но в данном случае будет иметь свой модификатор уровень доступа.
//
//полный код в уроке
Soup public soup;// создание объекта со структуры
Дальнейшее использование в функции, через точку. как в языказ Python, JS и др.
function() MainFun{
soup.recipeName = "borsch" // в данном случае уже учитывается видимость нашей переменной, что даёт гибкость нужную нам, запомним это.
}
читать больше 8. Давайте перепишем наш контракт, под нашу логику.
Сейчас поступим так.
Создадим для себя лучшие условия.
У нас есть пример контракта, но нам хочеться написать свой и понять язык вместе с написанием и понять как писать контракт, что у нас хорошо получается.
Давайте перепишем наш контракт. что бы появилась логика, будто бы конкурс рецептов и нам нужно путём голосования выявить лучший рецепт.
Если со структурой мы разобрались и как у увидите в уроке сразу пометили с чем далее разобраться.
Но исходя из предыдущих уроков я вам говорил создали структуру, внесли данные(создали переменные) и сразу думаем. как сохранять, то есть в каких типах.
Давайте то что мы рассматривали ранее теперь напишем сами под наши нужды.
Больше всего мы будем использовать массивы(каждый елемент хранится в ячейке, как апельсины в коробке) и отображения(то же самое, что словари в питон).
Теперь становится понятно:
нам нужно создать массив(array), отображение(mapping) и адрес(ведь у человека должен быть адрес куда ему отправлять).
Мы поймём суть и будем знать зачем.
А это нам даст мотивацию уже дотошно разобрать с этими типами, когда мы будем понимать для чего нужны - это нам развяжет руки в профессиональоном использовании кода.
А помните я вам говорил, что изучайте несколько языков, как мы делали на spb-tut.ru так как все языки плохожи, что я сейчас для вас демонстрирую, как вы видите объясняю, так что понятно всем. Доки использую. что бы понять суть, а дальше мне помогают знания других языков, ведь все языки схожи, например стоило мне взглянуть на mapping(отображения), я сразу понял, что это работает так же как словарь питон, кстати и пришло с питон.
Давайте писать.
читать больше