Обучение
October 21, 2023

Как начать свой путь в мире blockchain-разработки?

ПЛАН

  1. Пролог
  2. Введение в Blockchain
  3. Про технологию "blockchain" и его модификации
  4. Какие языки программирования изучают для blockchaina?
  5. Плагины для разработки и не только - VS Code & Pycharm
  6. Библиотеки для blockchain-разработки
  7. Инструменты blockchain-разработчика (GitHub, LeetCode etc)
  8. Бесплатные и платные курсы по blockchain-разработке
  9. Дополнительные материалы для разработчиков
  10. Эпилог

ПРОЛОГ

🙋Добро пожаловать на первую long-read статью на канале Vartcall, в данном материале я пошагово разберу как начать свой путь в мире блокчейна и блокчейн-разработки.

Статья полностью написана исходя из опыта и наблюдений автора

Автор начал свой путь в разработке еще 7 лет назад, когда впервые познакомился с синтаксисом языка python и начал разрабатывать первые игры

В 2022 году автор перешел на блокчейн-разработку и делиться своим опытом и путем в разработке со своими зрителями в Telegram-Канале 🙏

Всем приятного чтения, выписывайте, сохраняйте, практикуйтесь!

1. ВВЕДЕНИЕ В BLOCKCHAIN

текст далее

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

Согласно экспертам из Statista, рынок блокчейна переживает впечатляющий бум. Ведь если в 2017 году он оценивался всего в миллиард долларов, то к 2027 году его стоимость прогнозируется свыше 167 миллиардов долларов.

Интересный факт: исследование Бюро статистики труда США прогнозирует рост числа рабочих мест в сфере программной разработки на 22% с 2020 по 2030 год.

Спрос на экспертов в области блокчейн-решений увеличивается из года в год. Лишь в 2022 году спрос на разработчиков в этой отрасли вырос на 552%.

И даже компании уже вынуждены писать инструкции о том, как привлечь в свои ряды квалифицированных разработчиков. Согласно исследованию DevSkiller, наиболее ценным навыком для блокчейн-разработчика является знание языка программирования Solidity.

Добро пожаловать на первую лонгрид-статью по блокчейну и разработке.

Статья была написана автором канала Vartcall 🠔

Всем приятного чтения!

2. ПРО ТЕХНОЛОГИЮ BLOCKCHAIN

Блокчейн: Децентрализация и Безопасность в Простых Словах

В мире современных технологий слово "блокчейн" стало всё более распространенным и заинтересовало множество людей.

Блокчейн – это технология, которая взяла своё начало с криптовалюты, но теперь оказывает влияние на множество других сфер. Давайте поговорим о том, что такое блокчейн, как он работает, почему считается безопасным и в чем смысл его децентрализации. Мы также рассмотрим разные механизмы блокчейна, включая POW, POS и другие, а также технологию Zero-Knowledge (ZK) и её модификации. В конце, мы разберем, из чего состоит блокчейн и как он функционирует.

Что такое блокчейн?

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

Как работает блокчейн?

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

Почему блокчейн безопасен?

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

Успех децентрализации

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

Механизмы консенсуса

- Proof of Work (POW): Этот механизм требует, чтобы участники сети решали сложные математические задачи для создания новых блоков. Это обеспечивает безопасность, но требует большого объема вычислительных ресурсов и энергии.
- Proof of Stake (POS): В POS участники вносят свои монеты в залог, чтобы иметь право создавать блоки и валидировать транзакции. Этот механизм более эффективен с точки зрения энергопотребления и экологии.
- Delegated Proof of Stake (dPOS): Это модификация POS, где выбранные участники сети (делегаты) создают блоки и валидируют транзакции.

Технология Zero-Knowledge (ZK) в блокчейне

Zero-Knowledge (ZK) – это криптографическая технология, позволяющая доказать знание информации без раскрытия самой информации. В блокчейне, ZK может использоваться, чтобы подтвердить выполнение условий сделки без раскрытия деталей этой сделки. Это повышает конфиденциальность и безопасность транзакций.

Модификации ZK в блокчейне

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

🧠 Теперь давайте глубже погрузимся в некоторые из модификаций технологии ZK

🔍 ZK-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge):
Первой из них является ZK-SNARKs - с этой технологией, участник может доказать, что он обладает определенным знанием или данными, не раскрывая их самих. Это имеет огромное значение в контексте блокчейна, так как позволяет создавать абсолютно прозрачные и проверяемые системы, не раскрывая личные данные.

