レッスン1

Введение в Vyper и смарт-контракты Ethereum

Эфир (ETH) - это родная криптовалюта Ethereum, и в ней используется язык программирования Solidity. Фундаментальная технология Ethereum, blockchain, представляет собой распределенную бухгалтерскую книгу, которая хранит постоянный, защищенный от взлома список записей. Эта децентрализованная архитектура позволяет разработчикам создавать разнообразные децентрализованные приложения (dApps), используя мощную экосистему платформы и ее адаптивность.

Введение в Ethereum, смарт-контракты и Solidity

Понимание Ethereum

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

Подробнее: Что такое Ethereum?

Эфир (ETH) - это родная криптовалюта Ethereum, и в ней используется язык программирования Solidity. Фундаментальная технология Ethereum, blockchain, представляет собой распределенную бухгалтерскую книгу, которая хранит постоянный, защищенный от взлома список записей. Эта децентрализованная архитектура позволяет разработчикам создавать разнообразные децентрализованные приложения (dApps), используя мощную экосистему платформы и ее адаптивность.

Сила смарт-контрактов

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

Подробнее: Что такое смарт-контракты?

Преимущества и примеры использования смарт-контрактов

Как мы обсуждали в одном из наших предыдущих курсов здесь: Курс: Смарт-контракты 101: базовое введение", существует несколько ключевых преимуществ смарт-контрактов, которые делают их революционной концепцией в цифровом мире:

  1. Устранение посредников: Смарт-контракты устраняют необходимость в посредниках, что приводит к более экономически эффективным транзакциям.

  2. Децентрализация: Построение смарт-контрактов поверх блокчейн позволяет создавать децентрализованные платформы, уменьшая зависимость от одной централизованной структуры.

  3. Простая и доступная разработка: Платформы, подобные Ethereum, предоставляют разработчикам инфраструктуру, необходимую для простого и недорогого создания приложений, основанных на транзакциях.

  4. Повышенная безопасность и прозрачность: Поскольку смарт-контракты написаны в коде, транзакции являются необратимыми и отслеживаемыми, что обеспечивает большую прозрачность и безопасность.

  5. Самоусиление: Смарт-контракты являются самоусиливающимися, создавая бездоверительную среду для проведения транзакций с любым человеком в мире.

Солидность: Доминирующий язык

Наиболее распространенным языком для написания смарт-контрактов на Ethereum является Solidity. Под влиянием JavaScript, Python и C++, Solidity - это статически-типизированный язык, предназначенный для разработки смарт-контрактов Ethereum. Он многофункционален, развит и имеет сильную поддержку сообщества, что делает его первым выбором для многих разработчиков Ethereum.

Введение в Vyper

Vyper: Альтернатива Ethereum

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

Почему стоит выбрать Vyper вместо Solidity?

Несмотря на популярность Solidity, приверженность Vyper к безопасности и удобочитаемости делает его привлекательным выбором для многих разработчиков. Он предлагает более доступный синтаксис для тех, кто знаком с Python, что делает его отличной отправной точкой для разработчиков на Python, желающих войти в мир Ethereum dApps.

Различия между Solidity и Vyper

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

Простота синтаксиса

Поскольку Solidity и Vyper являются языками высокого уровня, их синтаксис прост. Тем не менее, синтаксис Solidity более близок к таким широко распространенным языкам, как C++ и JavaScript, что может облегчить задачу некоторым разработчикам. Vyper, с другой стороны, похож на Python, с синтаксисом, узнаваемым для пользователей Python.

Кривая обучения

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

Размер массивов и строк

Solidity обеспечивает динамическое масштабирование строк и массивов, позволяя разработчикам изменять длину строки в зависимости от своих потребностей. Vyper, с другой стороны, ограничивает размер массивов и строк, чтобы уменьшить потенциальные уязвимости в смарт-контрактах.

Поддержка сообщества

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

Определение контрактов и обработка ошибок

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

Определение переменной

Определение переменных в Vyper простое и напоминает язык программирования высокого уровня. Solidity, с другой стороны, использует более сложный подход к объявлению переменных. Более того, Solidity требует использования полутонов, что добавляет еще один уровень сложности.

Создание аукционов

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

Спецификация функций

Функции Vyper могут быть декорированы внешним декоратором, что позволяет им принимать платежи за транзакции. С другой стороны, солидность требует прохождения внешней и оплачиваемой частей внутри функции. Кроме того, Solidity использует операторы 'if', в то время как Vyper использует операторы 'assert'.

Процесс вывода средств

В отличие от Solidity, процесс вывода средств в Vyper более прост. Solidity требует определения суммы и создания операторов 'if', в то время как Vyper использует более простой метод.

Прекращение действия контракта

Vyper проверяет время с помощью 'assert', но Solidity требует оператора 'if' перед установкой переменной ended в значение "True". Кроме того, в отличие от Vyper, Solidity требует эмиссии об окончании аукциона и передачи наличных денег.

Настройка Vyper

