В Solidity есть уникальный тип данных - address, так как смарт-контракты и пользователи имеют свой уникальный адрес в сети блокчейн.
Вместе с этим, address имеет особенные методы для работы с переменными, такие как balance или transfer.
В ходе уроков мы не раз будем с ними сталкиваться, поэтому запомнить их будет совершенное не сложно.
#address #method
Вместе с этим, address имеет особенные методы для работы с переменными, такие как balance или transfer.
В ходе уроков мы не раз будем с ними сталкиваться, поэтому запомнить их будет совершенное не сложно.
#address #method
🔥1
Mapping нужно уделить особо пристальное внимание, так как он, по моему опыту просмотренных видео о смарт-контрактах, используется довольно часто.
Mapping или сопоставление - это хранение данных в виде ключ-значение, например, "адрес кошелька => сумма пополнения".
При этом в Solidity нельзя создавать mapping, у которого в ключах или значениях смешанные типы данных. Другими словами, если ключом является address, то позже вы не можете сохранить там значение uint.
Также нужно отметить, что в "ключе" можно сохранять только простые переменные, а "значении" может выступать другой mapping или даже массив.
#mapping
Mapping или сопоставление - это хранение данных в виде ключ-значение, например, "адрес кошелька => сумма пополнения".
При этом в Solidity нельзя создавать mapping, у которого в ключах или значениях смешанные типы данных. Другими словами, если ключом является address, то позже вы не можете сохранить там значение uint.
Также нужно отметить, что в "ключе" можно сохранять только простые переменные, а "значении" может выступать другой mapping или даже массив.
#mapping
🔥1
Урок 4
Последний урок про типы данных в Solidity.
Видео урока.
Тем, кто пришел на обучение недавно, крайне советую пересмотреть предыдущие уроки, которые я выкладывал в понедельник, среду и четверг примерно в 11 утра.
Этот урок, скорее всего, покажется немного сложнее для новичков, чем предыдущие, так как тут рассматриваются сложные типы данных, вроде struct и array.
Я все также в течение дня буду выкладывать посты, на что стоит обратить внимание.
Также, я очень рад, что этот урок выпал на конец недели, и у нас будут выходные, чтобы повторить, усвоить и закрепить материал из всех уроков на неделе.
С понедельника начнутся уже более серьезные вещи в Solidity, поэтому будет здорово, если вы хорошо поймете базу.
Приятного просмотра и хорошего дня!
#урок #типыданных
Последний урок про типы данных в Solidity.
Видео урока.
Тем, кто пришел на обучение недавно, крайне советую пересмотреть предыдущие уроки, которые я выкладывал в понедельник, среду и четверг примерно в 11 утра.
Этот урок, скорее всего, покажется немного сложнее для новичков, чем предыдущие, так как тут рассматриваются сложные типы данных, вроде struct и array.
Я все также в течение дня буду выкладывать посты, на что стоит обратить внимание.
Также, я очень рад, что этот урок выпал на конец недели, и у нас будут выходные, чтобы повторить, усвоить и закрепить материал из всех уроков на неделе.
С понедельника начнутся уже более серьезные вещи в Solidity, поэтому будет здорово, если вы хорошо поймете базу.
Приятного просмотра и хорошего дня!
#урок #типыданных
YouTube
Solidity и смарт-контракты Ethereum, урок #4 | Типы данных array, bytes, enum, struct
ХОТИТЕ СТАТЬ РАЗРАБОТЧИКОМ Solidity, узнать об Ethereum, блокчейне и многом другом ещё больше?!
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 0,1 ETH на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 0,1 ETH на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
🔥1
Несколько слов о enum.
В дальнейших уроках он будет использован не так часто, однако в смарт-контрактах иногда выполняет достаточно значимые функции.
1. С помощью enum можно создавать свои собственные не сложные структуры типов данных.
2. Мы можем использовать enum для создания переменных и статусов для них.
3. В enum, при вызове функций, показывается не сам статус, а его индекс (порядок в списке).
#enum #типданных
В дальнейших уроках он будет использован не так часто, однако в смарт-контрактах иногда выполняет достаточно значимые функции.
1. С помощью enum можно создавать свои собственные не сложные структуры типов данных.
2. Мы можем использовать enum для создания переменных и статусов для них.
3. В enum, при вызове функций, показывается не сам статус, а его индекс (порядок в списке).
#enum #типданных
👍3🔥1
Массивы, они же array, могут быть, как с фиксированной длинной, которая указывается в квадратных скобках, так и динамические.
Нужно отметить, что на данный момент, в Solidity нельзя создавать массивы, в которых хранятся разные типы данных.
Если вы указали тип данных uint, то и все значения в массиве должны быть uint.
#array #массивы
Нужно отметить, что на данный момент, в Solidity нельзя создавать массивы, в которых хранятся разные типы данных.
Если вы указали тип данных uint, то и все значения в массиве должны быть uint.
#array #массивы
👍1🔥1
Массивы могут быть вложенными.
В этом случае длина массива, например, uint[10][5] будет равна 5, а длина вложенных - 10. Т.е. длина основного массива читается с конца.
Также обратите внимание, что значения в массивах нумеруются с "0".
#array #массивы #вложенныемассивы
В этом случае длина массива, например, uint[10][5] будет равна 5, а длина вложенных - 10. Т.е. длина основного массива читается с конца.
Также обратите внимание, что значения в массивах нумеруются с "0".
#array #массивы #вложенныемассивы
👍3🔥1
В текущих укрока bytes будут использоваться редко. Тем не менее нужно запомнить, что информация в переменных bytes хранится именно как последовательность байтов, другими словами различные символы, буквы и цифры будут иметь измененный вид, как в примере на скрине.
#bytes #типыданных
#bytes #типыданных
🔥1
Struct используется довольно часто в сложных контрактах, поэтому знать этот тип данных не только нужно, но и важно!
В struct мы можем объявлять специальные поля, как в примере на скрине. При этом struct может хранить другие сложные типы данных, типа массивов и mapping.
#struct #типыданных
В struct мы можем объявлять специальные поля, как в примере на скрине. При этом struct может хранить другие сложные типы данных, типа массивов и mapping.
#struct #типыданных
🔥1
Обратите внимание на урок с 21 минуты! Здесь рассказывают, как обращаться в функциях к mapping, который содержит struct и т.д. Сложный момент, особенно для новичков!
#struct #типыданных
#struct #типыданных
❤2🔥1
Всем привет!
Вот и прошла первая неделя обучения! Для кого-то это могло показаться простым делом, для кого-то настоящим вызовом.
На следующей неделе мы продолжим изучать основные моменты Solidity, а пока я подготовил небольшой список вопросов и заданий для самопроверки.
1) Какое расширение у файлов Solidity?
2) Что обозначают цвета на кнопках развернутого контракта в Solidity?
3) Чем отличаются переменные состояния от временных?
4) Что такое размерность переменных и как можно ее узнать?
5) Что делает функция unchecked()?
6) Почему нельзя проверить длины строки напрямую?
7) Что такое address?
8) Как разрешить функции принимать оплату?
9) Почему нельзя использовать метод push для фиксированных массивов?
10) С какого числа индексируются значения в массиве?
И практические задания:
1) Напишите в новом файле лицензию, версию программы и обозначьте контракт.
2) Запишите в файл все переменные, которые сможете вспомнить.
3) Создайте mapping Balances
4) Создайте вложенный массив, сделайте деплой контракта и попробуйте получить значение одного из значений вложенного массива.
5) Создайте enum и напишите функции, которые будут при выполнении будут менять статус enum. Проверьте правильность в контракте после деплоя.
6) Создайте свой struct.
7) Перепишите код с 4 урока с 21 минуты, и объясните как он работает.
Уверен, если вы сможете выполнить все задания, то с увереннность можно сказать, что вы успешно завершили текущую неделю.
Всем легкого кода и быстрого запоминания!
#практика #задания
Вот и прошла первая неделя обучения! Для кого-то это могло показаться простым делом, для кого-то настоящим вызовом.
На следующей неделе мы продолжим изучать основные моменты Solidity, а пока я подготовил небольшой список вопросов и заданий для самопроверки.
1) Какое расширение у файлов Solidity?
2) Что обозначают цвета на кнопках развернутого контракта в Solidity?
3) Чем отличаются переменные состояния от временных?
4) Что такое размерность переменных и как можно ее узнать?
5) Что делает функция unchecked()?
6) Почему нельзя проверить длины строки напрямую?
7) Что такое address?
8) Как разрешить функции принимать оплату?
9) Почему нельзя использовать метод push для фиксированных массивов?
10) С какого числа индексируются значения в массиве?
И практические задания:
1) Напишите в новом файле лицензию, версию программы и обозначьте контракт.
2) Запишите в файл все переменные, которые сможете вспомнить.
3) Создайте mapping Balances
4) Создайте вложенный массив, сделайте деплой контракта и попробуйте получить значение одного из значений вложенного массива.
5) Создайте enum и напишите функции, которые будут при выполнении будут менять статус enum. Проверьте правильность в контракте после деплоя.
6) Создайте свой struct.
7) Перепишите код с 4 урока с 21 минуты, и объясните как он работает.
Уверен, если вы сможете выполнить все задания, то с увереннность можно сказать, что вы успешно завершили текущую неделю.
Всем легкого кода и быстрого запоминания!
#практика #задания
❤2🔥1
Небольшой дневной вопрос участникам
За последнию неделю количество участников стало 23. И мне стало интересно, все ли пришли сюда за обучением или некоторые просто подписались на всякий случай.
Это никого не обяжет, исключительно мое любопытство. Опрос ниже анонимный.
За последнию неделю количество участников стало 23. И мне стало интересно, все ли пришли сюда за обучением или некоторые просто подписались на всякий случай.
Это никого не обяжет, исключительно мое любопытство. Опрос ниже анонимный.
🔥1
🔥1
Урок 5
Доброе утро всем! Надеюсь вы провели эти выходные не только отдыхая, но и с пользой.
На прошлой неделе мы начали изучение Solidity и прошли все возможные типы данных. На этой неделе мы будем изучать уже функции, модификаторы, события и Древо Меркла, если повезет со временем!
Я специально пропускаю следующее по очереди видео 5 на канале лектора, так как, подумав, решил, что сначала лучше изучить базовую основу языка, а потом уже погружаться в среду разработки и тестирования смарт-контрактов. Так у нас будет меньше каши в голове.
Итак, дамы и господа, урок 5 - Функции, транзакции, pure, view
Это чуть более сложные уроки, особенно для новичков, поэтому не стесняйтесь задавать вопросы.
Всем приятного дня и легкого обучения!
#урок
Доброе утро всем! Надеюсь вы провели эти выходные не только отдыхая, но и с пользой.
На прошлой неделе мы начали изучение Solidity и прошли все возможные типы данных. На этой неделе мы будем изучать уже функции, модификаторы, события и Древо Меркла, если повезет со временем!
Я специально пропускаю следующее по очереди видео 5 на канале лектора, так как, подумав, решил, что сначала лучше изучить базовую основу языка, а потом уже погружаться в среду разработки и тестирования смарт-контрактов. Так у нас будет меньше каши в голове.
Итак, дамы и господа, урок 5 - Функции, транзакции, pure, view
Это чуть более сложные уроки, особенно для новичков, поэтому не стесняйтесь задавать вопросы.
Всем приятного дня и легкого обучения!
#урок
YouTube
Solidity и смарт-контракты Ethereum, урок #6 | Функции, транзакции, pure, view, payable, fallback
ХОТИТЕ СТАТЬ РАЗРАБОТЧИКОМ Solidity, узнать об Ethereum, блокчейне и многом другом ещё больше?!
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 0,1 ETH на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 0,1 ETH на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
🔥1
В Solidity, на данный момент, есть четыре области видимости функций: Public, Private, External и Internal.
Основное, что нужно запомнить о них это:
Public - наиболее часто встречаемая в уроках область, которая позволяет вызывать функцию как извне контракта, так и внутри него.
Private - вызывает функции ТОЛЬКО внутри самого контракта.
External - вызывает функции ТОЛЬКО извне контракта, и не доступны для вызова внутри.
Internal - наоборот, вызывает функции ТОЛЬКО внутри самого контракта, и не доступны для вызова извне.
#областивидимости #функции #function
Основное, что нужно запомнить о них это:
Public - наиболее часто встречаемая в уроках область, которая позволяет вызывать функцию как извне контракта, так и внутри него.
Private - вызывает функции ТОЛЬКО внутри самого контракта.
External - вызывает функции ТОЛЬКО извне контракта, и не доступны для вызова внутри.
Internal - наоборот, вызывает функции ТОЛЬКО внутри самого контракта, и не доступны для вызова извне.
#областивидимости #функции #function
🔥1