• [ Регистрация ]Открытая и бесплатная
  • Tg admin@ALPHV_Admin (обязательно подтверждение в ЛС форума)

Как войти в Solidity разработку в 2024г

admin

#root
Администратор
Регистрация
20.01.2011
Сообщения
7,665
Розыгрыши
0
Реакции
135
Основы входа:
  1. Необходимо базово знать, как работают обычные web 2.0 приложения, понимать, какой код будет выполняться на сервере, а какой на клиенте, как взаимодействуют бекенд и фронтенд;
  2. Познакомиться с предметной областью: что такое Blockchain - любой бесплатный курс или учебник. Знать, в чем революционное отличие Ethereum от Bitcoin, понимать существующие алгоритмы консенсуса и разницу между ними, знать, что такое смарт-контракт;
  3. Изучить криптографию Для просмотра ссылки Войди или Зарегистрируйся
  4. Прочитать документацию по Ethereum Для просмотра ссылки Войди или Зарегистрируйся
  5. Прочитать документацию по Solidity Для просмотра ссылки Войди или Зарегистрируйся
  6. Попробовать позапускать примеры смарт-контрактов в он-лайн среде Для просмотра ссылки Войди или Зарегистрируйся, почитать документацию по Remix Для просмотра ссылки Войди или Зарегистрируйся, освоить дебаггер и статический анализатор;
  7. Изучить библиотеку контарктов Для просмотра ссылки Войди или Зарегистрируйся и их возможности;
  8. Освоить фреймворк для разработки и тестирования смарт-контрактов, настроить себе локальную среду разработки и тестирования, выбор фреймворка эффективно делать исходя из того, знаете ли вы еще и JavaScript или нет: если знаете - берите hardhat - он проще для входа, если не знаете - берите foundry - он мощнее, и работая с ним можно не знать других языков кроме Solidity.
  9. Научиться писать юнит-тесты в выбранном фреймворке;
  10. можно посмотреть 32-часовой курс от FreeCodeCamp Для просмотра ссылки Войди или Зарегистрируйся для обобщения всего вышепрочитанного;
  11. Для просмотра ссылки Войди или Зарегистрируйся - изучить документацию и уроки от Alchemy.
  12. выучить все типовые уязвимости смарт-контрактов, отработать их в своей локальной среде разработки;
13. Порешать задачки Для просмотра ссылки Войди или Зарегистрируйся
  1. порешать все задачи с Для просмотра ссылки Войди или Зарегистрируйся;

Разработчик со знанием одного лишь Solidity нужен на проектах очень редко, поэтому дальше нужно определиться, что вам ближе: фронтенд, бекенд или DevOps и в соответствии с этим вам нужен разный стек:

1.1 Если вам ближе фронтенд, нужно ориентироваться на вакансии, которые обычно называются Web3 - разработчик.
  1. изучить нативный javascript хотя бы до уровня написания обработчика нажатия кнопки, знать, как работают async await, изучить фронтенд фреймворк типа React;
  2. прочитать документацию по библиотеке web3 Для просмотра ссылки Войди или Зарегистрируйся, а так же по библиотеке ethers.js Для просмотра ссылки Войди или Зарегистрируйся
  3. научиться интегрировать популярные кошельки (хотя бы metamask) верстку сайта и вызывать с фронтенда функции смарт-контракта;

1.2 Если вам ближе бекенд, нужно ориентироваться на вакансии, которые обычно называются: бекенд-разработчик <такой-то язык>, а в описании вакансии обычно упоминается, что специфика проекта связана с блокчейн.

1. Выучить 1 язык/платформу из списка (эти языки чаще всего используются для бекенда в блокчейн-проектах): node.js (JavaScript/TypeScript), Python, Java, Kotlin, C#, Go - их используют +- одинаково часто, но по ощущениям Go начинает лидировать.
  1. Найти библиотеку для работы с web3 для выбранного языка и разобраться, как на ней взаимодействовать со смарт-контрактами Solidity
  2. Разобраться как написать на выбранном языке написать интеграционный микросервис, который будет работать между централизованным бекендом приложения и блокчейном.

1.3 Если вам ближе DevOps, то нужно смотреть на вакансии, которые обычно называются Blockchain Engineer - они самые высокооплачиваемые и самые сложные.
  1. немного познакомиться с Linux: Ubuntu, основами командной строки;
  2. немного поучить Python в сторону автоматизации рутинных операций системного администрирования;
  3. разобраться как используя Kubernetes поднять свою Blockchain - сеть на основе популярных Ethereum-клиентов Для просмотра ссылки Войди или Зарегистрируйся, как поддерживать консенсус в сети.
  4. разобраться, на чем написаны популярные опенсорсные Ethereum-клиенты, немного поучить эти ЯП и попытаться контрибьютить в эти клиенты (потому что в реальной работе придется их модифицировать).
  5. Научиться настраивать GitLab пайплайн для web3-фронтенда, централизованного бекенда, модифицированного Ethereum-клиента.

Вне зависимости от выбранного направления развития:
  1. выучить алгоритмы - подойдет любой курс или учебник.
хороший бесплатный курс от Яндекса: Для просмотра ссылки Войди или Зарегистрируйся
  1. Порешать задачки с Для просмотра ссылки Войди или Зарегистрируйся на эти алгоритмы, помнить наизусть сложность алгоритмов, потому что следующим шагом мы идем на собес;
  2. сходить на собес, ходить на собес после каждого следующего шага и кроме выполнения следующих шагов, разбирать для себя вопросы, на которые не смог ответить на собесе;
  3. поучаствовать в любом хакатоне: Для просмотра ссылки Войди или Зарегистрируйся и заодно написать пет-проект (идеи: NFT-коллекция, ферма, приложение для криптовалютного арбитража, платежный крипто-модуль для интернет-магазина на любом движке, свой токен ERC20, приложение для постановки крипто-кошельков на автовывод);
  4. устроиться на работу (уже давно должны взять) и дальше уже расти в том более узком стеке, в котором работает команда;
  5. если не удалось устроиться на нормальную работу - можно пойти работать за еду в стартап, которых огромное количество;
  6. где искать работу и проекты:

Кроме того, существует направление аудита смарт-контрактов Solidity и децентрализованных приложений. Отличный бесплатный курс:
Для просмотра ссылки Войди или Зарегистрируйся

Так же на Boosty по подписке Программист доступны материалы моих курсов, которые я раньше давала для группы:
by: Юлия Бедросова.
 
Activity
So far there's no one here
Сверху Снизу