Подготовка среды разработки

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

  1. Установите Python: Для Vyper требуется Python 3.6 или выше. Вы можете скачать Python с официального сайта. Следуйте инструкциям, чтобы установить его на своей машине. Вы можете проверить установку, набрав
    python --version в Вашем терминале. В качестве выходных данных Вы должны увидеть версию Python, которую Вы установили.

  2. Установите Pip: Pip - это менеджер пакетов для Python. Он используется для установки и управления дополнительными пакетами, которые не являются частью стандартной библиотеки Python. Pip должен быть установлен автоматически, когда Вы устанавливаете Python. Вы можете проверить установку, набрав в терминале pip --version. Если он не установлен, Вы можете загрузить его с официального сайта Pip и следовать приведенным там инструкциям.

Установка Vyper

Как только Ваша среда будет готова, Вы можете установить Vyper. Откройте свой терминал и выполните следующую команду:

Python
pip3 install vyper

Вы можете видеть, что в конце кода терминал предлагает нам обновить pip, набрав команду:

Python
python.exe -m pip install --upgrade pip

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

После завершения установки Вы можете проверить версию Vyper, выполнив команду vyper --version. В качестве выходных данных Вы должны увидеть версию Vyper, которую Вы установили.

Знакомство с инструментами разработки и IDE компании Vyper

Хотя Вы можете писать код Vyper в любом текстовом редакторе, использование интегрированной среды разработки (IDE) может значительно облегчить Вашу работу. Вот два варианта для Вас:

  1. Remix: Remix - это браузерная IDE, предоставляемая компанией Ethereum. Он поддерживает как Solidity, так и Vyper и предлагает такие возможности, как встроенный компилятор, надежный отладчик и среду тестирования. Вы можете начать использовать Ремикс, перейдя на официальный сайт Ремикс. Установка не требуется. (Мы будем использовать эту опцию во время нашего курса)

  2. Brownie: Brownie - это основанная на Python среда разработки и структура тестирования для Ethereum. Он поддерживает как Solidity, так и Vyper. Одним из ключевых преимуществ Brownie является то, что он позволяет Вам писать тесты на Python, языке, с которым многие разработчики уже знакомы. Чтобы установить Brownie, откройте терминал и выполните pip3 install eth-brownie. Это займет несколько минут, при этом будет установлено множество библиотек и пакетов.

免責事項
* 暗号資産投資には重大なリスクが伴います。注意して進めてください。このコースは投資アドバイスを目的としたものではありません。
※ このコースはGate Learnに参加しているメンバーが作成したものです。作成者が共有した意見はGate Learnを代表するものではありません。
カタログ
レッスン1

Введение в Vyper и смарт-контракты Ethereum

Эфир (ETH) - это родная криптовалюта Ethereum, и в ней используется язык программирования Solidity. Фундаментальная технология Ethereum, blockchain, представляет собой распределенную бухгалтерскую книгу, которая хранит постоянный, защищенный от взлома список записей. Эта децентрализованная архитектура позволяет разработчикам создавать разнообразные децентрализованные приложения (dApps), используя мощную экосистему платформы и ее адаптивность.

Введение в Ethereum, смарт-контракты и Solidity

Понимание Ethereum

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

Подробнее: Что такое Ethereum?

Эфир (ETH) - это родная криптовалюта Ethereum, и в ней используется язык программирования Solidity. Фундаментальная технология Ethereum, blockchain, представляет собой распределенную бухгалтерскую книгу, которая хранит постоянный, защищенный от взлома список записей. Эта децентрализованная архитектура позволяет разработчикам создавать разнообразные децентрализованные приложения (dApps), используя мощную экосистему платформы и ее адаптивность.

Сила смарт-контрактов

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

Подробнее: Что такое смарт-контракты?

Преимущества и примеры использования смарт-контрактов

Как мы обсуждали в одном из наших предыдущих курсов здесь: Курс: Смарт-контракты 101: базовое введение", существует несколько ключевых преимуществ смарт-контрактов, которые делают их революционной концепцией в цифровом мире:

  1. Устранение посредников: Смарт-контракты устраняют необходимость в посредниках, что приводит к более экономически эффективным транзакциям.

  2. Децентрализация: Построение смарт-контрактов поверх блокчейн позволяет создавать децентрализованные платформы, уменьшая зависимость от одной централизованной структуры.

  3. Простая и доступная разработка: Платформы, подобные Ethereum, предоставляют разработчикам инфраструктуру, необходимую для простого и недорогого создания приложений, основанных на транзакциях.

  4. Повышенная безопасность и прозрачность: Поскольку смарт-контракты написаны в коде, транзакции являются необратимыми и отслеживаемыми, что обеспечивает большую прозрачность и безопасность.

  5. Самоусиление: Смарт-контракты являются самоусиливающимися, создавая бездоверительную среду для проведения транзакций с любым человеком в мире.

Солидность: Доминирующий язык

Наиболее распространенным языком для написания смарт-контрактов на Ethereum является Solidity. Под влиянием JavaScript, Python и C++, Solidity - это статически-типизированный язык, предназначенный для разработки смарт-контрактов Ethereum. Он многофункционален, развит и имеет сильную поддержку сообщества, что делает его первым выбором для многих разработчиков Ethereum.

