В интернете доступно множество платных и бесплатных курсов по 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
. Этот репозиторий представляет собой карту развития разработчика смарт-контрактов под EVM-совместимые сети и включает в себя три уровня: junior 1, junior 2, junior 3. Пусть тебя это не смущает, потому что программа обучения включает в себя практические и теоретические задания только из junior 1.
Для прохождения курса необходимо выполнить все задания (раздел Practice) согласно требованиям, которые описаны в этих заданиях. Основное ревью кода будет проводиться для заданий 4 и 5 (Marketplace и Vault).
Рефакторинг и ревью
Выполнив 5 практических заданий, можно переходить к самостоятельному рефакторингу на основе лучших практик из