Друзья, должен отметить, что в некоторых случаях выходное значение для обычных функций (это которые через транзакции выполняются) получить всё-таки можно. В частности, если использовать низкоуровневый вызов - например, delegatecall. Думаю, про это будем ещё говорить отдельно.
@IlyaBodrovKrukowski2 жыл бұрын
@WELL DOROGO Это значит, что её можно переопредилить в дочерних контрактах, но она сама ничего не переопределяет
@BBotinok Жыл бұрын
А почему функции, вызываемые через транзакции, не могут возвращать значения, но в обновленном 5 уроке функция pay возвращает msg.value?
@IlyaBodrovKrukowski Жыл бұрын
@@BBotinok возвращать они могут, но просто считать это возвращаемое значение - это отдельная проблема, суть в этом
@BBotinok Жыл бұрын
@@IlyaBodrovKrukowskiПонял, спасибо)
@mihunt3r9292 жыл бұрын
Спасибо за уроки, смотрятся на одном дыхании. И ещё большое спасибо за Вашу позицию и поддержку мира
@IlyaBodrovKrukowski2 жыл бұрын
Спасибо вам за поддержку
@АннаСидорова-я9м2 жыл бұрын
Благодарю Вас за Ваши уроки. Это первый курс в котором все четко,доступно. После просмотреных многих курсов анло-язычных такая каша в голове. Ваш курс действительно просто подарок. Твореского вдохновения Вам и успехов в любых начинаниях.
@IlyaBodrovKrukowski2 жыл бұрын
Большое спасибо!
@vadimivanovich18272 жыл бұрын
Большое спасибо Вам, Учитель! Посылаю лучи добра из Киева ❤️
@IlyaBodrovKrukowski2 жыл бұрын
И вам также
@isthismyfinalform1692 жыл бұрын
Спасибо за ролик, и поддержку мира♥️
@IlyaBodrovKrukowski2 жыл бұрын
@MikhailKuklenkov Жыл бұрын
Благодарю, Илья. Урок очень понравился, все доходчиво и лаконично изложено. Успехов в развитии канала)
@IlyaBodrovKrukowski Жыл бұрын
@renichigava41832 жыл бұрын
спасибо за такой шикарный урок в котором вы рассказали про все эти темы, смотрю уроки по солидити на английском там каждую тему мусолят на 2 3 урока и по итогу никакой сути,спасибо еще раз огромное за ваш труд
@IlyaBodrovKrukowski2 жыл бұрын
@Bekcoin Жыл бұрын
6 урок был полезным👍
@sashazar1 Жыл бұрын
Спасибо за поддержку, она нам сейчас нужна.
@IlyaBodrovKrukowski Жыл бұрын
@cypressmann6 ай бұрын
Привет всем! Спасибо за урок. Хочу подсказать, что плагин Hardhat Provide Более не является плагином, можно просто запустить npx hardhat node локальную сеть Hardhat, затем выбираем в Deploy&Run Transcations - Environment Dev - Hardhat Provider. И теперь можем работать с хардхет провайдером. Кстати, теперь еще и можно тесты генерить прям в Remix, в принципе получаются неплохо)
@IlyaBodrovKrukowski6 ай бұрын
Круто, спасибо! Да, этот урок уж давно записывался, там наверняка что-то поменялось
@ГалинаИноземцева-ф9я2 жыл бұрын
Спасибо Вам Илья за вашу работу
@IlyaBodrovKrukowski2 жыл бұрын
@ДамирКу-е6р2 жыл бұрын
Лучший ждём новые видео!
@svitoch_blockchain2 жыл бұрын
Благодарю вас за поддержку
@soldev.2 жыл бұрын
Спасибо вам за уроки!
@bars374 Жыл бұрын
отлично! спасибо за урок!
@IlyaBodrovKrukowski Жыл бұрын
@almasklchv2 жыл бұрын
спасибо большое за ваши уроки) я пока не начал их смотреть, но скоро начну)
@neuromancersmith98902 жыл бұрын
Спасибо за то что вы делаете!
@IlyaBodrovKrukowski2 жыл бұрын
@СтепанЗреющий2 жыл бұрын
Спасибо за урок👍🔥
@andreyshkuin531 Жыл бұрын
я тебя люблю💌
@proorg37532 жыл бұрын
Спасибо большое, ждем продолжения)
@IlyaBodrovKrukowski2 жыл бұрын
Обязательно!
@synchronization6662 жыл бұрын
thank you!
@KOCadm2 жыл бұрын
лучшее обяснение!!! спс!!!
@IlyaBodrovKrukowski2 жыл бұрын
@vladimireliseev7602 Жыл бұрын
Спасибо за видео! Скажите пожалуйста, а можно ли не в remix-ide, а в vcode каким-то плагином подключиться к виртуальным машинам ethereum? А то ставить remix несколко страшно, компьютер говорит, что софт из непроверенных источников.
@IlyaBodrovKrukowski Жыл бұрын
Ну, используйте hardhat, там можно настроить коннект к любой сети через alchemy, к примеру
@waltergibbs30412 жыл бұрын
попросили добавить оплату эфирами и вот только начало что-то складыватся в понимании какая будет реализация.Спасибо за ясность!
@IlyaBodrovKrukowski2 жыл бұрын
@hulumulumulus2 жыл бұрын
Илья, здравствуйте. Подскажите пожалуйста, можно ли в Remix включить как-нибудь подсказки с выпадающим списком в процессе написания, как это реализовано в VSCode?
@IlyaBodrovKrukowski2 жыл бұрын
Не уверен, если честно. Можно попробовать поиск аддоны (в самом ремиксе кнопка слева внизу), я просто не пробовал такое включать
@hulumulumulus2 жыл бұрын
@@IlyaBodrovKrukowski Хорошо, поищу) Спасибо!
@TheAlexChechel2 жыл бұрын
camelCase & PascalCase
@dobruy_Andrey2 жыл бұрын
Для теста ф-ции receive с ремикса надо ввести суму в поле "value", и нажать (в самом низу) кнопку "Transact".
@IlyaBodrovKrukowski2 жыл бұрын
Да, эту фичу я обнаружил уже после записи видео
@dobruy_Andrey2 жыл бұрын
@@IlyaBodrovKrukowski спасибо за уроки
@vladimireliseev7602 Жыл бұрын
Интересно, а если несколько функций будет с модификатором payable? Деньги автоматически отправятся на одну из них?
@IlyaBodrovKrukowski Жыл бұрын
receive только один может быть, их не может быть несколько. Если другая функция payable, то тогда её селектор нужно явно задавать
@Receive_2 жыл бұрын
Очень доступное и понятное обьяснение. Круто! Из урока только вытекает вопрос: Почему мапинг не нуждается в дополнительных определениях типа view и return и при этом вызывается методом call()?
@IlyaBodrovKrukowski2 жыл бұрын
Mapping вообще нельзя вернуть как результат работы функции. Но можно считать один или несколько элементов из него через функцию, как-то так
@satoshimumoto46652 жыл бұрын
По fallback возник вопрос: в одном туториале встретил такой код для фолбэка: function() external payable{}, у вас же receive() external payable{} , Я правильно понимаю что оба варианта правильны, но ваш вариант более новый?
@IlyaBodrovKrukowski2 жыл бұрын
Я думаю, вам стоит посмотреть урок по теме - про это было в плейлисте. В целом fallback - это перехват неизвестной функции в контракте, а receive - просто приём денег
@satoshisumoto19452 жыл бұрын
@@IlyaBodrovKrukowski пардон - проблемы с входом в эккаунт, пишу из под другого. Поясню свой вопрос: в вашем видео именно так и говорится - fallback() - перехват неизвестной функции, а receive() - прием платежа на адрес контракта без указания конкретной функции. У него же в туториале говорилось что fallback /*где fallback фигурирует не как fallback() а как термин*/ - это прием платежа без указания функции, который делается через function()external payable{} - т.е. без указания имени функции. Скажите пжл, используется ли указанный им синтаксис где-то или может быть он является устаревшей версией receive() ?
@IlyaBodrovKrukowski2 жыл бұрын
@@satoshisumoto1945 А, ну да. Это старый синтаксис, теперь уже никто не пишет function()external payable{} и это вообще не сработает
@googleadmin47492 жыл бұрын
В общем при создании смарт-контакта детишки используйте fallback и receive это повышает вероятность получить больше деняк)
@IlyaBodrovKrukowski2 жыл бұрын
@IlyaBodrovKrukowski2 жыл бұрын
Просто надо помнить, что receive нет вовсе, то забросить деньги на контракт напрямую не выйдет - он будет плажёт отклонять
@OleksandrMatviienko2 жыл бұрын
Можно спросить, а где Вы учили всё это? И если можно, пожалуйста, пришлите ресурс
@IlyaBodrovKrukowski2 жыл бұрын
Боюсь, что простого ответа нет. Нужно читать разные блоги, искать информацию, смотреть доки. Книг почти нет, либо они быстро устаревают. Но зато можно записаться на один из буткемпов MCS, в создании которых я принимал активное участие. Собрано большое кол-во информации по теме, очень много видео, плюс постоянные дополнительные занятия и стримы. В описании ролика есть ссылка и даже промо-код
@OleksandrMatviienko2 жыл бұрын
@@IlyaBodrovKrukowski Большое спасибо!)
@satoshimumoto46652 жыл бұрын
Еще такой вопрос: в одном туториале одного типа видел код где он постоянно использует contract (не abstract contract!) вместо interface. На мой взгляд это очень плохой код, что думаете по этому поводу?
@IlyaBodrovKrukowski2 жыл бұрын
Нет, ну использовать контракт как интерфейс - это очень плохо
@satoshisumoto19452 жыл бұрын
@@IlyaBodrovKrukowski Я тоже так думаю, удивительно как тот парень (julian from eattheblocks) получил первую работу на смартконтракты с зарплатой более 100К баксов...
@IlyaBodrovKrukowski2 жыл бұрын
@@satoshisumoto1945 Ну, этого я не знаю, но если он живёт в США, то там такая зарплата - это более-менее норма (во всяком случае, для опытных айтишников)
@satoshisumoto19452 жыл бұрын
@@IlyaBodrovKrukowski нет, он из европы(кажется француз), сейчас живет на тайване. разрешения на работу с штатовскими компаниями у него нет да и непонятно как бы он мог получить у них такую работу без разрешения на работу и сразу на такую зарплату, тем более что код он пишет плохой и в его туториалах как выяснилось благодаря вашим видео есть неправильные определения
@CoinsGold2 жыл бұрын
Илья, добрый день! Как с Вами можно связаться?
@IlyaBodrovKrukowski2 жыл бұрын
Добрый! На моём сайте есть все каналы связи, а сайт указан в описании к каждому видео. Ну, либо через наш чат Телеграм, ссылки тоже в описании
@olegrolik10 ай бұрын
функция fallback() вызывается в том случае, если отностильено смарт контраккта была вызвана транзакция с неизвестным именем функции. а как это воспроизвести?
@IlyaBodrovKrukowski10 ай бұрын
при отправке транзакции запихнуть в поле data любую абракадабру. В remix можно попробовать в low-level interactions засунуть что-то типа 0x123456
@olegrolik10 ай бұрын
@@IlyaBodrovKrukowski Илья, огромное вам спасибо!
@mrin0 Жыл бұрын
!
@alexsoft999 Жыл бұрын
Не нашел Hardhat Provider plugin в разделе Plugin Manager в Remix!
@IlyaBodrovKrukowski Жыл бұрын
По-моему, он уже не нужен. Remix обновился просто
@alexsoft999 Жыл бұрын
@@IlyaBodrovKrukowski Выяснил, Hardhat Provider работает только с десктопной версией Remix.
@IlyaBodrovKrukowski Жыл бұрын
@@alexsoft999 аа, у вас онлайн версия? Тогда да, вариантов с ней нет особенно
@kirill_prog2 жыл бұрын
👍🏻
@IlyaBodrovKrukowski2 жыл бұрын
@denisleshchenko9372 Жыл бұрын
Огромное спасибо за уроки! И спасибо большое за позицию по поводу войны, для нас украинцев, это важно!
@IlyaBodrovKrukowski Жыл бұрын
Благодарю вас, стараюсь
@vazhabezhanishvili39082 жыл бұрын
Спасибо за вашу позицию по войне в Украине! Спасибо за уроки!