С чего начать погружение в Solidity и web3
Пока я готовлю отдельный ресурс, где будет разбирать defi темы более детально, хочу написать пару постов для новичков в предверии следующего модуля курса.
Я регулярно отслеживаю новые курсы и школы по обучению Solidity и изучаю темы, которые там даются ученикам с самого нуля. И довольно часто я такой: "Да зачем это дают в начале?" или "С чего вообще решили мешать эти темы" и многие других вопросов по программе. Но больше всего напрягают заголовки, типа "Напишите свой токен на втором уроке!". Да, блин, какой токен, если ученик не понимает на кой хрен там используют маппинг для балансов или uint8 для decimals?!
Я понимаю, что достаточно много курсов "от разработчиков для разработчиков", но не все же приходят в web3 с техническими знаниями.
Хочу дать несколько советов в формате "забейте на..." тем, кто только собирается начать свой путь в разработке смарт контрактов. Вполне можете использовать это как роудмап.
1. Забейте на javascript, python и другие языки. Да, сам Solidity очень похож на js, но вовсе не обязательно знать другой язык, чтобы начать учиться разработке смарт контрактов.
Вообще, JS так или иначе нужно будет научиться понимать, если хотите "связывать" свой смарт контракт с веб сайтом. Так что если вы планируете стать полноценный фуллстек web3 разработчиком, то лучше начните свое обучение с JS, потом изучите TypeScript и React / Vue (можно также добавить css и фреймворки с ним связанные). На это уйдет года 2-3. Я имею ввиду не на изучение только синтаксиса языка, но, скорее, на некоторую практику.
После этого, да, изучение Solidity пойдет намного легче.
Также следует уточнить, что сейчас Solidity самодостаточный язык для разработки: вы можете как написать сами смарт контракты для них, так и провести тесты, так и аудировать их. Другими словами получить 3 разных профессии, зная только Solidity.
2. Забейте на информацию по устройству и работе EVM. В этой теме можно копаться больше года и постоянно изучать новую информацию. Одно лишь но: чем больше вы погружаетесь в работу EVM, тем больше откладываете изучение Solidity.
На первых этапах вам вовсе необязательно знать, что такое газ, как его сэкономить, или различия в консенсусах. Это как: вам не нужно знать устройство электрики во всем вашем доме, чтобы прикрутить розетку.
Так или иначе вы будете погружаться в EVM по мере своего обучения Solidity. И проще по крупицам получать новую информацию, чем потонуть в ней с самого начала.
3. Забейте на современные редакторы кода и плагины для них. Для первых шагов с Solidity вас достаточно прекрасного онлайн редактора кода Remix IDE.
Он хорош как минимум по двум причинам: во-первых, все визуально настроено и вы можете вызывать функции из своего контракта прямо из Ремикса (и не нужно писать тесты, как это делается в обычном редакторе кода для проверки работоспособности контракта), а во-вторых, вы научитесь работать с ошибками и смотреть в терминал, ту штуку, которая отображает ход выполнения вызовов в функциях.
4. Начните с изучения синтаксиса Solidity.
Смарт контракты в блокчейне нельзя редактировать после загрузки в сеть. И каждая ошибка будет стоить вам ваших денег. Бездумно скопировав чужой код токена или nft, может принести вам куда больше проблем, чем вы можете представить.
Каждый элемент языка, каждый тип данных или область видимости функций играет важную роль в безопасности вашего контракта. Вы должны ясно понимать, что и как использовать! Именно поэтому весь первый модуль мы учим типы данных и составные части смарт контрактов.
Не просто просматривайте ролики на Ютуб, а именно практикуйтесь в редакторе Ремикс.
По сути, вы можете взять программу первого модуля и использовать ее как свои первые шаги.
И только когда поймете, что разбираетесь в синтаксисе достаточно уверенно, то переходите к изучению простейших стандартов токенов, типа ERC20 или ERC721.
Надеюсь эти советы помогут вам не зарываться в куче информации, а сразу приступить к изучению базовых элементов.
#start
Post #1107
1.25K
- ❤ 5
- 🔥 3
- 👍 1