Работа со смарт-контрактами Ethereum с помощью Ethers.js

  Рет қаралды 9,492

Ilya Krukowski

Ilya Krukowski

Күн бұрын

Пікірлер: 32
@AleksandrX
@AleksandrX 2 жыл бұрын
Спасибо вам большое за этот контент! Очень доходчиво и информативно
@404piano
@404piano 2 жыл бұрын
Гуд, уже плейлист хороший получается
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Ну, стараюсь :) Думаю, ещё будет по ethers одна тема точно, потом тесты
@bleedingdev9389
@bleedingdev9389 2 жыл бұрын
Спасибо, видос! Очень хочется копи-пастнуть код контракта, с гиста например
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Поищу, может быть, где-то остался
@alexsoft999
@alexsoft999 2 жыл бұрын
Одолел, спасибо было интересно узнать как вызывать контракты.
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
@dmytrosapozhnyk1963
@dmytrosapozhnyk1963 2 жыл бұрын
Снимаю перед вами шляпу, спасибо за материал!
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Спасибо
@ДанилаПисарев-л2х
@ДанилаПисарев-л2х 2 жыл бұрын
Приветствую! Выражаю благодарность за это полезное видео! Подскажите, пожалуйста, есть ли удобное расширение для работы с ether и со смарт контрактам и целом, где есть сниппеты, описания методов и тд ?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Metamask - расширение для браузера. А про методы - ну, документацию читать, разве что
@ЕвгенийКирьянов-я8ы
@ЕвгенийКирьянов-я8ы 2 жыл бұрын
Добрый день. Огромное спасибо за полезные видео. Некоторые вещи под вашим углом зрения стали более понятны. Я разрабатываю ПО на Golang и мне очень интересна работа со смарт-контрактами на из Golang. Я разбираюсь с этим самостоятельно достаточно успешно. Но есть один вопрос, касательно работы с узлом блокчейна. Правильно ли я понял что js каждый раз выполняет подключение к узлу или есть возможность создать коннект единожды и использовать его в приложении? Какие на этот счёт лучшие практики для js?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Он каждый раз шлёт новую транзакцию просто, там особо других вариантов нет, по-моему
@googleadmin4749
@googleadmin4749 2 жыл бұрын
19:19 можно использовать для обфускации кода
@yevheniimoskalenko1624
@yevheniimoskalenko1624 2 жыл бұрын
круть, продолжай пожалуйста
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Буду стараться!
@ЮрийОбухов-д1и
@ЮрийОбухов-д1и Жыл бұрын
Подскажите пожалуйста, а для чего в у Вас при вызовах функции main идут блоки then и catch + process.exit
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski Жыл бұрын
Ну, это стандартная история, что если в процессе произошла ошибка, мы просто выходим. Это специфика Node. Главная функция асинхронная, поэтому можно делать then-catch. Кроме того, нам вообще нужно в терминале дождаться, пока она отработает, а на это может уйти время
@googleadmin4749
@googleadmin4749 2 жыл бұрын
25:12 я вообще потерял связь с реальностью как это работает, если в первом случае 19:19 мы явно принимаем отправителя и сумму перевода, то в этом мы получается кодируем адрес в uint отрезая первые 160 байт и передаем как аргумент в транзакции, при этом контракт получатель считает переданный адрес отправителем? Магия какая-то) Думаю слишком быстрое переключение между контрактами и выборе из адресов, это не позволяет как на первых уроках понять какой порядок манипуляций производиться, в любом случае на это уходит больше мозговой активности которую есть куда распределить, пересматривал пару раз эти участки. Еще использование слов типа "Перехватывание" при реализации атаки, не совсем корректным считаю, сбивает с толку, мы "инъекцию" проводим, или перезапись значения, значение этих слов содержит в себе понятие совсем противоположных процессов, по этому понять было сложно. А если будет сложно понять и без того не простые знания, мотивация у зрителей будет как в меме "Ну нах! изучать Solidity! буду проституткой!" = ) Процесс происходит следующим образом как я понял: 1) Через contract "Hack" отправляем закодированный адрес в uint отрезая первые 160 байт (вместо метки времени) toHack.delCallGetData(hakadress) 2) contract "MyContract" через delegatecall хочет записать метку времени в contract "AnotherContract" 3) Но так как порядок переменных ( "лей аут" ) установлен не верно, происходит запись переменной otherContract вместо at (просто потому при определении стоят не верно) 4) Далее еще раз выполняется из contract "Hack" - toHack.delCallGetData(0) что просто заполняет переменную at меткой времени 4) Ну и так как переменная otherContract теперь содержит адрес инициатора транзакции, а именно хакерского контракта contract "Hack" то все функции наследованы из contract "AnotherContract" мы просто переопределяем ее изменив внутреннюю логику на замену owner владельца контракта на своего : function getData(uint _timestamp) external payable { owner = msg.sender; } Я верно все понял?
@kib2805
@kib2805 2 жыл бұрын
Вроде делаю все тоже но почему у меня в консоли все цифры в Hex формате и как это поменять чтобы как на видео было
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
toString()?
@kib2805
@kib2805 2 жыл бұрын
@@IlyaBodrovKrukowski нет когда выводится result у вас удобоваримые цифры а у меня gasPrice: BigNumber { _hex: '0x2dc334aa', _isBigNumber: true },
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
@@kib2805 Интересно. Можно попробовать hardhat обновить
@yevheniimoskalenko1624
@yevheniimoskalenko1624 2 жыл бұрын
можешь сказать, что нужно искать для того чтобы взаимодействовать с смарт контрактом и веб сайтом?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Не очень понял вопроса. Ethers.js как раз и используется для этого. Он позволяет подрубиться к нужному блокчейну и там делать всё, что требуется. Ну, фронтэнд сам пишется на любом фреймворке типа React или Angular. Думаю, про это ещё будет стрим отдельно
@yevheniimoskalenko1624
@yevheniimoskalenko1624 2 жыл бұрын
@@IlyaBodrovKrukowski тупонул
@yevheniimoskalenko1624
@yevheniimoskalenko1624 2 жыл бұрын
слушай а что, это плохая идея делать смарт контракт на bep20 для ICO?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
Не скажу точно
@yevheniimoskalenko1624
@yevheniimoskalenko1624 2 жыл бұрын
@@IlyaBodrovKrukowski ок, ещё когда планируешь снять видео как Смарт контракт работает с front?
@IlyaBodrovKrukowski
@IlyaBodrovKrukowski 2 жыл бұрын
@@yevheniimoskalenko1624 Стримы планирует школа, так что тут зависит от соглашений - в первом приближении, в следующем месяце, я думаю
Hardhat, Ethers.js, Rinkeby, Alchemy, Etherscan
30:56
Ilya Krukowski
Рет қаралды 5 М.
Web3 для фронтенд-разработчика
13:28
Evrone Development
Рет қаралды 2 М.
Twin Telepathy Challenge!
00:23
Stokes Twins
Рет қаралды 121 МЛН
The Ultimate Sausage Prank! Watch Their Reactions 😂🌭 #Unexpected
00:17
La La Life Shorts
Рет қаралды 8 МЛН
Long Nails 💅🏻 #shorts
00:50
Mr DegrEE
Рет қаралды 17 МЛН
DeFi. Работа со смарт контрактом на Solidity напрямую из эксплорера.
1:48:53
[ AK74-Lab ] На обратной стороне крипты...
Рет қаралды 7 М.
Блокчейн разработчик. О курсе
19:27
Metauniver
Рет қаралды 1,6 М.
Артем Воробьев - Ethereum & DeFi for JS developer
59:55
HolyJS — конференция для JavaScript‑разработчиков
Рет қаралды 1 М.
Twin Telepathy Challenge!
00:23
Stokes Twins
Рет қаралды 121 МЛН