May 18, 2023

#1 Путь разработчика Leo

Всем привет! Сегодня я начинаю серию статей по языку программирования Leo. В ближайшие 6 дней и, соответственно, 6 статьей я вместе с вами буду изучать Leo. За это время вы увидите мой путь обучения, а также сами получите базовые знания по Leo. Приступаем!

Оглавление

План на ближайшие 6 дней

1 день. В данной статье я расскажу вам базовую информацию по Leo. Отвечу на такие вопросы как: "Для чего Leo создан?", "Где его можно изучить?", а также предоставлю другую интересную информацию по проекту Aleo.

2 день. Установим всё необходимое ПО для работы с Leo.

3 день. Создадим первую программу и изучим ее структуру.

4 день. Поговорим про переменные.

5 день. Изучим функции и базовые операторы.

6 день. Практический урок. Создадим 2 программы.

Как вы видите, план очень насыщенный, так что будет интересно! Если вам удобнее воспринимать информацию в видео-формате, то плейлист со всеми статьями в видео-формате вы можете посмотреть по ссылке - ссылка.

Введение

Давайте начнем с базовой информации. Leo - это творение проекта Aleo. Aleo ставит перед собой целью обеспечить легкое создание частных, децентрализованных приложений.

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

Добиться конфиденциальности Aleo позволяет за счет использования технологии zero knowledge proofs, то есть доказательств с нулевым значением. Если упрощать, то для доказательства мы предоставляем некоторую часть данных, которая доказывает, что мы выполнили вычисления правильно, при этом, не раскрывая сами вычисления.

Немного теории

Leo — это основанный на Rust язык программирования со статической типизацией, созданный для написания частных приложений. Он предназначен для разработчиков, которые могут интуитивно строить блокчейн Aleo, обеспечивая основу для частной децентрализованной экосистемы. Это первый известный язык программирования, который представляет среду тестирования, реестр пакетов, преобразователь импорта, удаленный компилятор и генератор теорем для приложений общего назначения с нулевым разглашением.

Leo разработан, чтобы устранить как можно больше требований к криптографическим знаниям. Более того, он разработан так, чтобы напоминать Javascript и Typescript, так что разработчики JS/TS будет иметь очень простой путь обучения.

На картинке выше представлен алгоритм пузырьковой сортировки на Leo. Он берет ваш код, создает схему проверки, которая представляет вычисление, которое вы хотите запустить, заполняет входные проводники нужными значениями, запускает схему, генерирует ключи проверки/проверки, а затем объединяет все соответствующие данные в ZKP.

Где получить информацию

Если вы решите более глубоко изучать Leo, то тогда вашим незаменимым помощником будет официальный сайт Aleo - https://aleo.org. На нем содержится большое количество информации для разработчиков.

В разделе для разработчиков есть всё необходимое для начала обучения. Далее вам поможет github aleo - https://github.com/AleoHQ.

На github в первую очередь советую изучить представленную выше директорию.

Но для начала, конечно же рекомендую прочитать все 6 статей из этой серии, так как они дадут базовые знания по языку Leo. До встречи во второй статье!

Полезные ссылки

Сайт Aleo: https://www.aleo.org/

Статья по Leo на официальном сайте: https://www.aleo.org/post/leo-programming-language

Github Aleo: https://github.com/AleoHQ/workshop

Ресурсы для разработчиков: https://developer.aleo.org/getting_started/