🌟 ZK-STARKs (Zero-Knowledge Scalable Transparent Argument of Knowledge):
ZK-STARKs - эти технологии предоставляют масштабируемость и прозрачность при работе с нулевыми доказательствами знания. Это означает, что блокчейны могут быть более производительными и эффективными, сохраняя одновременно прозрачность данных.

💵 ZK-Rollups:
Если вы ищете способ увеличить производительность блокчейна, не жертвуя безопасностью, то ZK-Rollups - это ответ. Они позволяют сжимать множество транзакций в одну, что увеличивает скорость обработки, а затем подтверждать их с помощью ZK-SNARKs или ZK-STARKs. Это значительно снижает нагрузку на сеть и комиссии, что делает блокчейн более доступным и эффективным.

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

Полезные материалы по блокчейну

-Подробная инструкция по технологии ZK-STARKs

-The Ультимативный гайд по Zero-Knowledge Proofs: zk-SNARKs vs zk-STARKs

-ZERO-KNOWLEDGE ROLLUPS Guide

-ZK Rollup & Optimistic Rollup (En) + Инструкция по ZK Plasma

-Blockchain In 7 Minutes | What Is Blockchain | Blockchain Explained|How Blockchain Works|Simplilearn

-Learn Blockchain, Solidity, and Full Stack Web3 Development with JavaScript – 32-Hour Course

-What is Web3? playlist

-What Is a Blockchain?

ЯЗЫКИ ПРОГРАММИРОВАНИЯ ДЛЯ БЛОКЧЕЙНА

  1. Solidity:
    • Solidity - это самый популярный язык программирования для смарт-контрактов на блокчейне Ethereum. Он основан на JavaScript и спроектирован для упрощения создания децентрализованных приложений (DApps).
    • Особенности: Solidity поддерживает статическую типизацию, что помогает предотвратить ошибки на этапе разработки. Он также обладает богатой библиотекой функций и широкой поддержкой сообщества разработчиков.
    • IDE: Remix, Truffle, Visual Studio Code (с плагинами).
  2. Vyper:
    • Vyper - это язык программирования для смарт-контрактов на Ethereum, разработанный с целью улучшения безопасности. Он имеет более понятный и простой синтаксис по сравнению с Solidity.
    • Особенности: Vyper поддерживает проверку безопасности кода на этапе компиляции и старается избежать некоторых уязвимостей, присущих Solidity.
    • IDE: Remix, Vyper Online Compiler.
  3. Rust (для Polkadot):
    • Rust - это системный язык программирования, который также используется в разработке блокчейн-платформы Polkadot. Rust известен своей безопасностью и производительностью.
    • Особенности: Rust предоставляет средства для борьбы с ошибками на этапе компиляции, что помогает избежать многих проблем безопасности.
    • IDE: Rust поддерживается множеством IDE, включая Visual Studio Code и CLion.
  4. Go (для Hyperledger Fabric):
    • Go (или Golang) используется в проекте Hyperledger Fabric для разработки частных блокчейн-сетей.
    • Особенности: Go - это компилируемый язык с простым и эффективным синтаксисом, что делает его подходящим для высокой производительности и надежности.
    • IDE: Visual Studio Code, GoLand.
  5. C++ (для EOS):
    • EOS, децентрализованная платформа для создания DApps, использует C++ в своей разработке.
    • Особенности: C++ - это мощный и производительный язык, который подходит для создания сложных блокчейн-приложений.
    • IDE: Visual Studio, CLion.
  6. JavaScript (для блокчейна Corda):
    • Corda - это блокчейн-платформа, которая позволяет создавать смарт-контракты с использованием языка программирования Kotlin или JavaScript.
    • Особенности: JavaScript - это популярный язык программирования, широко используемый в веб-разработке, и его поддержка делает Corda доступным для разработчиков с опытом в JavaScript.
    • IDE: IntelliJ IDEA, Visual Studio Code.
  7. Python:
    • Python - это высокоуровневый интерпретируемый язык программирования, который широко используется во множестве приложений, включая веб-разработку, научные вычисления, и даже блокчейн.
    • Особенности: Python известен своей простотой и читаемостью синтаксиса, что делает его отличным выбором для начинающих программистов. Он также имеет обширную библиотеку (включая библиотеку Web3.py) и активное сообщество блокчейн-разработчиков.
    • IDE: PyCharm, Visual Studio Code, Jupyter Notebook.

