Solidity. Смарт контракты и аудит – Telegram
Solidity. Смарт контракты и аудит
2.62K subscribers
246 photos
7 videos
18 files
547 links
Обучение Solidity. Уроки, аудит, разбор кода и популярных сервисов
Download Telegram
Я тут статью прочитал, что нынче популярные NFT коллекции тоже можно создавать с помощью смарт-контрактов. В том смысле, что их уникальность и принадлежность пользователю закрепляется именно через контракты.

Думаю, в конце обучения можно будет попробовать нам вместе создать какой-нибудь NFT и залить его на Opensea, по инструкции с Хабра. Я не надеюсь на какую-либо прибыль с его продажи, но получить такой опыт было бы здорово!

А пока, вот на одном канале писали про интересное исполнение NFT:

Alan Walker совместно с музыкальной платформой Corite запускает коллекцию на Binance NFT.

После продажи NFT 3 новых видео Alan Walker будут загружены на ютуб.

Все владельцы NFT получат свою долю чистого дохода от YouTube в течение двух лет пропорционально количеству NFT, которое они держат.
1🔥1
Так, ну, за три поста на Пикабу у нас собралось 10 участников. Надеюсь, мы все сможем дойти до конца обучения и получить классные результаты.

По плану начинаем уже в этот понедельник.

Если у кого есть вопросы по ходу обучения или по организации, то смело задавайте в комментариях.
🔥1
Привет всем! И вот началась новая неделя, и мы стартуем наше обучение.

Как писалось выше, я буду выкладывать видео урок, мы проходим его в течение дня, разбираем вопросы (если у кого появятся) и двигаемся дальше.

Не стесняйтесь задавать вопросы. Мы все здесь новички с Solidity, и потому всем будет полезно подумать над ответами.

Я в течение дня буду постить сюда также ссылки из видео, если они будут там, и скрины с заметками, чтобы мы могли фиксировать знания и быстро вспоминать, о чем говорилось ранее.

Итак, первый урок:

https://www.youtube.com/watch?v=8A8-7Ks26yY
🔥1
Вот отдельная ссылка на скачивание Remix, который нужен для практики с Solidity.

Выбираем файл Remix-IDE-Setup-1.3.3.exe и скачиваем.

https://github.com/ethereum/remix-desktop/releases
🔥1
screely-1658144502324.png
43.7 KB
Обратите внимание, что у лектора выбрано рабочее пространство "localhost", а не "default_workspace". Лично у меня, во втором случае не получалось находить нужные файлы на компьютере для работы в другом текстовом редакторе. Поэтому рекомендую сразу выбирать localhost.
🔥1
screely-1658144758139.png
42.5 KB
Запоминаем, что файлы Solidity имеют расширение .sol
🔥1
‼️ Если у вас случились проблемы с Remix, как у меня сейчас оказалось, когда он виснет при загрузке приложения и виден только белый экран, то не переживайте. Это случается у многих, по крайней мере там, где мы его качали, уже есть несколько сообщений на форуме об этой проблеме. Скорее всего скоро найдут решение.

Пока что, для практики с кодом можно использовать его web версию прямо в браузере по ссылке:

Web версия Remix
🤔1
screely-1658151473265.png
241.3 KB
Старайтесь использовать последние версии Solidity. Язык достаточно молодой и очень быстро дополняется и обновляется, поэтому некоторые "фишки" могут быть не актуальны в прошлых версиях.
🔥1
Обратите внимание на эту функцию из урока! Она будет часто встречаться в контрактах, поэтому нужно запомнить, для чего она нужна.

Constructor() - это функция, которая вызовется автоматически, когда контракт будет размещен в блокчейн, т.е. сразу в момент размещения.

#code #constructor
2🔥1
Хоть первый урок и считается вводным, но лектор дает достаточно новой информации даже для бывалых разработчиков, не то что для новичков.

Надеюсь, у вас получилось за день просмотреть урок и, возможно, даже попрактиковаться.

По итогу первого урока:

1) Вы должны научиться работать с программой Remix ide;
2) Понимать, как разворачивать контракты и обновлять информацию в них;
3) Понимать, что обозначают разные цвета на кнопках в контракте;
4) Написать свой первый контракт вслед за лектором;

А чтобы обучение было более эффективным, практикуйтесь больше, пересматривайте урок, прописывайте код за лектором и, конечно же, задавайте вопросы на канале.

Далее будет небольшой опрос на тему даты следующего урока.

Если вам нужен еще один день, чтобы разобраться с кодом, то выберите соответствующую опцию. Если же все ок и понятно, за завтра начнем урок №2.
👍1🔥1
Начинаем завтра новый урок?
Anonymous Poll
74%
Да, я готов
26%
Нет, мне нужно еще время
🔥1
Всем доброе утро и продуктивного дня!

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

Хочу также отметить, что на данном этапе не нужно досконально разбираться в нашем первом написанном смарт-контракте. Достаточно его переписать за лектором к себе в Remix.

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

При этом хочу спросить у всех: нужен ли нам отдельный групповой чат?

По сути это будет уже третья вкладка в Телеграм, так как уже есть "Канал" и "Обсуждения", где отображаются комментарии к посту на канале.

Или же можно закрыть Обсуждения и заменить его на Групповой чат.

Как вам будет удобнее? Кликните на пункт в опросе.
🔥1
Обратите внимание на цветовые обозначение кнопок контракта в Remix.

Так как, большинство действий (транзакций) в смарт-контракте являются платными, то необходимо следить за газом (об этом еще будет отдельный урок).

По сути, только синие кнопки (кнопки вызова) - бесплатные, т.к. они ничего не меняют в контракте и не работают с переводами, а только позволяют читать информацию.

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

Красные - чаще всего, это прием оплаты по контракту. Нажав на нее, у пользователя спишется определённая сумма. Они также потребляют газ.

#gas
🔥1
Завтра переходим к новому уроку, чтобы успеть пройти все до конца лета, поэтому постарайтесь просмотреть урок и настроить Remix те, кто этого еще не сделал.

Урок будет относительно простой.

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

Пока что давайте попробуем общение под последним постом на канале: задаем вопросы, получаем ответы, развиваемся!

Также дайте знать, в чем и если у вас возникли трудности, а также, как вам формат коротких постов в течение дня с моментами из урока, на которые стоит обратить внимание.
🔥1
Урок 2

Сегодняшний урок первый из серии трех про типы данных в Solidity. Для бывалых разработчиков урок нужно посмотреть, чтобы понять отличие базовых единиц этого языка от других, которые вы изучали, так как некоторые нюансы все таки есть. Для новичков потребуется просто запомнить их.

Ссылка на видео урока.

Задание по уроку:

1. Записать в новый файл типы данных из урока и дать краткое описание.

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

#урок
👍1🔥1
Несколько слов о переменных в Solidity

1. Существуют переменные состояния, которые хранятся в блокчейне, и временные переменные, которые хранятся до тех пор, пока они нужны. Чаще всего вторые используются в функциях.

2. Переменные всегда имеют какое-либо значение по умолчанию, т.е. не могут быть пустыми.

3. Переменные должны быть определены типом данных (uint, int, book и другие).

#типданных #переменные
👍3🔥1
Пример логических операций к булевым значениям. Все понимают, что они значат?)
👍1🔥1
Обратите внимание на размерность переменных.

Если в других языках это, по большей части, не так важно, но в Solidity и смарт контрактам правильная размерность может сократить стоимость газа, а значит и финальную стоимость развертывания самого контракта в сети блокчейн!
👍2🔥1