Solidity и смарт-контракты Ethereum, урок #6 | Функции, транзакции, pure, view, payable, fallback

preview_player
Показать описание
ХОТИТЕ СТАТЬ РАЗРАБОТЧИКОМ Solidity, узнать об Ethereum, блокчейне и многом другом ещё больше?!
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 0,1 ETH на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами: вы действительно узнаете ОЧЕНЬ много нового.

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

2. Выберите один из буткемпов
3. Примените промо-код: KRUK

В этом уроке мы обсудим все основные моменты, связанные с функциями в Solidity. Узнаем, какие есть области видимости, как принимать и возвращать аргументы, в чём разница между транзакцией и вызовом, а также между view и pure. Также поговорим про модификатор payable и обсудим специальные функции receive и fallback.

Таймкоды:
00:00 Введение
02:00 Создание функций
03:00 Области видимости public, external, internal, private
05:00 Функции view и pure, возвращение значений
13:40 Функции, которые вызываются через транзакции
17:20 Когда функции не возвращают значений
20:30 Функции payable
23:30 Выполнение транзакций требует времени
24:40 Функции fallback и receive
28:30 Заключение

Аккаунт Ethereum (ETH): 0x719C2d2bcC155c85190f20E1Cc3710F90FAFDa16

Рекомендации по теме
Комментарии
Автор

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

IlyaBodrovKrukowski
Автор

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

АннаСидорова-ям
Автор

Спасибо за уроки, смотрятся на одном дыхании. И ещё большое спасибо за Вашу позицию и поддержку мира

mihuntr
Автор

Благодарю, Илья. Урок очень понравился, все доходчиво и лаконично изложено. Успехов в развитии канала)

MikhailKuklenkov
Автор

Большое спасибо Вам, Учитель! Посылаю лучи добра из Киева ❤️

vadimivanovich
Автор

спасибо за такой шикарный урок в котором вы рассказали про все эти темы, смотрю уроки по солидити на английском там каждую тему мусолят на 2 3 урока и по итогу никакой сути, спасибо еще раз огромное за ваш труд

renichigava
Автор

спасибо большое за ваши уроки) я пока не начал их смотреть, но скоро начну)

almasklchv
Автор

Спасибо за поддержку, она нам сейчас нужна.

sashazar
Автор

Привет всем! Спасибо за урок. Хочу подсказать, что плагин Hardhat Provide Более не является плагином, можно просто запустить npx hardhat node локальную сеть Hardhat, затем выбираем в Deploy&Run Transcations - Environment Dev - Hardhat Provider. И теперь можем работать с хардхет провайдером. Кстати, теперь еще и можно тесты генерить прям в Remix, в принципе получаются неплохо)

cypressmann
Автор

попросили добавить оплату эфирами и вот только начало что-то складыватся в понимании какая будет реализация.Спасибо за ясность!

waltergibbs
Автор

Илья, здравствуйте. Подскажите пожалуйста, можно ли в Remix включить как-нибудь подсказки с выпадающим списком в процессе написания, как это реализовано в VSCode?

hulumulumulus
Автор

Спасибо за видео!
Скажите пожалуйста, а можно ли не в remix-ide, а в vcode каким-то плагином подключиться к виртуальным машинам ethereum?
А то ставить remix несколко страшно, компьютер говорит, что софт из непроверенных источников.

vladimireliseev
Автор

Не нашел Hardhat Provider plugin в разделе Plugin Manager в Remix!

alexsoft
Автор

Очень доступное и понятное обьяснение. Круто! Из урока только вытекает вопрос: Почему мапинг не нуждается в дополнительных определениях типа view и return и при этом вызывается методом call()?

Receive_
Автор

функция fallback() вызывается в том случае, если отностильено смарт контраккта была вызвана транзакция с неизвестным именем функции. а как это воспроизвести?

olegrolik
Автор

Для теста ф-ции receive с ремикса надо ввести суму в поле "value", и нажать (в самом низу) кнопку "Transact".

dobruy_Andrey
Автор

Интересно, а если несколько функций будет с модификатором payable? Деньги автоматически отправятся на одну из них?

vladimireliseev
Автор

Можно спросить, а где Вы учили всё это? И если можно, пожалуйста, пришлите ресурс

OleksandrMatviienko
Автор

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

CoinsGold
Автор

Еще такой вопрос: в одном туториале одного типа видел код где он постоянно использует contract (не abstract contract!) вместо interface. На мой взгляд это очень плохой код, что думаете по этому поводу?

satoshimumoto