8. C:

    • Язык программирования C - это низкоуровневый язык, который служит основой для множества других языков программирования. Он используется в разработке блокчейна Bitcoin, например, в биткоин-клиенте Bitcoin Core.
    • Особенности: C - это мощный язык, предназначенный для системного программирования. Он предоставляет полный контроль над аппаратными ресурсами и памятью.
    • IDE: Visual Studio, Code::Blocks, Dev-C++

9. Java:

    • Java - это объектно-ориентированный язык программирования, который широко используется в множестве приложений, включая разработку Android-приложений и приложений для корпоративных блокчейн-решений.
    • Особенности: Java обеспечивает платформонезависимость благодаря виртуальной машине Java (JVM). Это делает его подходящим для блокчейн-решений, которые должны работать на разных платформах.
    • IDE: IntelliJ IDEA, Eclipse, NetBeans.

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

ПЛАГИНЫ ДЛЯ РАЗРАБОТКИ

Каждая интегрированная среда разработки (IDE) предлагает разнообразные плагины и расширения, которые облегчают разработку в конкретной среде. Сейчас мы рассмотрим наиболее популярные IDE и плагины для них

плагины для удобного использования в каждой IDE

1. Visual Studio Code:

  • Python: Установите плагин для Python, который предоставляет автодополнение, отладку и многие другие инструменты для работы с Python.
  • Docker: Позволяет управлять контейнерами Docker прямо из VS Code.

2. CLion:

  • CMake Tools: Упрощает настройку и сборку проектов, использующих CMake.
  • Git Integration: Добавляет инструменты для работы с системой контроля версий Git прямо в IDE.

3. GoLand:

  • Go Test: Интегрирует инструменты тестирования Go в IDE, позволяя запускать и анализировать тесты.
  • Delve: Плагин для отладки Go-приложений.

4. IntelliJ IDEA:

  • Maven: Поддержка сборки проектов с использованием Maven.
  • Spring Boot Tools: Помогает разрабатывать приложения на основе Spring Boot.

5. PyCharm:

  • Django: Упрощает разработку веб-приложений с использованием Django.
  • Scientific Mode: Для анализа данных и научных вычислений.

6. Jupyter Notebook:

  • nbextensions: Добавляет различные расширения, такие как автоматическое нумерование ячеек и другие удобства.
  • RISE: Позволяет создавать интерактивные презентации на основе Jupyter Notebook.

7. Code::Blocks:

  • wxSmith: Интеграция для создания графических пользовательских интерфейсов с использованием библиотеки wxWidgets.
  • Code::Stats: Плагин для отслеживания вашей продуктивности.

8. Dev-C++:

  • Orwell Dev-C++: Официальная версия Dev-C++ с обновленными библиотеками и инструментами.

9. Eclipse:

  • Eclipse Marketplace: Позволяет устанавливать плагины и расширения из магазина Eclipse.
  • EGit: Интеграция с Git для управления версиями проектов.

10. NetBeans: - Maven Support: Упрощает сборку и управление проектами, использующими Maven. - PHP Support: Для разработки веб-приложений на PHP.

С более подробным списком плагинов можете ознакомиться далее

VS CODE

-BEST VSCode Extensions 2023 // Extensions which PRO WEB Developers Use

-Best VSCode extensions in 2023

-Top 10 VSCode Extensions YOU MUST TRY!

IntelliJ IDEA:

-Best IntelliJ IDEA Plugins and Themes - My IDE Setup

-Best 5 IntelliJ IDEA Plugins for Java Developer | Improve Your Coding Efficiency | JavaTechie

Pycharm:

-Awesome PyCharm Setup - Full Guide

-Божественная настройка IDE для Python | Pycharm

Плагины для блокчейн-разработки:

Visual Studio Code

