Друзья, пару ВАЖНЫХ моментов. Mapping может быть входным и выходным значением для функций internal/private (тк они несколько иначе реализуются и работают). Но для public/external - нет. И всё-таки одна досадная ошибка в видео вкралась. Вопрос 14 (область видимости по умолчанию) - правильный ответ "internal", тк в наследуемых контрактах такая переменная будет видна contract C1{ uint test = 42; } contract C2 is C1 { function demo() external view returns(uint) { return test; } } Прошу прощения.
23:39. На самом деле есть ещё один способ, а именно напрямую задавать массив целиком. Что-нибудь на подобие следующего: uint[2] public arr; // Или динамический uint[] public arr; function()... { arr = [3,4]; assert(arr[0] == 3 && arr[1] == 4); }
Есть большая просьба, сделайте, пожалуйста, видео о том как писать таски для сети hardhat, а так же таски для контракта загруженного в тестовую сеть например rinkeby
Спасибо за видео! Приятно было понять, что могу ответить на все вопросы, после того как посмотрел Ваши обучающие видео и самостоятельно решил все задачки на Ethernaut. Жду второй части)
Ну, это были именно простые вопросы, потом посложнее будет. В идеале знать ещё основные атаки, низкоуровненые вызовы, инструкции assembly, плюс сопутствующие инструменты (hardhat, ethers, тесты и тп). Совсем хорошо, если знаете фронт
Если это так, то желаю удачи. Вопросы тут далеко не все, обязательно подняните call/delegatecall и безопасность, это очень важно. Yul вряд ли будут спрашивать, но мало ли
2:09. Вроде посмотреть с помощью etherscan можно исходные коды только лишь тех контрактов, владельцы которых верифицировали и опубликовали их там. Если они этого не сделали, доступен только bytecode или opcode, в котором я, например, вообще ничего не понимаю.
19:40 Пять раз прослушал и не понял) Вопрос: Должен ли адрес быть помеченным payable, если я хочу перевести на него токены с помощью функции transfer. Ответ: нет. Адрес должен быть помечен как payable если мы хоти перевести на него ефиры с помощью функции transfer.🤔🤔🤔
Вроде всё просто: если нужно перевести на адрес токены, то не надо писать payable(addr). Но если надо туда кинуть эфиры через transfer, то тогда payable(addr).transfer
Ну, это простые вопросы, которые надо понимать 100% :) Попозже будет ещё 50. Если всё это знаете, то вполне можно поискать какие-то варианты, хотя бы постажироваться
А зачем нужны сайты? Какую пользу приносят? Пришёл ногами в организацию или к человеку, на месте во всём разобрались, всё порешали. А если телефон нужен, чтобы договориться о встрече, - так есть же телефонные справочники.
Друзья, пару ВАЖНЫХ моментов.
Mapping может быть входным и выходным значением для функций internal/private (тк они несколько иначе реализуются и работают). Но для public/external - нет.
И всё-таки одна досадная ошибка в видео вкралась. Вопрос 14 (область видимости по умолчанию) - правильный ответ "internal", тк в наследуемых контрактах такая переменная будет видна
contract C1{
uint test = 42;
}
contract C2 is C1 {
function demo() external view returns(uint) {
return test;
}
}
Прошу прощения.
Ф@❤❤❤ф❤ф😊й❤❤
❤😊😊❤❤❤😊фуфффф@ф@ф@@ф@@ф@ф@@@фффффффвай вай🎉🎉как вайкуле❤фф@фф@@@@ф@ф@@@ф@фф@фффффф❤ф@ф@❤@ф
Лучшее, что есть по этой теме. Спасибо за ваш труд!
23:39. На самом деле есть ещё один способ, а именно напрямую задавать массив целиком. Что-нибудь на подобие следующего:
uint[2] public arr;
// Или динамический uint[] public arr;
function()... {
arr = [3,4];
assert(arr[0] == 3 && arr[1] == 4);
}
Это видео выпало из плейлиста с уроками по solidity, добавьте для удобства, пожалуйта.
Сейчас сделаю
можете сделать урок по фреймворку Foundry - в ру сегменте ютуба еще не было видеороликов
foundry.elixirgraphics.com/ - вот этот? Если честно, я его впервые вижу
Лайк префаером! Пока на 6 уроке еще! Спасибо за контент!
Спешить не стоит, тут уже обобщение изученного
а будет видео о взаимодействии с мемори пулом? как считывать данные, подписываться на транакции и т.д. Думаю многим будет интересно.
Пока не планировал, но посмотрим
Продолжай! Великолепный контент!
Шикарно, спасибо большое за материал!
Есть большая просьба, сделайте, пожалуйста, видео о том как писать таски для сети hardhat, а так же таски для контракта загруженного в тестовую сеть например rinkeby
Постараюсь!
Спасибо за видео! Приятно было понять, что могу ответить на все вопросы, после того как посмотрел Ваши обучающие видео и самостоятельно решил все задачки на Ethernaut. Жду второй части)
Ну, это были именно простые вопросы, потом посложнее будет. В идеале знать ещё основные атаки, низкоуровненые вызовы, инструкции assembly, плюс сопутствующие инструменты (hardhat, ethers, тесты и тп). Совсем хорошо, если знаете фронт
@@IlyaBodrovKrukowski Илья, а фронт ты подразумеваешь js, react, html, css?)
@@MrStrangewow Да
То что нужно, скоро собеседование ! :)
Йоу, а как насчет того, чтобы пообщаться на эту тему?
Если это так, то желаю удачи. Вопросы тут далеко не все, обязательно подняните call/delegatecall и безопасность, это очень важно. Yul вряд ли будут спрашивать, но мало ли
Спасибо
Топ контент
Лайк несмотря.
2:09. Вроде посмотреть с помощью etherscan можно исходные коды только лишь тех контрактов, владельцы которых верифицировали и опубликовали их там. Если они этого не сделали, доступен только bytecode или opcode, в котором я, например, вообще ничего не понимаю.
В целом, вы правы. Но при этом код-то доступен Да, это байткод, но при желании можно понять, что он делает, поэтому просто об этом стоит помнить
19:40 Пять раз прослушал и не понял) Вопрос: Должен ли адрес быть помеченным payable, если я хочу перевести на него токены с помощью функции transfer. Ответ: нет. Адрес должен быть помечен как payable если мы хоти перевести на него ефиры с помощью функции transfer.🤔🤔🤔
Вроде всё просто: если нужно перевести на адрес токены, то не надо писать payable(addr). Но если надо туда кинуть эфиры через transfer, то тогда payable(addr).transfer
@@IlyaBodrovKrukowski спасибо за ответ. В смысле есть разница токены проекта переводить через transfer и эфир?
@@Receive_ Перевод эфира != перевод токенов, да
@@IlyaBodrovKrukowski спасибо, что каждый раз помогает разобраться. Я этого не знал.
Обязательно поступлю учится в москоу кодинг скул )
Что ж, welcome :) Мои стримы и семинары каждую неделю
Смог ответить на всё вопросы, я уже смешарик?)
Ну, это простые вопросы, которые надо понимать 100% :) Попозже будет ещё 50. Если всё это знаете, то вполне можно поискать какие-то варианты, хотя бы постажироваться
Не понятно о чем речь. Вот руби- понимаю - создаем сайты. А это что за хрень Солидити. Что за контракты. Какую пользу приносит это программирование.
Ну погуглите Ethereum, криптовалюты, вот это вот всё
Мда, русские конечно деградируют быстрее, чем я думал...
А зачем нужны сайты? Какую пользу приносят? Пришёл ногами в организацию или к человеку, на месте во всём разобрались, всё порешали. А если телефон нужен, чтобы договориться о встрече, - так есть же телефонные справочники.