Solidity-разработка

Присоединяйтесь к нашей программе обучения

Intro

В интернете доступно множество платных и бесплатных курсов по Solidity, а также огромное количество информации, в которой легко потеряться. Наша команда разработки прошла этот путь и основываясь на накопленном опыте, создала структурированную программу обучения. В компании есть успешный опыт создания подобных программ для фронтенд и бекендразработчиков, мы старались придерживаться этих традиций и внесли в программу свое видение, которое поможет поскорее пройти путь обучения от начала до самостоятельного плавания.

Почему Solidity и Ethereum?

Solidity — это основной язык разработки смарт-контрактов для блокчейнов, поддерживающих Ethereum Virtual Machine (EVM). Главным из таких блокчейнов является Ethereum, но существуют десятки других EVM-совместимых сетей, таких как Arbitrum, Optimism, Polygon, zkSync, Binance и многие другие. Ethereum сегодня это огромная, очень живая и динамично развивающаяся экосистема с очень мощным визионером в лице Виталика Бутерина и одним из самых сильных сообществ в мире блокчейна.

Наша компания сделала ставку на EVM с точки зрения бизнес-стратегии, но мы, как разработчики в первую очередь пошли осваивать новый, очень интересный мир не похожий ни на что другое. Это был вызов и большой эксперимент, но пока другие видели в криптосообществе только нфт, мемкоины и спекуляции мы осваивали сложные децентрализованные протоколы, разбирались в основах языка написания смарт-контрактов и безопасности, видели во всем этом не только разработку, но и сложные социальные системы издержек и противовесов, писали большое количество кода, технических статей и ... продолжаем все это делать.

Кому подходит программа и что нужно знать для старта?

Для прохождения программы обучения по Solidity участники уже должны обладать уверенными знаниями в области разработки. Рекомендуется иметь опыт работы с такими языками программирования, как JavaScript, TypeScript, Python, С или C++, поскольку они обеспечивают хорошую основу для понимания концепций, используемых в Solidity. Порогом входа является наличие не менее одного года опыта в разработке и понимание принципов объектно-ориентированного программирования. Опыт работы с любыми блокчейн-платформами, такими как Ethereum, или участие в разработке децентрализованных приложений (dApps) будет значительным преимуществом.

Навыки работы с инструментами разработки, такими как Git и командная строка, а также опыт написания тестов для кода обязательны для успешного прохождения курса.

Программа не предназначена для новичков; участники должны быть готовыми к интенсивному обучению, включающему сложные технические концепции и практические задания. Важно также уметь самостоятельно решать проблемы и работать с документацией.

Основная аудитория программы обучения – это разработчики с уже имеющимся опытом и пониманием основ программирования, желающие углубить свои знания и перейти к разработке смарт-контрактов на платформе Ethereum Virtual Machine.

Проверить свою готовность к прохождению программы можно тут

Структура курса

Программа включает в себя теоретическую и практическую части. Практические задания разбиты на 5 этапов. Ниже приведены средние сроки прохождения каждого этапа при активном изучении по 30-40 часов в неделю:

  • 1 задание — 1-3 недели

  • 2 задание — 1-3 недели

  • 3 задание — 1-4 недели

  • 4 задание — 1-2 месяца

  • 5 задание — 1-3 месяца

  • 6 задание — 1-2 месяца (рефакторинг и ревью)

  • 7 задание — 1-3 недели (теория)

Сроки приведены приблизительные и будут уточняться по мере сбора статистики по выпускникам. Даже если вы опытный разработчик в других языках, но в экосистеме Ethereum новичок, потребуется время для усвоения информации, а информации для изучения более чем достаточно.

Мы точно не будем ориентироваться на скорость прохождения, важно только качество знаний и полученных навыков.

Для прохождения курса необходимо выполнить все задания (рекомендуется сразу начинать с практики) согласно требованиям, которые описаны в этих заданиях. Основное ревью кода будет проводиться для заданий 4 и 5.

Первые три задания нацелены на глубокое изучение стандартов ERC20 и ERC721. Это основа, с токенами так или иначе придется работать в 90% проектов. Рекомендуется выполнять все эти задания тщательно, так как это сильно поможет в будущей работе.

Также эти задания нацелены на знакомство с блокчейном, особенностями web3-разработки, изучение основных инструментов и работу с ними.

Задания 4 и 5 нацелены на использование навыков, полученных в предыдущих заданиях. В четвертом задании нужно написать настоящий маркетплейс, как OpenSea или Rarible, хотя можно сделать чуть проще =).

Пятое задание — это Vault. Для его выполнения нужно будет не только знание языка, но и погружение в DeFi, разбор некоторых протоколов и проектирование рабочей стратегии для заработка токенов. Задание сложное, но интересное, оно также включает интеграции с внешними сервисами.

Последнее (6-е) задание подразумевает большой рефакторинг кода, сначала без нашего участия, с использованием лучших практик. Затем мы сделаем ревью кода и оставим замечания, которые нужно будет исправить.

Заключительная часть — сдача теоретических вопросов уровня junior-1. Мы подготовили минимальный набор вопросов, на которые должен ответить начинающий разработчик смарт-контрактов. От легких до интересных!

Всё что нужно для старта

Общение во время обучения проходит в Telegram-чате MetaLamp Solidity Education. В этом чате вы можете общаться с участниками и задавать вопросы

Сама программа размещена на Github. Этот репозиторий представляет собой карту развития разработчика смарт-контрактов под EVM-совместимые сети и включает в себя три уровня: junior 1, junior 2, junior 3. Пусть тебя это не смущает, потому что программа обучения включает в себя практические и теоретические задания только из junior 1.

Для прохождения курса необходимо выполнить все задания (раздел Practice) согласно требованиям, которые описаны в этих заданиях. Основное ревью кода будет проводиться для заданий 4 и 5 (Marketplace и Vault).

Рефакторинг и ревью

Выполнив 5 практических заданий, можно переходить к самостоятельному рефакторингу на основе лучших практик из нашей подборки или других, которые вы найдете сами.

После проведения рефакторинга напишите менеджеру программы в Telegram @lana_dulceva о готовности к прохождению ревью.

Один из наших опытных Solidity разработчиков проведет ревью кода и оставит замечания, которые нужно будет исправить.

Заключительная часть — сдача теоретических вопросов уровня junior-1.

менеджер программы обучения

По любым вопросам по программе обучения пишите Светлане в Telegram