Все плагины в VS Code можно установить непосредственно через VS Code Extentions в IDE

  • Solidity by Juan Blanco - Язык Ethereum Solidity для Visual Studio Code
  • Solidity + Hardhat by Nomic foundation - среда разработки для Ethereum. Она позволяет легко писать и компилировать смарт-контракты. Помимо того, что Hardhat является одним из самых популярных инструментов разработки Ethereum, помимо Truffle, он имеет одну из самых удобных документаций для новичков. Данное расширение в паре с инструментами Hardhat предлагает расширенный рабочий процесс разработки. Помимо прочего, вы получаете возможность завершения кода, быструю навигацию по коду и форматирование кода
  • Ethereum Security Bundle - Мета-расширение, объединяющее плагины marketplace для разработки безопасных смарт-контрактов Ethereum.
  • Ethereum DeFi Language Support - Поддержка Ethereum DeFi для NodeJS-приложений в VS Code. Поддерживаются списки токенов, рыночные данные из API CoinGecko и адресная информация из Amberdata.
  • Ethereum Gas Price - Получение текущей цены на газ в сети Ethereum в строке состояния VS Code
  • ETHover - Информация и действия при наведении курсора на адрес счета Ethereum
  • Ethereum Dark Theme - Темная тема Ethereum - Выглядит интересно, а глазу приятно
  • Ethereum Theme - Изящная темная тема для БИДЛЕРОВ Ethereum! Оценок по теме не так много, но попробовать стоит.
  • Truffle for VS Code by truffle - Truffle - еще один замечательный инструмент для разработки Ethereum. Как и Hardhat, он позволяет очень легко писать код для блокчейна. Лично я не использую этот плагин, но если вы используете среду truffle, то вам обязательно нужно его установить.
  • Solidity Debugger by tintinweb - Solidity Debugger создан для того, чтобы помочь вам отлаживать ваши смарт-контракты. Он поддерживает точки останова, пошаговый просмотр кода и проверку локальных/состоятельных переменных. Хотите вырасти как web3-разработчик? Начните с того, что научитесь пользоваться этим расширением.

Pycharm:

Все плагины для pycharm доступлын каждому через file - settings - plugins

  • Move language - Поддержка Move, языка смарт-контрактов для Aptos и других блокчейнов.
  • T-Sol - Потоковый язык Solidity, используемый в асинхронных блокчейнах пятого поколения с поддержкой динамического шардинга, построенных на движке Everscale.
  • Hardhat - Предоставляет шаблонные коды для упрощения создания смарт-контрактов с помощью Hardhat CLI. Ускоряет этап настройки разработки контрактов как для новичков, так и для опытных разработчиков. (плагин доступен только для версий Pycharm Professional)
  • Truffle - Предоставляет шаблонные коды для упрощения создания смарт-контрактов с помощью Truffle CLI. Ускоряет этап настройки разработки контрактов как для новичков, так и для опытных разработчиков. (плагин доступен только для версий Pycharm Professional)
  • TON - Плагин TON Development для платформы IntelliJ. Включает поддержку языков FunC, Fift, Tact и схем TL-B. Плагин совместим с IntelliJ IDEA (Ultimate, Community), Android Studio, AppCode, Aqua, CLion, Code With Me Guest, DataGrip, DataSpell, GoLand, JetBrains Client, JetBrains Gateway, MPS, PhpStorm, PyCharm (Professional, Community), Rider, RubyMine, RustRover, WebStorm
  • Coin to the moon - получения информации о цене криптовалюты в режиме реального времени. Мы будем добавлять новые функции, чтобы улучшить его. Если у вас есть вопросы, вы можете напрямую оставить отзыв на github.

  • Crypto Status Bar - Круглосуточный тикер цен на криптовалюты внутри вашей IDE! BTC, ETH и SOL. Обновляется каждую минуту. Использует бесплатный API Binance.

Remix:

  • Solidity: Плагин для языка Solidity для разработки смарт-контрактов на Ethereum.
  • Ganache: Интеграция с локальным блокчейн-тестовым окружением Ganache.

SolidityКак пользоваться - https://www.youtube.com/watch?v=vH8T3In6ZkE

GanasheКак пользоваться - https://www.youtube.com/watch?v=p_t29NyhHTY

Truffle:

  • Truffle Teams: Для совместной работы над проектами и управления смарт-контрактами.
  • Ethereum Grid: Инструменты разработки для Ethereum.

Truffle Teams - https://www.youtube.com/watch?v=rA6WrKW_gVQ

Ethereum Grid - https://www.youtube.com/watch?v=YYJgeV7sOvM

Vyper Online Compiler:

  • Этот веб-сервис предоставляет онлайн-компиляцию Vyper-кодов без необходимости установки плагинов

Vyper Online Compiler - https://www.youtube.com/watch?v=5M5p6SnW-Og

Установка плагинов обычно осуществляется через менеджер расширений IDE, и процедура может различаться в зависимости от конкретной среды. Обычно она сводится к поиску нужного плагина и нажатию кнопки "Установить".

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

С дополнительными плагинами для blockchain-разработки можно ознакомиться ниже

-4 VS Code Extensions REQUIRED For Blockchain Development

-2 VS Code Extensions REQUIRED For Blockchain Development

БИБЛИОТЕКИ ДЛЯ BLOCKCHAIN-РАЗРАБОТКИ

