Ethereum - это революционная технология, которая служит основой для нового типа Интернета, известного как децентрализованная сеть. Ethereum, созданный Виталиком Бутериным, представляет собой платформу с открытым исходным кодом, основанную на блокчейне, которая позволяет разработчикам создавать и развертывать децентрализованные приложения, или dApps. Использование смарт-контрактов в Ethereum позволяет dApp выполнять работу точно по плану, без простоев, цензуры, мошенничества или вмешательства третьих лиц.
Подробнее: Что такое Ethereum?
Эфир (ETH) - это родная криптовалюта Ethereum, и в ней используется язык программирования Solidity. Фундаментальная технология Ethereum, blockchain, представляет собой распределенную бухгалтерскую книгу, которая хранит постоянный, защищенный от взлома список записей. Эта децентрализованная архитектура позволяет разработчикам создавать разнообразные децентрализованные приложения (dApps), используя мощную экосистему платформы и ее адаптивность.
Смарт-контракты - это самоисполняющиеся контракты, в которых условия соглашения непосредственно записаны в строках кода. Они являются фундаментальными строительными блоками dApps на Ethereum. Эти цифровые контракты автоматически выполняют транзакции и перемещают родную валюту Ethereum, Эфир, между счетами при выполнении условий, определенных в контракте. Такая автоматизация устраняет необходимость в посредниках, значительно повышая эффективность и надежность процесса. Поскольку небольшие компьютерные программы хранятся в блокчейне, смарт-контракты предназначены для автоматического приведения в исполнение их условий, что привносит новый уровень автоматизации и точности в цифровые соглашения.
Подробнее: Что такое смарт-контракты?
Как мы обсуждали в одном из наших предыдущих курсов здесь: Курс: Смарт-контракты 101: базовое введение", существует несколько ключевых преимуществ смарт-контрактов, которые делают их революционной концепцией в цифровом мире:
Устранение посредников: Смарт-контракты устраняют необходимость в посредниках, что приводит к более экономически эффективным транзакциям.
Децентрализация: Построение смарт-контрактов поверх блокчейн позволяет создавать децентрализованные платформы, уменьшая зависимость от одной централизованной структуры.
Простая и доступная разработка: Платформы, подобные Ethereum, предоставляют разработчикам инфраструктуру, необходимую для простого и недорогого создания приложений, основанных на транзакциях.
Повышенная безопасность и прозрачность: Поскольку смарт-контракты написаны в коде, транзакции являются необратимыми и отслеживаемыми, что обеспечивает большую прозрачность и безопасность.
Самоусиление: Смарт-контракты являются самоусиливающимися, создавая бездоверительную среду для проведения транзакций с любым человеком в мире.
Наиболее распространенным языком для написания смарт-контрактов на Ethereum является Solidity. Под влиянием JavaScript, Python и C++, Solidity - это статически-типизированный язык, предназначенный для разработки смарт-контрактов Ethereum. Он многофункционален, развит и имеет сильную поддержку сообщества, что делает его первым выбором для многих разработчиков Ethereum.
В то время как Solidity занял центральное место в разработке Ethereum, альтернативный язык под названием Vyper предлагает уникальную и ценную перспективу. Vyper - это ориентированный на безопасность, ориентированный на простоту, Pythonic-язык, предназначенный для написания смарт-контрактов в Ethereum. В отличие от Solidity, Vyper предпочитает отказаться от некоторых функций, чтобы обеспечить более высокую безопасность и более легкое понимание контрактов.
Несмотря на популярность Solidity, приверженность Vyper к безопасности и удобочитаемости делает его привлекательным выбором для многих разработчиков. Он предлагает более доступный синтаксис для тех, кто знаком с Python, что делает его отличной отправной точкой для разработчиков на Python, желающих войти в мир Ethereum dApps.
Для того чтобы лучше понять 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, Вам необходимо убедиться, что Ваш компьютер готов к разработке. Вот что Вам нужно сделать:
Установите Python: Для Vyper требуется Python 3.6 или выше. Вы можете скачать Python с официального сайта. Следуйте инструкциям, чтобы установить его на своей машине. Вы можете проверить установку, набравpython --version
в Вашем терминале. В качестве выходных данных Вы должны увидеть версию Python, которую Вы установили.
Установите Pip: Pip - это менеджер пакетов для Python. Он используется для установки и управления дополнительными пакетами, которые не являются частью стандартной библиотеки Python. Pip должен быть установлен автоматически, когда Вы устанавливаете Python. Вы можете проверить установку, набрав в терминале pip --version
. Если он не установлен, Вы можете загрузить его с официального сайта Pip и следовать приведенным там инструкциям.
Как только Ваша среда будет готова, Вы можете установить Vyper. Откройте свой терминал и выполните следующую команду:
Python
pip3 install vyper
Вы можете видеть, что в конце кода терминал предлагает нам обновить pip, набрав команду:
Python
python.exe -m pip install --upgrade pip
Выполните эту команду, чтобы убедиться в наличии последней версии pip. После установки обновленной версии Вы должны увидеть сообщение следующего содержания
После завершения установки Вы можете проверить версию Vyper, выполнив команду vyper --version
. В качестве выходных данных Вы должны увидеть версию Vyper, которую Вы установили.
Хотя Вы можете писать код Vyper в любом текстовом редакторе, использование интегрированной среды разработки (IDE) может значительно облегчить Вашу работу. Вот два варианта для Вас:
Remix: Remix - это браузерная IDE, предоставляемая компанией Ethereum. Он поддерживает как Solidity, так и Vyper и предлагает такие возможности, как встроенный компилятор, надежный отладчик и среду тестирования. Вы можете начать использовать Ремикс, перейдя на официальный сайт Ремикс. Установка не требуется. (Мы будем использовать эту опцию во время нашего курса)
Brownie: Brownie - это основанная на Python среда разработки и структура тестирования для Ethereum. Он поддерживает как Solidity, так и Vyper. Одним из ключевых преимуществ Brownie является то, что он позволяет Вам писать тесты на Python, языке, с которым многие разработчики уже знакомы. Чтобы установить Brownie, откройте терминал и выполните pip3 install eth-brownie
. Это займет несколько минут, при этом будет установлено множество библиотек и пакетов.
Ethereum - это революционная технология, которая служит основой для нового типа Интернета, известного как децентрализованная сеть. Ethereum, созданный Виталиком Бутериным, представляет собой платформу с открытым исходным кодом, основанную на блокчейне, которая позволяет разработчикам создавать и развертывать децентрализованные приложения, или dApps. Использование смарт-контрактов в Ethereum позволяет dApp выполнять работу точно по плану, без простоев, цензуры, мошенничества или вмешательства третьих лиц.
Подробнее: Что такое Ethereum?
Эфир (ETH) - это родная криптовалюта Ethereum, и в ней используется язык программирования Solidity. Фундаментальная технология Ethereum, blockchain, представляет собой распределенную бухгалтерскую книгу, которая хранит постоянный, защищенный от взлома список записей. Эта децентрализованная архитектура позволяет разработчикам создавать разнообразные децентрализованные приложения (dApps), используя мощную экосистему платформы и ее адаптивность.
Смарт-контракты - это самоисполняющиеся контракты, в которых условия соглашения непосредственно записаны в строках кода. Они являются фундаментальными строительными блоками dApps на Ethereum. Эти цифровые контракты автоматически выполняют транзакции и перемещают родную валюту Ethereum, Эфир, между счетами при выполнении условий, определенных в контракте. Такая автоматизация устраняет необходимость в посредниках, значительно повышая эффективность и надежность процесса. Поскольку небольшие компьютерные программы хранятся в блокчейне, смарт-контракты предназначены для автоматического приведения в исполнение их условий, что привносит новый уровень автоматизации и точности в цифровые соглашения.
Подробнее: Что такое смарт-контракты?
Как мы обсуждали в одном из наших предыдущих курсов здесь: Курс: Смарт-контракты 101: базовое введение", существует несколько ключевых преимуществ смарт-контрактов, которые делают их революционной концепцией в цифровом мире:
Устранение посредников: Смарт-контракты устраняют необходимость в посредниках, что приводит к более экономически эффективным транзакциям.
Децентрализация: Построение смарт-контрактов поверх блокчейн позволяет создавать децентрализованные платформы, уменьшая зависимость от одной централизованной структуры.
Простая и доступная разработка: Платформы, подобные Ethereum, предоставляют разработчикам инфраструктуру, необходимую для простого и недорогого создания приложений, основанных на транзакциях.
Повышенная безопасность и прозрачность: Поскольку смарт-контракты написаны в коде, транзакции являются необратимыми и отслеживаемыми, что обеспечивает большую прозрачность и безопасность.
Самоусиление: Смарт-контракты являются самоусиливающимися, создавая бездоверительную среду для проведения транзакций с любым человеком в мире.
Наиболее распространенным языком для написания смарт-контрактов на Ethereum является Solidity. Под влиянием JavaScript, Python и C++, Solidity - это статически-типизированный язык, предназначенный для разработки смарт-контрактов Ethereum. Он многофункционален, развит и имеет сильную поддержку сообщества, что делает его первым выбором для многих разработчиков Ethereum.
В то время как Solidity занял центральное место в разработке Ethereum, альтернативный язык под названием Vyper предлагает уникальную и ценную перспективу. Vyper - это ориентированный на безопасность, ориентированный на простоту, Pythonic-язык, предназначенный для написания смарт-контрактов в Ethereum. В отличие от Solidity, Vyper предпочитает отказаться от некоторых функций, чтобы обеспечить более высокую безопасность и более легкое понимание контрактов.
Несмотря на популярность Solidity, приверженность Vyper к безопасности и удобочитаемости делает его привлекательным выбором для многих разработчиков. Он предлагает более доступный синтаксис для тех, кто знаком с Python, что делает его отличной отправной точкой для разработчиков на Python, желающих войти в мир Ethereum dApps.
Для того чтобы лучше понять 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, Вам необходимо убедиться, что Ваш компьютер готов к разработке. Вот что Вам нужно сделать:
Установите Python: Для Vyper требуется Python 3.6 или выше. Вы можете скачать Python с официального сайта. Следуйте инструкциям, чтобы установить его на своей машине. Вы можете проверить установку, набравpython --version
в Вашем терминале. В качестве выходных данных Вы должны увидеть версию Python, которую Вы установили.
Установите Pip: Pip - это менеджер пакетов для Python. Он используется для установки и управления дополнительными пакетами, которые не являются частью стандартной библиотеки Python. Pip должен быть установлен автоматически, когда Вы устанавливаете Python. Вы можете проверить установку, набрав в терминале pip --version
. Если он не установлен, Вы можете загрузить его с официального сайта Pip и следовать приведенным там инструкциям.
Как только Ваша среда будет готова, Вы можете установить Vyper. Откройте свой терминал и выполните следующую команду:
Python
pip3 install vyper
Вы можете видеть, что в конце кода терминал предлагает нам обновить pip, набрав команду:
Python
python.exe -m pip install --upgrade pip
Выполните эту команду, чтобы убедиться в наличии последней версии pip. После установки обновленной версии Вы должны увидеть сообщение следующего содержания
После завершения установки Вы можете проверить версию Vyper, выполнив команду vyper --version
. В качестве выходных данных Вы должны увидеть версию Vyper, которую Вы установили.
Хотя Вы можете писать код Vyper в любом текстовом редакторе, использование интегрированной среды разработки (IDE) может значительно облегчить Вашу работу. Вот два варианта для Вас:
Remix: Remix - это браузерная IDE, предоставляемая компанией Ethereum. Он поддерживает как Solidity, так и Vyper и предлагает такие возможности, как встроенный компилятор, надежный отладчик и среду тестирования. Вы можете начать использовать Ремикс, перейдя на официальный сайт Ремикс. Установка не требуется. (Мы будем использовать эту опцию во время нашего курса)
Brownie: Brownie - это основанная на Python среда разработки и структура тестирования для Ethereum. Он поддерживает как Solidity, так и Vyper. Одним из ключевых преимуществ Brownie является то, что он позволяет Вам писать тесты на Python, языке, с которым многие разработчики уже знакомы. Чтобы установить Brownie, откройте терминал и выполните pip3 install eth-brownie
. Это займет несколько минут, при этом будет установлено множество библиотек и пакетов.