Solidity и смарт-контракты Ethereum, урок #2 | Типы данных bool, uint, int

  Рет қаралды 38,271

Ilya Krukowski

Ilya Krukowski

Күн бұрын

Пікірлер: 107
@lemavisaitov6412
@lemavisaitov6412 2 жыл бұрын
Знаете, мне и не только очень повезло с вами. Это же надо так, начинаешь изучать что-то и обнаруживаешь, что недавно на эту тему один человек начал снимать ролики) спасибо вам большое!
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Рад, что мой труд полезен, это всегда приятно
@npc9636
@npc9636 Жыл бұрын
Привет, какие успехи после 10 месяцев ?
@crypto-pro26
@crypto-pro26 Жыл бұрын
Отличный урок, смотрится на одном дыхании. Мне нравиться что автор подчеркивает нюансы той или иной конструкции, а не просто дает теорию. Буду изучать дальше. Спасибо
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Жыл бұрын
@Александрраз-н8ф
@Александрраз-н8ф 2 жыл бұрын
Спасибо. Было бы очень круто если бы были ещё какие то задания для закрепления курса и решения к ним разбирались бы на следующих уроках.
@jandrefelix3577
@jandrefelix3577 Жыл бұрын
Thank you Iliya, you are very detailed - more detailed than English tutorials. I appreciate your tutotials very much!
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Жыл бұрын
Thank you so much!
@hydyravezberdiyew676
@hydyravezberdiyew676 2 жыл бұрын
Хорошо объяснено, каждая деталь была учтена. Примеры очень информативны. Я думаю, что нет лучшего учебного курса для "Solidity" и всего блокчейна
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Спасибо, стараюсь
@markuper
@markuper 2 жыл бұрын
У тебя талант преподавать, спасибо огромное!
@ferryman7493
@ferryman7493 2 жыл бұрын
Отлично объясняешь! Жду следующего видео
@MikhailKuklenkov
@MikhailKuklenkov Жыл бұрын
Очень информативное видео, Илья. Благодарю.
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Жыл бұрын
@orucqarayev4759
@orucqarayev4759 Жыл бұрын
Спасибо за то что делаете это. Все на самом высоком уровне сделано. Как разьяснение так и запись видео.
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Жыл бұрын
На здоровье
@nigma3623
@nigma3623 2 жыл бұрын
отличный урок, ждем следующий)
@pinggg98
@pinggg98 2 жыл бұрын
Спасибо за урок, буду ждать следующий
@prozac2010
@prozac2010 2 жыл бұрын
Супер! Ждем следующего урока! Спасибо!
@neuromancersmith9890
@neuromancersmith9890 2 жыл бұрын
как всегда очень качественно! Спасибо!
@vladimirkiryakov3695
@vladimirkiryakov3695 2 жыл бұрын
Супер, жду ещё
@azion
@azion 2 жыл бұрын
Супер Спасибо Жду следующий урок.
@digitalluu7867
@digitalluu7867 Жыл бұрын
Здорово, спасибо большое вам за труд
@ruslanfm3387
@ruslanfm3387 2 жыл бұрын
Огромное спасибо за уроки!
@rafaelllos6977
@rafaelllos6977 2 жыл бұрын
Очень здорово!
@artem9977
@artem9977 2 жыл бұрын
Спасибо за урок!
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
На здоровье!
@truestuff3828
@truestuff3828 2 жыл бұрын
спасибо за контент!
@404piano
@404piano 2 жыл бұрын
нормальный темп 🔥
@Bekcoin
@Bekcoin 11 ай бұрын
На 2 уроке тормазнула то что ещё придётся выучить быстрее клавиши)
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 11 ай бұрын
Да некуда спешить
@yevheniimoskalenko1624
@yevheniimoskalenko1624 2 жыл бұрын
агонь урок, а когда будет практика? (взаимодействия с front end и так далее) спасибо за урок!!!!
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Ну, без знания основ практиковаться мы не можем, но вообще по возможности всё будет. Фронт-энд - сильно позже, когда разберёмся с языком
@ivantarabukin1676
@ivantarabukin1676 Жыл бұрын
Супер
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Жыл бұрын
@HoopersHighlights-l3z
@HoopersHighlights-l3z 2 жыл бұрын
Good job buddy
@almasklchv
@almasklchv 2 жыл бұрын
огромное спасибо вам за бесплатные уроки) я очень благодарен вам)
@mrin0
@mrin0 Жыл бұрын
!
@almasklchv
@almasklchv 2 жыл бұрын
а вы собираетесь в будущем давать домашнее задание без проверки?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Подумаю, мысль хорошая
@trueman8413
@trueman8413 2 жыл бұрын
Подскажите, а вы работали Solidity разработчиком? Ну и в общем в блокчейн сфере? Действительно ли сейчас там офферы минимум по 8-9к?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Нет, я не работал. Офферы, конечно, там и сильно ниже есть, само собой. Начинается от стандартной зарплаты разработчика, но хорошим специалистам могут предложить сильно больше. Впрочем, надо понимать, что рынок рано или поздно насытиться и всё плюс-минус уравняется. Хотя неясно, когда это произойдёт
@trueman8413
@trueman8413 2 жыл бұрын
@@IlyaBodrovKrukowski откуда тогда у вас знания в этой области?) Да ещё столько, что обучающие видео записали, за что вам, конечно же, спасибо 😄
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
@@trueman8413 Ну просто я для себя её изучал, вот и всё. Интересно что-то новое смотреть, разные технологии
@ANDBFR
@ANDBFR 6 ай бұрын
Я понял,что ничего не понял. Но когда просматривая ютуб не нашел другие уроки по solidity. Понял,что выебываться больше не стоит и смотреть,то что есть🦍
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 6 ай бұрын
Если это первый язык, то будет сложно. Очень мало кто берёт solidity как первый язык, честно говоря
@ANDBFR
@ANDBFR 6 ай бұрын
​@@IlyaBodrovKrukowski да это шутеечека такая. Понимаю о чем вы конечно,но буду бурить. Скажем уже несколько лет около этих языков бегаю,которые в сфере крипты необходимы(solidity.rust) и сейчас мотивация некоторая появилась хотя бы хоть что-то освоить. Пересматриваю вновь первый урок и вроде бы начал отделять понятия некоторых функций,которые можно запустить либо единожды при развертывание смарт-контракт(construction),либо вызывать ее вновь и вновь(function). Но меня как опытного человека в крипте все же отталкивает школа,в который вы преподаете, именно сама школа.Так что БЕСПЛАТНЫЕ уроки в самый раз( Гослинг тут приятно и нежно улыбается). Спасибо за контент.
@алексейжучков-я8и
@алексейжучков-я8и Жыл бұрын
Круто! Подскажите а как установить снипиты (автоподбор вводимых данных) как у вас в видео? Пользуюсь онлайн remix ide
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Жыл бұрын
В remix это должно быть автоматом плюс-минус, в онлайн-версии плагинов нет, по-моему. Можно использовать VS Code, там с этим попроще - можно ставить нужные плагины в том числе для Solidity
@olegrolik
@olegrolik 9 ай бұрын
а локальный bool по умолчанию тоже false? просто вижу, что было явное присваивание false
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 9 ай бұрын
Да, false, тк по умолчанию в слотах нули, значит "ложь". А присвоил явно просто для демонстрации
@WithoutNickname666
@WithoutNickname666 2 жыл бұрын
Здравствуйте! Спасибо за уроки! Есть вопрос по уроку: Например (тайминг 9:30) Когда мы пишем функцию и в качестве аргументов вкладываем uint число _inputUint. А после мы определяем uint localUint = 42; . Мне не совсем понятно почему мы в теле функции еще раз определяем uint, а не пользуемся _inputUint?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
а, ну я просто показываю, что в функции тоже можно переменные создавать и делать присваивание. А вообще да, можно было и _inputUint использовать
@АлексЛетихов
@АлексЛетихов 7 ай бұрын
Вопрос: Какая разница между контрактами в сети етериум с конструктором и без конструктора?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 7 ай бұрын
Если есть конструктор, то туда можно засунуть логику, которая выполняется однократно при деплое (типа сохранить владельца, ввести в оборот токены и тп), вызвать её повторно будет нельзя, потому что код конструктора в БЧ не публикуется. Если конструктора нет, ну тогда такую логику прописать нельзя
@ernarzhagiparov237
@ernarzhagiparov237 Жыл бұрын
расскажи откуда коды брать если есть таблица урок классный
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Жыл бұрын
Ссылки github.com/bodrovis-learning/Solidity-YT-Series - тут исходники по урокам docs.soliditylang.org/en/v0.8.19/ - тут доки (официальные) и вся справочная информация по типам, контрактам и прочему
@ghettoar2529
@ghettoar2529 2 жыл бұрын
Это, конечно, странный вопрос, но как понять, что узел обращается к контракту, например к какой-то его функции? Он рассылает всей сети сообщение, что обращается к контракту по данному адресу и прикрепляет к нему ссылку на эту функцию?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
А у контрактов есть адреса, про адреса в следующем уроке будет. Поэтому на адрес просто идёт транзакция, в ней правильно закодировано имя функции и аргументы.
@bestmemescompilation3007
@bestmemescompilation3007 2 жыл бұрын
Cлегка поздно от выхода видео , но все равно надеюсь что вы ответите , заинтересовал один вопрос , вы сказали что при делении целых чисел, ответ остается целым числом, работает ли так с "signed" и "unsigned" , например , если я отнимаю от uint числа , которое ровно 5 , число 6 , тогда ответ уже переобразуеться в signed int и будет равно -1, или что случится?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Будет выход за пределы размерности и ошибка, если мы это попытаемся присвоить другому uint. Раньше было немного иначе, но теперь уже нет. Но можно попробовать сделать явное приведение типов в int
@mykhailos2730
@mykhailos2730 2 жыл бұрын
1. Каким сочетанием клавиш можно закомментировать код? 2. Есть ли какой-то смысл в том, чтобы использовать uint8, uint16 итд, если можно не заморачиваться и использовать всегда uint256?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
1. Ctrl + / 2. Есть, это память экономит
@mykhailos2730
@mykhailos2730 2 жыл бұрын
@@IlyaBodrovKrukowski насколько я слышал, подобная экономия с современными компьютерами не играет особой роли. Насколько весомa эта экономия при работе с solidity?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
@@mykhailos2730 Как говорится, я не настоящий сварщик, тут сказать не могу, не проверял. Самый главный вопрос - сколько экономится газа. Я думаю, вы можете самостоятельно это потестировать в ремикс, там это видно, я тоже при случае гляну
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
@@mykhailos2730 В общем, выдалась минутка, протестировал. По газу uint256 немного дешевле uint8, тк похоже в EVM операции основаны на uint256. Но при этом всё же для переменных состояния может иметь смысл использовать меньшую размерность, тк запись в хранилище - это дорогостоящая операция. Кроме того, в структурах данных uint8 всё-таки стоит дешевле. С одной стороны, там разница ерундовая, а с другой стороны - это деньги ethereum.stackexchange.com/questions/3067/why-does-uint8-cost-more-gas-than-uint256
@mykhailos2730
@mykhailos2730 2 жыл бұрын
@@IlyaBodrovKrukowski Спасибо, почитал по ссылке. Там в комментариях человек проверил разницу. Скопирую этот коммент для вас, а так же других интересующихся: "If you test something like this: 5 variables instead of just 1, which might be more like a real-world scenario with multiple variables, not just one. contract A { uint8 a = 0; uint8 b = 0; uint8 c = 0; uint8 d = 0; uint8 e = 0; } Then it's cheaper than its uint256 version. From remix: uint8: 69484gas uint256: 78420gas So you do save on gas using lower size uint, as other comments say if those are arrays you save more."
@leonidvolkov9064
@leonidvolkov9064 2 жыл бұрын
Добрый день. Спасибо за отличное видео! Можно вопрос: 1) Можно ли как-то считать или получить количество uncheck'ов (например я инкрементирую около 5000 раз, то сколько раз мы перескочили от 255 к 0 ? ) 2) Почему переменные мы называем mixCase без всяких подчеркиваний, а в параметры функции уже передаётся переменная с нижним подчёркиванием?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Добрый! 1. В теории да, просто в цикле (если это в цикле делается) смотрите, какое было значение и какое стало. Если перескочило, то счёт на 1 увеличивается 2. Ну, нижнее подчёркивание - это вроде "локальная переменная". Это не делается так всегда и везде, но иногда полезно, чтобы избежать конфликта имён. Скажем, переменная состояния есть owner, а в функции аргумент называется тогда _owner
@leonidvolkov9064
@leonidvolkov9064 2 жыл бұрын
@@IlyaBodrovKrukowski Спасибо
@Receive_
@Receive_ Жыл бұрын
🤔🤔🤔 А я думал, что float не возможно в Solidity из-за детерменизма...
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Жыл бұрын
Они грозятся добавить поддержку float рано или поздно docs.soliditylang.org/en/v0.8.17/types.html#fixed-point-numbers Пока их можно объявлять, но делать что-то с ними особо не выйдет
@АлександрШевченко-ф4н5и
@АлександрШевченко-ф4н5и 2 жыл бұрын
Привет! Возник вопрос, uint8 и uint256 тратят одинаковое количество газов в блокчейне?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Есть нюансы, про газ дальше будет
@zagamusic5089
@zagamusic5089 3 ай бұрын
Для чего переменные называть в виде _Название переменной?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 3 ай бұрын
так иногда помечают локальные переменные (но лучше подробнее смотреть в style guide)
@michail_m
@michail_m Жыл бұрын
Скажите, а как сохранять написанный код в этой иде?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Жыл бұрын
Ctrl + S Ну, вообще он сохраняется у вас браузере. То есть, если браузер будет другой или компьютер другой, то сами собой изменения, конечно, не синхронизируются
@michail_m
@michail_m Жыл бұрын
@@IlyaBodrovKrukowski действительно, спасибо
@sterben4355
@sterben4355 2 жыл бұрын
А типа данных строка не существует ?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Существует, хотя это скорее просто последовательность байтов. Но строковые литералы есть, будут дальше
@fffoxed1
@fffoxed1 2 жыл бұрын
А кто заплатит за вызов денежной функции которая упадёт с ошибкой и заплатит ли?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Платит тот, кто вызывает функцию. В ряде случаев газ вернётся, деньги отправленные вернутся в любом случае. Как в SQL - транзакция или проходит полностью или вообще не проходит
@st9am_
@st9am_ 2 жыл бұрын
Зачем переменным давать паблик,это же не безопасно?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Почему?
@kiskiskat
@kiskiskat 2 жыл бұрын
Спасибо большое за видео! Подскажите пожалуйста альтернативу Remix. Remix очень часто вылетает, а браузерная версия не очень удобна в использование
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Любой другой редактор (VS Code), но тогда не очень ясно, как работать с самим контрактом извне без тестов или фронта. Честно говоря, не уверен, что есть что-то ещё подобное
@justerik7628
@justerik7628 5 ай бұрын
Перебрал все направления в IT и что-то не зацепило, а вот данное направление мне близко. Учить довольно много, но надеюсь у меня и у всех смотрящих хватит упорства. Автору спасибо за интересную подачу
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 5 ай бұрын
На здоровье, успехов
@tonyhawk6017
@tonyhawk6017 Жыл бұрын
Прекрасная подача материала! Все по делу, достаточно для понимания и без воды! Супер!!
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Жыл бұрын
@tonyhawk6017
@tonyhawk6017 Жыл бұрын
@@IlyaBodrovKrukowski я сам джавист, подумываю попробовать в сфере смартконтрактов, ваши уроки быстрее всего и наиболее исчерпывающе доносят материал из того что я видел! Спасибо!
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Жыл бұрын
@@tonyhawk6017 На здоровье, идея хорошая
@АлександрСергеевич-и4ы
@АлександрСергеевич-и4ы 2 жыл бұрын
Супер что есть такой контент! Ждем еще!!!!
@cgf6806
@cgf6806 2 жыл бұрын
будет ли в этом курсе показано как потом взаимодействовать фронт енду с написаным нами смарт контрактом?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Да, постараюсь, тоже важная штука
@renichigava4183
@renichigava4183 2 жыл бұрын
спасибо за шикарный урок
@69rus42
@69rus42 2 жыл бұрын
Правильно ли я понимаю, что все имеют доступ ко всем данным, находящимся в сети, и ко всем смарт-контактам?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
По факту да, там приватного ничего нет, а исходный код контракта можно посмотреть (etherscan)
@sslavaa
@sslavaa 2 жыл бұрын
Однозначно инкрементарный контент! Благодарю Вас!
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
На здоровье
@АлександрАлександр-р1з
@АлександрАлександр-р1з 2 жыл бұрын
Сейчас Вы уже можете провести платный урок по Solidity или пока ещё нет?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Простите, очень много дел на данный момент
@БекзодОлимов-я4ц
@БекзодОлимов-я4ц 2 жыл бұрын
Здравствуйте, а вы планируете сделать ролик по тестированию с помощью Hardhat?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Да, обязательно
@pashok2003
@pashok2003 2 жыл бұрын
Спасибо, жду продолжения!
Самое неинтересное видео
00:32
Miracle
Рет қаралды 2,9 МЛН
My daughter is creative when it comes to eating food #funny #comedy #cute #baby#smart girl
00:17
Как мы играем в игры 😂
00:20
МЯТНАЯ ФАНТА
Рет қаралды 3,1 МЛН
ПРИКОЛЫ НАД БРАТОМ #shorts
00:23
Паша Осадчий
Рет қаралды 6 МЛН
Тайна Времени: Будущее меняет прошлое?
33:55
Космос Просто
Рет қаралды 141 М.
КАК УСТРОЕН TCP/IP?
31:32
Alek OS
Рет қаралды 118 М.
Самое неинтересное видео
00:32
Miracle
Рет қаралды 2,9 МЛН