Библиотеки для разработки блокчейна в различных интегрированных средах разработки (IDE)

  1. CLion
    • Библиотеки:
    • Подробности:
      • cpp-ethereum - это библиотека и инструменты для разработки приложений на языке C++ для платформы Ethereum.
      • Установка библиотеки - Скачайте и скомпилируйте cpp-ethereum:
  • Откройте терминал или командную строку и перейдите в каталог, в который вы хотите загрузить и скомпилировать cpp-ethereum.
  • Загрузите исходный код cpp-ethereum с репозитория на GitHub:
git clone https://github.com/ethereum/cpp-ethereum.git
  • Перейдите в каталог cpp-ethereum:
cd cpp-ethereum
  • Создайте каталог build и перейдите в него:
mkdir build
cd build
  • Запустите CMake для настройки проекта:
cmake ..
  • Запустите сборку проекта. Выберите количество потоков, соответствующее числу доступных ядер процессора (например, -j4 для 4 ядер):
make -j4

2. GoLand

    • Библиотеки:
      • go-ethereum
    • Подробности:
      • go-ethereum - библиотека, предназначенная для разработки смарт-контрактов и DApps на Ethereum с использованием языка Go.
      • Установка библиотеки - откройте терминал в GoLand (перейдите в "View" -> "Tool Windows" -> "Terminal"). В терминале выполните следующую команду для установки библиотеки go-ethereum с помощью go get:

go get github.com/ethereum/go-ethereum


Эта команда загрузит библиотеку go-ethereum и установит ее в вашу систему.

3. IntelliJ IDEA

    • Библиотеки:
    • Подробности:
      • Web3j - это библиотека для разработки приложений на платформе Ethereum с использованием языка Java. Она предоставляет API для взаимодействия с блокчейном.
      • Установка библиотеки - https://docs.web3j.io/4.8.7/quickstart/

4. PyCharm

    • Библиотеки:

Подробности:

      • web3.py - это библиотека для разработки приложений на языке Python, взаимодействующих с Ethereum блокчейном.
      • Установка библиотеки - https://t.me/c/1969498391/274
  • PyBitcoin - это библиотека для работы с биткоином. Она предоставляет функции для генерации биткоин-адресов, создания и отправки транзакций в сети Bitcoin.

Установить библиотеку - pip install pybitcoin

  • Pyethereum - библиотека для разработки на Ethereum, которая предоставляет инструменты для создания и взаимодействия с собственными смарт-контрактами на Ethereum.

Установить библиотеку - pip install ethereum==1.6.1

  • Stellar SDK (Python) - SDK для Python предоставляет инструменты для работы с blockchain-сетью Stellar. Он позволяет создавать и отправлять транзакции в Stellar, а также взаимодействовать с аккаунтами и активами.

Установить Библиотеку - pip install stellar-sdk

5. Jupyter Notebook

    • Библиотеки:
    • Подробности:
      • Jupyter Ethereum - это библиотека и набор расширений для среды Jupyter Notebook, предназначенные для работы с Ethereum блокчейном.
      • Установка библиотеки - https://github.com/manifoldfinance/jupyter-notebooks

6. Code::Blocks и Dev-C++

    • Библиотеки:
      • Ethereum C++ Client (eth)
    • Подробности:
      • Ethereum C++ Client (eth) - это клиент на языке C++, который предоставляет инструменты для разработки приложений на платформе Ethereum и работы с смарт-контрактами.
      • Установка библиотеки - https://github.com/ethereum/aleth

7. Eclipse и NetBeans

    • Библиотеки:
    • Подробности:
      • Web3j - это библиотека для разработки приложений на платформе Ethereum с использованием языка Java, которую можно интегрировать в проекты, разрабатываемые в средах Eclipse и NetBeans.
      • Установка библиотеки - https://stackoverflow.com/questions/48727376/how-to-add-web3j-to-my-project-in-netbeans

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

ИНСТРУМЕНТЫ BLOCKCHAIN-РАЗРАБОТЧИКА

и разработчика в целом

  1. GitHub: это один из самых популярных сервисов для управления и хостинга репозиториев на базе Git. Он предоставляет множество инструментов и функций для коллаборации, отслеживания изменений, управления задачами и многого другого. Основные особенности GitHub:
    • Веб-интерфейс и клиенты для Git: GitHub предоставляет удобный веб-интерфейс для управления репозиториями, а также графические клиенты.
    • Система управления задачами: GitHub Issues позволяет создавать задачи и отслеживать их статус.
    • Pull Requests: Этот механизм облегчает процесс рецензии и интеграции изменений.
    • GitHub Actions: Позволяет настраивать автоматизированные рабочие процессы, например, непрерывную интеграцию и доставку.

