Обучение в The Interchain Developer Academy
Оглавление
- Вступление
- Что есть Академия
- Регистрация на курс
- Вступительное испытание и требования к подготовке
- Как проходит обучение
- О самом учебном материале
- Экзамен
- Трансляции
- Что дает обучение в Академии
- Заключение
Вступление
Автор статьи успешно завершил обучение в The Interchain Developer Academy (далее - Академия) и хочет похвастаться поделиться информацией о том, как оно вообще проходит. Статья будет полезна тем, кто планирует влиться в разработку в экосистеме Cosmos и думает о вступлении в Академию.
Что есть Академия
Академия - это 6-недельный (время на освоение основного материала, не включая экзамен) курс, затрагивающий основы разработки апп-чейна (app-chain, application-specific blockchain - блокчейн, создаваемый под какой-либо конкретный функционал) в экосистеме Cosmos с использованием таких инструментов, как:
- Cosmos SDK (фреймворк для построения блокчейна на основе набора готовых модулей);
- Ignite CLI (инструмент, упрощающий процесс разработки с использованием Cosmos SDK);
- CosmJS (библиотека для создания клиентских приложений).
Также в курсе дается теоретический минимум по технологии блокчейна, рассматривается архитектура апп-чейна на Cosmos SDK.
В процессе обучения студентам предстоит самостоятельно освоить специально подготовленный материал, пройти тесты и сдать экзамен.
Программа рассчитана на 10 часов самостоятельной работы в неделю. Обучение бесплатное.
Курс разрабатывается и курируется командой B9lab при финансовой поддержке Interchain Foundation. Также в организационном процессе принимает участие Noam Cohen из Interchain GmbH (подразделение Interchain Foundation), координирующий адаптацию и обучение разработчиков в экосистеме Cosmos.
Регистрация на курс
Чтобы записаться на курс, нужно подать заявку на сайте Академии:
На обучение набирается группа численностью несколько десятков студентов приблизительно раз в 4 месяца. Количество мест на каждый поток ограничено, поэтому не стоит затягивать с регистрацией.
Вступительное испытание и требования к подготовке
После подтверждения почты придет ссылка на вступительный тест, который будет проводиться на платформе HakerRank.
Предварительно нужно будет заполнить анкету, в которой просят рассказать о вашем уровне подготовке, целях обучения и т.п.
Сам тест состоит из двух задач на программирование и десяти вопросов на тему Computer Science - на все отводится 90 минут. За каждую задачу дают по 50 баллов, а за каждый вопрос - 5 баллов, т.е. всего можно набрать 150 баллов. Чтобы успешно пройти тест, нужно получить 135 или более баллов. Задачи несложные, язык можно выбрать на свой вкус (автор статьи кодил на Javascript и не имел никаких проблем). Чтобы проверить корректность решения задачи, будет предложено запустить тесты. Вопросы также не должны вызвать затруднений у студентов с техническим бэкграундом, да и гуглить никто не запрещает. Времени на все хватает с избытком.
По окончании тестирования на почту приходит подтверждение и остается ждать результатов.
Что касается требований к подготовке для прохождения курса, то минимумом можно считать знание Golang или Typescript (первый нужен для работы с Cosmos SDK, второй - для CosmJS). Владея одним из двух языков, несложно по-быстрому освоить на базовом уровне другой, чтобы иметь возможность понимать код. Автору статьи хватило одного дня изучения Golang, чтобы сдать экзамен.
Как проходит обучение
Незадолго до начала программы приходит письмо с организационной информацией. После присоединения к Discord серверу Cosmos Network и верификации аккаунта...
Учебный материал представлен в текстовом виде и находится в свободном доступе. На GitHub выложены репозитории учебных проектов, поэтому всегда есть возможность подгрузить рабочий код и не сойти с трека.
В конце первой и второй недели проводится промежуточное тестирование на уже знакомой платформе HakerRank. Задания не доставляют проблем - это такая проверка, что студент не потерял интерес к обучению.
О самом учебном материале
Материал состоит из шести основных и одного опционального разделов, на освоение каждого из которых отводится по неделе:
- Опциональный раздел. Основы блокчейн технологии, базовые понятия криптографии, понятие консенсуса в распределенных сетях. Завершается необязательным квизом.
- Экосистема Cosmos и отличительные особенности ее блокчейнов, архитектура апп-чейна, устройство Cosmos SDK.
- Про установку инструментов (Golang, Rust, Nodejs, Docker, VSCode) и начало практической работы с Cosmos SDK и Ignite CLI на примере апп-чейна для игры в шашки. По мнению автора статьи в разделе не хватает информации про то, что пользователям Windows для дальнейшей работы придется установить WSL2 - по крайней мере, у нескольких студентов возникали вопросы по этому поводу.
- Продолжение разработки апп-чейна с Cosmos SDK и Ignite CLI, а также один урок про добавление в него CosmWasm смарт контракта. Следует понимать, что этот курс не про CosmWasm вовсе, а здесь всего лишь демонстрация возможности деплоя смарт контракта в апп-чейн.
- Отдыхаем от шашек - подробный теоретический блок (но с примерами кода) про работу IBC.
- Написание клиентской части на CosmJS и работа с кошельком Keplr.
- Завершение работы над апп-чейном - доработка пользовательского интерфейса и написание сервера-индексатора.
Учебный график нестрогий, от него можно отклоняться - важно вовремя сдавать тесты и проработать материал до экзамена (дата его начала известна заранее).
Экзамен
Продолжительность экзамена - 2 недели (может быть увеличена, если будет проводиться дополнительный набор учащихся). Для его успешного прохождения необходимо завершить 3 упражнения (100 % прохождение юнит-тестов). Рабочий процесс примерно такой:
- Получаете доступ к репозиториям на GitLab и клонируете себе проект.
- Вносите в проект изменения согласно заданию и ожидаемому в тестах поведению.
- Запускаете тесты в своей среде и Docker.
- Пушите проект на GitLab, где CI/CD процесс запускает тесты.
В 1-ом упражнении надо будет написать немного кода на Golang; во 2-ом поработать с Ignite CLI; в 3-ем добавить функционал на Typescript (возможно, в будущем задания изменятся, но для первого потока было так).
В целом экзамен простой, можно сделать все за выходные.
Трансляции
В течение экзаменационного периода проводятся трансляции интервью с представителями команд экосистемы Cosmos, где можно узнать о самих проектах и позадавать свои волнующие вопросы.
Студенты первого потока имели возможность пообщаться с представителями Interchain GmbH, Evmos, Osmosis Labs, Celestia, ixo World, Informal Systems. Записи трансляций доступны всем.
Что дает обучение в Академии
Итак, мы выяснили, что:
- Курс основан на материалах, хранящихся в свободном доступе.
- Тесты и экзамен просты и служат для поверхностной проверки приобретенных знаний.
- Трансляции с командами экосистемы могут посмотреть не только студенты Академии.
- В противовес всему вышеперечисленному - студенты получают плюшки в виде помощи кураторов; общения с сокурсниками; доступа к доске вакансий (на момент написанию статьи это еще не реализовано) и новых эвентах экосистемы; а также значок выпускника, ссылку на который можно добавить в свои профили в социальных сетях.
По мнению автора статьи нет принципиальной разницы между полностью самостоятельным обучением и участием в Академии, но для многих последний вариант может быть предпочтительнее (особенно с учетом того, что попасть в нее не так сложно).
Так какого уровня знания получает выпускник и на что он может рассчитывать? На выходе студент имеет: представление об архитектуре и работе «космических» блокчейнов, понимание рабочего процесса и навыки использования инструментов, умение ориентироваться в существующем проекте и вносить в него изменения - отличный задел для дальнейшего совершенствования своих скиллов. Стоит потренироваться на пет-проектах и можно приступать к поиску работы!
Заключение
Вывод можно сделать такой: если хотите приобщиться к разработке апп-чейнов в экосистеме Cosmos и дополнительно получить возможности нетворкинга - смело подавайте заявку в Академию. Ну а если не успели или не прошли, то не отчаивайтесь и изучайте материал самостоятельно.
Если есть вопросы или пожелания, пишите @defailt_handle (Telegram)/M. Daeva#3933 (Discord). Спасибо за внимание!