!!! ОБНОВЛЕНИЯ ДЛЯ ЭТОГО УРОКА ТУТ: kzitem.info/news/bejne/sZh30WRvcKB-koY Друзья, если у вас при добавлении сети Hardhat в Metamask происходят какие-то ошибки или автоматические исправления с chain ID 1337 на 31337, то нужно в файле hardhat.config.js добавить networks: { hardhat: { chainId: 1337 } } Эта проблема описана здесь hardhat.org/metamask-issue.html FAQ по курсу лежит тут bodrovis.tech/en/categories/solidityethereum/posts/faq-po-kursu-solidity Не исключено, что ваша проблема там уже рассмотрена
@Nevybralnick
Жыл бұрын
Для нубов вроде меня ещё важно указать, куда именно (в какое конкретное место в файле) это вставлять: /** @type import('hardhat/config').HardhatUserConfig */ module.exports = { solidity: "0.8.9", networks: { hardhat: { chainId: 1337 // We set 1337 to make interacting with MetaMask simpler } } };
@IlyaBodrovKrukowski
Жыл бұрын
@@Nevybralnick В hardhat.config, это в корне проекта
@Nevybralnick
Жыл бұрын
@@IlyaBodrovKrukowski Да найти файл труда не составило. Просто изначально я добавил данный ключ не туда, где он расположен в моём предыдущем комменте, а уже после объекта module.exports. И удивлялся, почему значение chainID не подтягивается, и Метамаск всё ещё возвращал мне 31337.
@vladkolesov1255
2 жыл бұрын
Вы делаете уроки быстрее, чем я успеваю их смотреть) Спасибо Вам!
@IlyaBodrovKrukowski
2 жыл бұрын
Стараюсь! :)
@limonred5283
2 жыл бұрын
Ну что сказать - оно работает. Причем я накатил это все на свой контракт. Ждем продолжения)
@IlyaBodrovKrukowski
2 жыл бұрын
Отлично, будет уже на днях
@ВладимирМасюков-ч5т
2 жыл бұрын
Прекрасная подача материала!
@IlyaBodrovKrukowski
2 жыл бұрын
Благодарю
@googleadmin4749
2 жыл бұрын
Отдельный респект за крупный шрифт кода, смотрю из средней Азии, тут безлимитный тариф на KZitem в 360р, по этому я вижу вполне четко код. Да и ребятам с телефонов тоже должно быть видно.
@IlyaBodrovKrukowski
2 жыл бұрын
@HelloWorld-sy4yc
2 жыл бұрын
Спасибо, Илья! Надеюсь, то, что вы делаете, вернётся к вам в 10х размере. За несколько дней полностью просмотрел ваш плейлист, причем до этого опыта никакого не было, в данный момент уже умею простенькие смарт контракты разворачивать и как-то с ними оперировать. Планирую дальше продолжать изучение...
@IlyaBodrovKrukowski
2 жыл бұрын
Благодарю!
@emmiewinehouse8817
2 жыл бұрын
А опыт в программировании был вообще? Какой?
@yegort2417
2 жыл бұрын
Круто, очень ждём продолжение!!
@MadBlissOff
2 жыл бұрын
Очень ценный контент, спасибо
@IlyaBodrovKrukowski
2 жыл бұрын
@maxlagus9042
2 жыл бұрын
Очень хороший материал, надеюсь курс будет продолжаться и дальше) Кстати, не было мыслей рассказать про формальные доказательства корректности, типо coq или идрис/агда?
@IlyaBodrovKrukowski
2 жыл бұрын
Если честно, то пока как-то нет
@yfullstackhub
Ай бұрын
Видео было снято два года тому назад, когда уже React полноценно поддерживал функциональные компоненты. Соответственно, зачем писать UI через классы? И как я помню, стрелочные функции на тот момент тоже уже не считались экспериментальными.
@od1ez
2 жыл бұрын
не могу понять что я пропустил, так-как голландский аукцион который вы писали несколько уроков назад имеет другой код
@IlyaBodrovKrukowski
2 жыл бұрын
Ну я его изменил немного для этого урока
@dlcgaming2642
2 жыл бұрын
Бро перед тем как войт ив разработку веб3 что желательно учить ? html CSS JS ?
@IlyaBodrovKrukowski
2 жыл бұрын
Да, это очень желательно. Иначе потом будет сложно с Hardhat, тестами и прочим
@dlcgaming2642
2 жыл бұрын
@@IlyaBodrovKrukowski Благодарочка !) Пожалуйста продолжай делать курсы !))
@IlyaBodrovKrukowski
2 жыл бұрын
@@dlcgaming2642
@Apexof
Жыл бұрын
Спасибо за урок. Пара замечаний. Вы написали код отрефакторили его и потом при объяснении просто его переписываете в том порядке в котором он у вас оказался по итогу, а не в том порядке в котором вы его разрабатывали. Это не удобно усваивать. Напишите минимально рабочую версию покажите как все работает, а потом дополняйте код обработкой ошибок и улучшениями.
@bclll
2 жыл бұрын
Здравствуйте! Большое спасибо за то, что вы делаете. Ваши уроки - самая информативная и понятная информация о солидити в русскоязычном комьюнити на сегодняшний день! Подскажите, пожалуйста, в чем проблема: когда подключаю кошелек метамаска вылетает ошибка Please connect to localhost:8545, хотя в метамаске добавлена и выбрана эта сеть, аккаунт так же работает и показывает тестовый счет. Заранее спасибо за уделенное время и еще раз благодарю за огромный вклад в сообщество!
@IlyaBodrovKrukowski
2 жыл бұрын
Спасибо! Странно. А вы точно сделали добавление сети как в видео? Также попробуйте в конфиге Hardhat добавить networks: { hardhat: { chainId: 1337 } },
@bclll
2 жыл бұрын
@@IlyaBodrovKrukowski Сделал все так, добавил, перезапустил все, удалил сеть, сбросил счет. И все равно при добавлении сети она не хочет ставить ID 1337 и просит сменить на 31337 Также пишет, что тикет валюты неверный
@ИгорьМиленький
2 жыл бұрын
Илья, добрый день! Большое спасибо за ваши видео, очень подробно и интересно! Подскажите, пожалуйста, что делаю не так, если после запуска скрипта deploy не появляется папка front? Заранее спасибо,
@IlyaBodrovKrukowski
2 жыл бұрын
Добрый! Может, руками её создать? Либо через sudo запускать, если это nix система? тк вообще должна появиться
@ИгорьМиленький
2 жыл бұрын
@@IlyaBodrovKrukowski Спасибо за ответ, попробую вручную создать папку и файлы в ней. Работаю под windows
@IlyaBodrovKrukowski
2 жыл бұрын
@@ИгорьМиленький Ну, файлы всё-таки не надо, но папку можно. Может быть, попробовать консоль от админа запустить
@ИгорьМиленький
2 жыл бұрын
@@IlyaBodrovKrukowski спасибо большое! Да, сейчас тогда попробую так сделать
@Nevybralnick
Жыл бұрын
Надо отдельно проверять существование папок "front" и "front/contracts" и создавать каждую отдельно в случае отсутствия: const frontDir = path.join(__dirname, '/..', 'front') const contractsDir = path.join(frontDir, '/', 'contracts') if (!fs.existsSync(frontDir)) { fs.mkdirSync(frontDir) } if (!fs.existsSync(contractsDir)) { fs.mkdirSync(contractsDir) }
@Уважаемыйпользователь-ю9к
8 ай бұрын
а будет видео о том как делать фронт-энд на NextJS на Typescript? И как теперь писать фронтэнд, если это видео устарело и теперь пишут все на typescript.
@IlyaBodrovKrukowski
8 ай бұрын
Не планировал пока. Но основная идея будет такая же, ну просто типы добавить надо для TS
@Уважаемыйпользователь-ю9к
8 ай бұрын
@@IlyaBodrovKrukowski а у вас есть обучающие видео по typescript? или может можете что посоветовать?
@IlyaBodrovKrukowski
8 ай бұрын
@@Уважаемыйпользователь-ю9к у меня нет, увы. Но так можно просто читать их руководства на сайте www.typescriptlang.org/docs/handbook/intro.html Все необходимые вещи там есть, после прочтения уже можно писать программы без проблем
@ИванМартыненко-у2н
2 жыл бұрын
Только сейчас нашел этот канал, и честно говоря все ролики не пересматривал. Но у меня есть вопрос по поводу rails. 1) Почему не используете wsl? 2) Или почему не поставить linux в виртуальную машину и использовать Remote SSH дополнение для VS Code? 3) Есть еще вариант с докером, но это не так интересно лично мне.
@IlyaBodrovKrukowski
2 жыл бұрын
Немного странно спрашивать про Rails под видео о Solidity, но ладно. WSL - не использую, потому что в демо он не нужен, и так прекрасно всё работает. В видео я неоднократно упоминаю, что зритель может использовать любую среду разработки, это совершенно не имеет значения для изучения основ фреймворка
@Максим-щ2о6ч
2 жыл бұрын
Не удается повторить на фронте поведение из урока. После подключения кошелька front пишет Please connect to localhost:8545 × Please connect your account... И кнопка [Connect Wallet] Пробовал: - добавлять настройку chainId в hardhat.config.js - переимпортировал аккаунт в метамаск - останавливал node и повторно запуск node, деплой контракта, npm run dev
@IlyaBodrovKrukowski
2 жыл бұрын
Может сама сеть hardhat неправильно в metamask добавлена?
@fil4777
2 жыл бұрын
Спасибо за хорошие уроки и труды, но может стоит уже в 2022 году уйти от классовых компонентов и писать на хуках?
@IlyaBodrovKrukowski
2 жыл бұрын
Может быть. Но так как я вообще не особо занимаюсь Next, то пишу по-старинке. Обычно лучшее решение - это хорошо известное
@ЧебурекДа-м6ф
2 жыл бұрын
получаю ошибку при развертывании контракта HeadersTimeoutError: Headers Timeout Error at Timeout.onParserTimeout [as _onTimeout] (D:\solidium3 ode_modules\undici\lib\client.js:893:26) at listOnTimeout (node:internal/timers:559:11) at processTimers (node:internal/timers:500:7) { code: 'UND_ERR_HEADERS_TIMEOUT' не совсем понимаю из за чего это происходит (может быть из за интернета?) помогите пожалуйста
@IlyaBodrovKrukowski
2 жыл бұрын
Очень сложно сказать, в чём дело. Попробуйте спросить в нашем чате (ссылка в описании)
@ЧебурекДа-м6ф
2 жыл бұрын
Я нашел Решение Сначала перезагрузите компьютер (на всякий случай), пропишите обязательно npx hardhat clean и удалите папку artifacts, потом все должно заработать
@IlyaBodrovKrukowski
2 жыл бұрын
@@ЧебурекДа-м6ф Хм, любопытно. Но вообще да, иногда Hardhat чудит, к сожалению
@chiklfkif
2 жыл бұрын
на хард хеде я могу использовать токены erc20?
@IlyaBodrovKrukowski
2 жыл бұрын
Ну конечно, это же просто платформа для разработки, а что там писать - дело ваше. Кстати, вот только недавно был стрим на канале про erc20, можете посмотреть запись
@humanart6987
4 ай бұрын
Просто оставлю свое мнение(да, оно никому не нужное)! По озвучке и количеству тем все хорошо, теперь что касаеться минусов: 1. Слабое обьяснение сути некоторых вещей - в уроке про интерфейсы если б я не знал их раньше никогда б не понял 2. Неувереность диктора! Это субэктивное мнение но когда вы говорите слова "кажеться", "наверное", "навернека" и т.д. много раз - это указывает на не полную компетентность в материале (на стримах это заметнее из-за вопрос не по теме но по Solidity) 3. Вставка кусков кода из не откуда и очень беглое обьяснение. Через урок я уже не помню что значить написаный код - это нормально для первого изучения материала но должно хотя б 20% оставаться в памяти 4. Нету последовательность в материале - мы сначала что то используем потом через урок это проходим Если вкратце резюмировать, то есть что улучшить и над чем поработать.
@IlyaBodrovKrukowski
4 ай бұрын
Спасибо за мнение. Правда этот урок уже устарел, в закрепе новая ссылка
@sergiogusio9413
Жыл бұрын
Нафига блокчейну фронт на ssr?
@IlyaBodrovKrukowski
Жыл бұрын
просто так
@РоманКоротков-з3ц
2 жыл бұрын
Спасибо большое за уроки. Хотел сказать, что часть кода, которая формирует папки, а как я понял - это if(!fs.existsSync(contractsDir)) { fs.mkdirSync(contractsDir) } - вообще не создаются в случае отсутствия. Я вручную сделал сам и сработало. Возможно я где-то накосячил, не знаю
@IlyaBodrovKrukowski
2 жыл бұрын
Должны создаваться. Если этого не происходит, видимо, какие-то проблемы с разрешениями (что-то запрещает скрипту сделать папку)
@Receive_
Жыл бұрын
У меня одного нет папки front?))
@IlyaBodrovKrukowski
Жыл бұрын
Её не должно быть, надо просто создать такую папку самостоятельно. Вообще она может как угодно называться
@Receive_
Жыл бұрын
@@IlyaBodrovKrukowski Это я уже понял позже). Просто в начале нужно было создать проект Next.js и он создаст папку. В данном уроке возникли сильные проблемы с пониманием синтаксиса, так как с react не знаком, да и в JS поверхностные знания. Стоит ли на этом остановиться и изучить вначале JS и react?
@IlyaBodrovKrukowski
Жыл бұрын
@@Receive_ Совсем необязательно, это можно потом сделать
@Anonimus_13
2 жыл бұрын
Почему вы переменную контракта именуете всегда с большой буквы? Это convention? const DutchAuction = await ethers.getContractFactory("DutchAuction", deployer); chainId у меня почему-то подставляется 31337, при исправлении на 1337 metamask выдает ошибку "Конечная точка вернула другой идентификатор цепочки: 31337"
@IlyaBodrovKrukowski
2 жыл бұрын
Обычно именуется так
@IlyaBodrovKrukowski
2 жыл бұрын
Насчёт chain ID - я забыл упомянуть вот этот момент hardhat.org/metamask-issue.html Напишу закреплённый комментарий
@ВладиславМізера
2 жыл бұрын
@Максим-щ2о6ч
2 жыл бұрын
const ERROR_CODE_TX_REJECTED_BY_USER = 4001 кажется, осталась не задействованной
@IlyaBodrovKrukowski
2 жыл бұрын
А, её можно обработке ошибок использовать. Если транзакцию отменил сам юзер, то можно выводить соответствующее сообщение или ничего не делать
Пікірлер: 69