2. GitLab: это еще одна платформа для управления Git-репозиториями. Она предоставляет схожий набор функций с GitHub, но также имеет возможность самостоятельно хостить инстанс GitLab на своем сервере. Важные особенности GitLab:

    • CI/CD: GitLab включает в себя инструменты для настройки непрерывной интеграции и доставки.
    • Issue Tracking: Подобно GitHub, GitLab предоставляет систему управления задачами.
    • Code Review: Инструменты для обзора кода и комментирования изменений.
    • Интеграция с Kubernetes: GitLab позволяет легко развертывать приложения в Kubernetes-кластерах

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

    • Задачи и контесты: Предоставляет широкий выбор задач для практики, а также возможность участвовать в соревнованиях.
    • Редактор кода онлайн: Позволяет писать код и сразу же видеть результат выполнения.
    • Обсуждения: Вы можете обсудить решения с другими пользователями.

4. Docker - инструмент, который позволяет упаковывать и запускать приложения в изолированных средах, называемых контейнерами. Вот несколько ключевых и простых для понимания функций Docker:

  1. Изолированные окружения: Docker позволяет создавать контейнеры, которые содержат все, что нужно для работы приложения, включая код, библиотеки и зависимости. Это обеспечивает изолированную среду, в которой приложение может работать, исключая конфликты между разными приложениями.
  2. Переносимость: Контейнеры Docker могут работать на разных операционных системах, таких как Windows, Linux, и macOS, без изменения кода приложения. Это делает их очень переносимыми.
  3. Легкость управления: Docker предоставляет простой способ управления контейнерами через командную строку или графический интерфейс. Это упрощает создание, запуск, остановку и удаление контейнеров.
  4. Масштабируемость: Docker позволяет создавать несколько экземпляров контейнеров из одного и того же образа, что упрощает масштабирование приложений в случае увеличения нагрузки.
  5. Совместимость: Docker обеспечивает совместимость с инструментами автоматизации и управления контейнерами, такими как Kubernetes, что упрощает управление большим количеством контейнеров.
  6. Воспроизводимость: С Docker вы можете создавать образы, которые точно воспроизводят среду вашего приложения. Это полезно для разработки, тестирования и развертывания приложений.

5. Postman - это инструмент для тестирования и документирования API. Он позволяет разработчикам легко отправлять запросы к API, автоматизировать тестирование и создавать документацию. Основные особенности Postman:

    • Создание и отправка запросов: Позволяет легко тестировать API методы.
    • Коллекции запросов: Можно организовать запросы в коллекции и автоматизировать их тестирование.
    • Генерация документации: Позволяет создать документацию к вашему API

6. JIRA - это платформа для управления проектами и задачами, широко используемая в разработке ПО. Она предоставляет инструменты для планирования, отслеживания и управления задачами разработчиков. Основные особенности JIRA:

    • Создание и управление задачами: Позволяет определить и отслеживать задачи и баги.
    • Скрам и Канбан-доски: Инструменты для управления процессами разработки.
    • Интеграция с другими инструментами: Множество плагинов и интеграций для расширения функциональности.

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

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

  1. Версионирование: Git позволяет сохранять разные версии вашего проекта, так что вы всегда можете вернуться к предыдущим версиям, если что-то сломается.
  2. Совместная работа: Вы можете работать в команде над одним проектом. Git позволяет вам и вашим коллегам вносить изменения независимо и объединять их позже.
  3. Отслеживание изменений: Git фиксирует все изменения в проекте, такие как добавление, удаление или изменение файлов, и позволяет вам видеть, кто и когда сделал каждое изменение.
  4. Ветвление и слияние: Вы можете создавать отдельные "ветки" для экспериментов или новых функций, не влияя на основной код проекта. После тестирования изменений вы можете объединить их обратно в основную ветку.
  5. Резервное копирование и восстановление: Git позволяет вам легко создавать резервные копии вашего проекта, что обеспечивает безопасность ваших данных.
  6. Распределенная система: Каждый член команды имеет собственную копию проекта, что делает работу над проектом надежной и устойчивой к сбоям.
  7. Совместимость с хранилищами: Git интегрируется с популярными хостинг-сервисами, такими как GitHub и GitLab, что делает совместную работу над проектами еще более удобной.

Дополнительная Информация по данным инструментам

GitHub & Git

GitLab

LeetCode

Docker

Postman