Введение в Vyper

Vyper: Альтернатива Ethereum

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

Почему стоит выбрать Vyper вместо Solidity?

Несмотря на популярность Solidity, приверженность Vyper к безопасности и удобочитаемости делает его привлекательным выбором для многих разработчиков. Он предлагает более доступный синтаксис для тех, кто знаком с Python, что делает его отличной отправной точкой для разработчиков на Python, желающих войти в мир Ethereum dApps.

Различия между Solidity и Vyper

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

Простота синтаксиса

Поскольку Solidity и Vyper являются языками высокого уровня, их синтаксис прост. Тем не менее, синтаксис Solidity более близок к таким широко распространенным языкам, как C++ и JavaScript, что может облегчить задачу некоторым разработчикам. Vyper, с другой стороны, похож на Python, с синтаксисом, узнаваемым для пользователей Python.

Кривая обучения

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

Размер массивов и строк

Solidity обеспечивает динамическое масштабирование строк и массивов, позволяя разработчикам изменять длину строки в зависимости от своих потребностей. Vyper, с другой стороны, ограничивает размер массивов и строк, чтобы уменьшить потенциальные уязвимости в смарт-контрактах.

Поддержка сообщества

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

Определение контрактов и обработка ошибок

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

Определение переменной

Определение переменных в Vyper простое и напоминает язык программирования высокого уровня. Solidity, с другой стороны, использует более сложный подход к объявлению переменных. Более того, Solidity требует использования полутонов, что добавляет еще один уровень сложности.

Создание аукционов

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

Спецификация функций

Функции Vyper могут быть декорированы внешним декоратором, что позволяет им принимать платежи за транзакции. С другой стороны, солидность требует прохождения внешней и оплачиваемой частей внутри функции. Кроме того, Solidity использует операторы 'if', в то время как Vyper использует операторы 'assert'.

Процесс вывода средств

В отличие от Solidity, процесс вывода средств в Vyper более прост. Solidity требует определения суммы и создания операторов 'if', в то время как Vyper использует более простой метод.

Прекращение действия контракта

Vyper проверяет время с помощью 'assert', но Solidity требует оператора 'if' перед установкой переменной ended в значение "True". Кроме того, в отличие от Vyper, Solidity требует эмиссии об окончании аукциона и передачи наличных денег.

Настройка Vyper

Подготовка среды разработки

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

  1. Установите Python: Для Vyper требуется Python 3.6 или выше. Вы можете скачать Python с официального сайта. Следуйте инструкциям, чтобы установить его на своей машине. Вы можете проверить установку, набрав
    python --version в Вашем терминале. В качестве выходных данных Вы должны увидеть версию Python, которую Вы установили.

  2. Установите Pip: Pip - это менеджер пакетов для Python. Он используется для установки и управления дополнительными пакетами, которые не являются частью стандартной библиотеки Python. Pip должен быть установлен автоматически, когда Вы устанавливаете Python. Вы можете проверить установку, набрав в терминале pip --version. Если он не установлен, Вы можете загрузить его с официального сайта Pip и следовать приведенным там инструкциям.

Установка Vyper

Как только Ваша среда будет готова, Вы можете установить Vyper. Откройте свой терминал и выполните следующую команду:

Python
pip3 install vyper

Вы можете видеть, что в конце кода терминал предлагает нам обновить pip, набрав команду:

Python
python.exe -m pip install --upgrade pip

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

После завершения установки Вы можете проверить версию Vyper, выполнив команду vyper --version. В качестве выходных данных Вы должны увидеть версию Vyper, которую Вы установили.

Знакомство с инструментами разработки и IDE компании Vyper

Хотя Вы можете писать код Vyper в любом текстовом редакторе, использование интегрированной среды разработки (IDE) может значительно облегчить Вашу работу. Вот два варианта для Вас:

  1. Remix: Remix - это браузерная IDE, предоставляемая компанией Ethereum. Он поддерживает как Solidity, так и Vyper и предлагает такие возможности, как встроенный компилятор, надежный отладчик и среду тестирования. Вы можете начать использовать Ремикс, перейдя на официальный сайт Ремикс. Установка не требуется. (Мы будем использовать эту опцию во время нашего курса)

  2. Brownie: Brownie - это основанная на Python среда разработки и структура тестирования для Ethereum. Он поддерживает как Solidity, так и Vyper. Одним из ключевых преимуществ Brownie является то, что он позволяет Вам писать тесты на Python, языке, с которым многие разработчики уже знакомы. Чтобы установить Brownie, откройте терминал и выполните pip3 install eth-brownie. Это займет несколько минут, при этом будет установлено множество библиотек и пакетов.

免責事項
* 暗号資産投資には重大なリスクが伴います。注意して進めてください。このコースは投資アドバイスを目的としたものではありません。
※ このコースはGate Learnに参加しているメンバーが作成したものです。作成者が共有した意見はGate Learnを代表するものではありません。