jira

КУРСЫ ПО BLOCKCHAIN-РАЗРАБОТКЕ

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

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

  • 101 Blockchains ― платформа предлагает десятки курсов и мастер-классов по технологиям блокчейн и искусственный интеллект. Здесь представлены как платные, так и бесплатные материалы. Например, курсы о разработке Web3-продуктов на базе Polygon или написании смарт-контрактов находятся в свободном доступе, а вот сертификат разработчика корпоративных блокчейнов Certified Enterprise Blockchain Architect (CEBA) обойдется студенту в $399;
  • В каталоге Udemy собран не один десяток курсов для изучения блокчейна. Однако существует недостаток ― учебные материалы на платформе платные. Цены варьируются от $40 до $120. Один из самых востребованных курсов ― Ethereum and Solidity: The Complete Developer’s Guide. Однако желающие его пройти должны прежде освоить азы Javascript and NPM.
  • Американская платформа Coursera предлагает сразу несколько курсов по блокчейну. Для новичков Blockchain: Foundations and Use Cases от ConsenSys Academy и Web3 and Blockchain Fundamentals. Для профессионалов подойдет курс Blockchain от преподавателей Университета штата Нью-Йорк в Буффало.

Курсы для любого уровня подготовки

Для новичков

Solidity Smart Contracts ― этот бесплатный курс может пройти любой желающий на украинской платформе онлайн-образования Prometheus. Занятия разрабатывались экспертами Distributed Lab при поддержке Ecosystem Support Program.

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

Корпорация Microsoft предлагает пройти экспресс-курс по блокчейн-разработке длительностью всего три часа. Лекции охватывают базовые знания о работе реестров, написание смарт-контракта и создание децентрализованных приложений на Ethereum.

Курс «Blockchain-розробник» в онлайн-школе программирования RobotDreams подойдет для студентов или новичков в IT-индустрии. Учеба здесь длится четыре месяца.

Для опытных разработчиков

  • Ethereum Developer Bootcamp от Alchemy University. Курс состоит из 91 урока, однако кроме видеороликов, задач и заданий, слушатель также работает над своим проектом, который может отправить на сертификацию.
  • Chainlink Oracles от Chain Shot. Этот курс разработан для тех, кто уже хорошо знает Solidity, разбирается в Ethereum и изучил принцип работы децентрализованных оракулов.
  • Не все курсы проходят в онлайн-режиме. В Украине Національний університет «Києво-Могилянська академія» анонсировал сертификатную программу «Технологии блокчейн». Однако доступ к нему могут получить только учащиеся на магистратуре студенты. В рамках курса изучается криптография, написание смарт-контрактов, различные алгоритмы и технические инструменты.

Книги, которые дополняют курсы

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

Мы подобрали несколько книг, которые заинтересуют любого члена сообщества.

  • «Стандарт биткоина» Сейфедина Аммуса. В своей работе автор рассказывает о развитии денег, подводя нас к моменту появления первой криптовалюты как потенциального мирового резервного актива. Аммус уверен, что биткоин ― будущее, ведь фиатная система себя не оправдывает и пагубно влияет на экономическое развитие.
  • «Книга Сатоши»: сборник материалов от изобретателя биткоина» Фила Шампейна. Автор собрал воедино все, что когда-либо публиковал основатель биткоина известный под псевдонимом Сатоши Накамото. В книге можно найти не только white paper, но и сообщения с форумов, а также фрагменты электронных писем в хронологическом порядке.
  • «Блокчейн-разработчик» Элада Эльрома. В этой работе детально рассматриваются технические нюансы создания блокчейна и децентрализованных приложений. Также автор посвятил отдельные разделы популярным сетям и рассмотрел, в каких сферах, помимо криптовлютной, блокчейн может себя проявить.
  • «Осваиваем Lightning Network»: Протокол второго уровня для мгновенных биткоин-платежей» Андреаса Антонопулоса. В книге рассказывается не только об основных принципах работы L2-решения для первой криптовалюты, здесь также собраны рекомендации по использованию кошельков и нод.
  • «Революция блокчейна» Дона и Алекса Тэпскоттов. По мнению авторов, криптовалюты на базе блокчейна ― верхушка айсберга. Писатели утверждают, что технология децентрализованного публичного реестра способна изменить почти каждую отрасль.

Образовательные YouTube-каналы

  • Distributed Lab ― канал от одноименной консалтинговой IT-компании из Харькова. Команда публикует лекции длительностью около 40 минут про сегмент DeFi (децентрализованных финансов) и блокчейн.
  • Chaincode Labs ― публикует видео с семинаров с разработчиками сети биткоин и Lightning Network. Также на канале доступны выпуски подкаста.
  • freeCodeCamp.org ― канал, где собраны обучающие видео по программированию. Темы уроков не ограничены технологией блокчейна.
  • Dapp University - Канал научит вас создавать децентрализованные приложения на блокчейне Ethereum. Также администратор канала запустил свой бесплатный курс по Dapps-Разработке. Советую ознакомится тут 👈

Заключение

Образовательных возможностей в сфере криптовалют и блокчейна, без преувеличений, масса. При этом для прохождения курса не обязательно тратить сотни долларов. Если уделить достаточное время исследованию, можно найти хорошие материалы бесплатно.

  • Курсы по Solidity и разработке на базе Ethereum лидируют на рынке образовательных услуг.
  • Большинство материалов представлены на английском языке, а сам процесс обучения проходит онлайн.
  • Желающие углубить свои знания в области технологии блокчейн и криптовалют не ограничиваются курсами и видеороликами. На момент подготовки материала опубликовано немало книг.

ДОПОЛНИТЕЛЬНЫЕ МАТЕРИАЛЫ

👩‍💻 Python и обучение

Для просмотра всех материалов, вам необходимо подписаться на мой Telegram-Канал и на Telegram-Канал Semolina Code Python

(все ссылки приватные)

🟢Python с нуля для блокчейн-разработчиков (и не только) 11 уроков

🟢Python + Библиотека Web3py

🟢Основные горячие клавиши в IDE PyCharm & Часть №2

🟢Плагины Pycharm для блокчейн-разработчиков

🟢Возможности Python и IDE PyCharm в мире блокчейна и криптовалют

🟢Библиотеки для анализа данных в Блокчейне, Python edition

🟢Топ-5 библиотек для создания собственной криптовалюты на Python в PyCharm

🟢Блокчейн-разработчики на Python: сколько они зарабатывают?

🟢Создаем свой токен на Binance Smart Chain (BSC) с использованием Python и PyCharm

🧠 Углубление в Блокчейн

🟢Криптография в Мире Криптовалют и Блокчейна & Глубже в криптографию

🟢Смарт-контракты: Как они работают? - Просто и понятно!

🟢Узлы в блокчейне: Почему они важны и как они работают?

🟢Технология ZK в блокчейне: Обзор

🟢Как создать свой блокчейн: шаги, языки программирования и затраты

🟢Создание обственной Криптовалюты или Токена: Шаг за Шагом!

💻 Софты и Скрипты

🟢Мега подборка софтов & Скриптов для облегчения жизни криптана

🟢Мега подборка софтов и не только под проекты и обучение

🟢Zora - Скрипты, Софты

🟢Софт для Starknet (Бесплатно!?)

💰 Прочий контент для разработки

🟢Топ Языков Программирования для Блокчейна и Крипто-Разработки

🟢Какие IDE используют для блокчейн-разработки?

🧑‍🎓 Гайды:

🟢Гайд как установить Python + софт на Arbitrum Nova

🟢Гайд о том как настроить IDE PyCharm

🟢Гайд как установить JS

🟢Гайд по запуску софтов с помощью менеджера процессов PM2

🟢Сборка гайдов для zkSync

🟢Сборка гайдов для Starknet

🟢Гайд по Git & GitHub/PyCharm/Terminal

🟢800+ материалов по Web3, Crypto, DEV, OpSEC и OSINT тематике: масштабный разбор CIA Officer`a

📺YouTube-Videos

🟢Learn Solidity, Blockchain Development, & Smart Contracts | Powered By AI - Full Course (0 - 6)

🟢Blockchain Developer Roadmap - Become a Web 3 Developer

🟢Solidity, Blockchain, and Smart Contract Course – Beginner to Expert Python Tutorial

🟢Blockchain Python programming tutorial [FULL COURSE] Web3.py

🟢What is ethereum, and how does it work?

🟢Solidity Tutorial - A Full Course on Ethereum, Blockchain Development, Smart Contracts, and the EVM

ЭПИЛОГ

Вот и закончилась моя первая long-read статья! Благодарю всех и каждого за прочтение, реакции и отзывы. Надеюсь вы провели время с пользой и подчеркнули для себя что-то важное

Не забывайте, что у меня есть Telegram-канал, где мы сможем видеться еще чаще, а вы сможете получать контент еще быстрее!

Ссылка на мой Телеграм Канал - t.me/code_vartcall