Саморазвитие разработчиков Web3 — языки смарт-контрактов
Смарт-контракты — это автоматизированные протоколы выполнения на блокчейн-платформе, которые позволяют осуществлять доверительные сделки без посредников. Контракт содержит кодовые функции, которые автоматически выполняются при выполнении заданных условий.
Концепция смарт-контрактов была предложена Ником Сзабо в 90-х годах, но широкое применение она получила только с появлением Ethereum. Ethereum поддерживает развертывание и выполнение смарт-контрактов и считается блокчейном второго поколения.
Язык смарт-контрактов используется для написания смарт-контрактов, которые после компиляции выполняются на виртуальной машине блокчейн-платформы. Такие языки должны безопасно и эффективно выражать правила контрактов и предоставлять инструменты для обработки транзакций и состояния блокчейна.
Большинство разработчиков разрабатывают на Ethereum и совместимых с EVM блокчейнах, Solana является платформой с наибольшим количеством разработчиков в не-EVM совместимой экосистеме, а Move была специально разработана для безопасной разработки смарт-контрактов блокчейна.
В этой статье будет рассмотрено три аспекта языков смарт-контрактов: EVM система, Solana система и Move система.
EVM система
EVM является ядром Ethereum, ответственным за выполнение смарт-контрактов и обработку транзакций. Ethereum использует многоуровневую архитектуру, включая байт-код, промежуточный язык и язык высокого уровня.
На блокчейнах Ethereum и совместимых с EVM наиболее популярными языками являются Solidity и Vyper, а также доступны Yul, Yul+, Fe и Huff.
Солидность была впервые предложена техническим директором Эфириума Гэвином Вудом. Это объектно-ориентированный язык программирования, сильно вдохновленный C++, Python и JavaScript. Solidity определяет стандарт ABI для взаимодействия с смарт-контрактами.
Vyper разработан командой Виталика Бутерина и является альтернативным выбором для Solidity. Vyper похож на Python и оптимизирован для безопасности, читаемости и эффективности газа.
Yul — это язык ассемблера с расширенными управляющими потоками, который является частью инструментария Solidity. Yul+ — это расширенная версия Yul.
Fe - это язык высокого уровня, похожий на Rust, который использует модульную систему для повторного использования кода.
Huff — это язык ассемблера, обладающий ручным управлением стеком и минимальной абстракцией к набору инструкций EVM.
На Ethereum около 90% смарт-контрактов разработаны на языке Solidity, что значительно превышает долю других языков. Yul и Yul+ обычно используются для оптимизации Gas, а Huff предназначен для экстремальной оптимизации Gas.
Solana сеть
Solana славится своей механизмом PoH и высокой производительностью, она является одной из самых быстроразвивающихся публичных цепочек за последний год.
Солана называет смарт-контракты программами на цепочке, которые в основном написаны на языке Rust. У Соланы есть уникальная виртуальная машина SVM и байткод SBF.
Ключевой компонент SVM Sealevel реализует параллельную обработку. Смарт-контракты Solana определяют состояние чтения и записи во время выполнения, что позволяет параллельно выполнять транзакции без конфликтов.
SBF основан на eBPF, обладает высокой производительностью, безопасностью и портативностью. SBF использует пользовательские валидаторы для обеспечения завершения программы и правильности инструкций.
Теоретически все языки, поддерживающие компиляцию в LLVM IR, могут использоваться для написания смарт-контрактов Solana, но на практике поддерживаются только Rust и Solang.
Rust является универсальным статически компилируемым языком, отличающимся высокой производительностью и безопасностью памяти. Solang — это компилятор Solidity на основе архитектуры LLVM, который поддерживает использование Solidity на Solana и Polkadot.
Rust является основным языком, официально поддерживаемым Solana, обладая большей стабильностью; основное преимущество Solang заключается в его совместимости с языком Solidity.
Move система
Move — это язык смарт-контрактов, разработанный для проекта Diem от Meta, который отличается защитой типов ресурсов первого класса, гибкостью и безопасной проверяемостью.
Aptos и Sui используют Move в качестве основного языка смарт-контрактов. Aptos унаследовал Diem Move, Sui использует кастомизированную Sui Move.
Компилятор, валидатор и виртуальная машина Move были разработаны с нуля. Валидатор является основной механизмом безопасности Move, который обеспечивает соблюдение правил безопасности типов, памяти и ресурсов.
Move дружелюбен к формальной верификации, не поддерживает такие особенности, как динамическое назначение, все пути контракта могут быть определены на этапе компиляции. Move Prover — это инструмент формальной верификации смарт-контрактов.
смарт-контракты разработка инструменты
Для разработчиков EVM-совместимых цепей Solidity является предпочтительным. Основные инструменты для разработки включают:
Hardhat: среда разработки для компиляции, развертывания, тестирования и отладки приложений на Ethereum.
OpenZeppelin: предоставляет открытые библиотеки безопасных смарт-контрактов.
Foundry: фреймворк, ориентированный на Solidity, для создания, тестирования и развертывания смарт-контрактов.
Solana является вторым выбором после Ethereum, основным фреймворком разработки является Anchor, который упрощает процесс разработки на Solana.
Язык Move имеет инновации в базовом безопасном дизайне, но в настоящее время существует мало публичных цепей на основе Move, а инструменты разработки недостаточно развиты.
Итог
Оценка языков разработки смарт-контрактов обычно учитывает удобство использования, безопасность и экосистемные ресурсы.
Solidity имеет наибольшее влияние, предлагает множество инструментов разработки и библиотек, подходит для быстрой разработки.
Rust компенсирует безопасность Solidity, экосистема Solana быстро развивается и привлекает разработчиков.
Move добавил больше механизмов безопасности, уровень сложности обучения более дружелюбен, но экосистема все еще находится на ранней стадии.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
20 Лайков
Награда
20
9
Репост
Поделиться
комментарий
0/400
TeaTimeTrader
· 08-05 01:54
Убегаю, убегаю, учу на ходу и продаю смарт-контракты.
Посмотреть ОригиналОтветить0
ponzi_poet
· 08-04 12:19
Чувствую, что смарт-контракты тратят вычислительную мощность.
Посмотреть ОригиналОтветить0
LiquidityHunter
· 08-04 01:45
web3 гений заработка
Посмотреть ОригиналОтветить0
CodeSmellHunter
· 08-02 17:54
солидность действительно хороша
Посмотреть ОригиналОтветить0
OnchainArchaeologist
· 08-02 06:12
сол не стоит и говорить о старых блюдах
Посмотреть ОригиналОтветить0
MemeTokenGenius
· 08-02 06:09
Ах, начинать с нуля - это действительно убивает меня.
Посмотреть ОригиналОтветить0
BearMarketSage
· 08-02 06:09
Кто еще использует sol, ха-ха?
Посмотреть ОригиналОтветить0
MainnetDelayedAgain
· 08-02 06:03
Согласно записям базы данных, концепция, предложенная в 90-х годах, была реализована только через 30 лет. Ждем, когда расцветет.
Посмотреть ОригиналОтветить0
ArbitrageBot
· 08-02 06:03
Целый день изучал контракт, но так и не получил ни одного Кошелек Адрес.
Web3 разработчикам к прочтению: полное объяснение языков смарт-контрактов
Саморазвитие разработчиков Web3 — языки смарт-контрактов
Смарт-контракты — это автоматизированные протоколы выполнения на блокчейн-платформе, которые позволяют осуществлять доверительные сделки без посредников. Контракт содержит кодовые функции, которые автоматически выполняются при выполнении заданных условий.
Концепция смарт-контрактов была предложена Ником Сзабо в 90-х годах, но широкое применение она получила только с появлением Ethereum. Ethereum поддерживает развертывание и выполнение смарт-контрактов и считается блокчейном второго поколения.
Язык смарт-контрактов используется для написания смарт-контрактов, которые после компиляции выполняются на виртуальной машине блокчейн-платформы. Такие языки должны безопасно и эффективно выражать правила контрактов и предоставлять инструменты для обработки транзакций и состояния блокчейна.
Большинство разработчиков разрабатывают на Ethereum и совместимых с EVM блокчейнах, Solana является платформой с наибольшим количеством разработчиков в не-EVM совместимой экосистеме, а Move была специально разработана для безопасной разработки смарт-контрактов блокчейна.
В этой статье будет рассмотрено три аспекта языков смарт-контрактов: EVM система, Solana система и Move система.
EVM система
EVM является ядром Ethereum, ответственным за выполнение смарт-контрактов и обработку транзакций. Ethereum использует многоуровневую архитектуру, включая байт-код, промежуточный язык и язык высокого уровня.
На блокчейнах Ethereum и совместимых с EVM наиболее популярными языками являются Solidity и Vyper, а также доступны Yul, Yul+, Fe и Huff.
Солидность была впервые предложена техническим директором Эфириума Гэвином Вудом. Это объектно-ориентированный язык программирования, сильно вдохновленный C++, Python и JavaScript. Solidity определяет стандарт ABI для взаимодействия с смарт-контрактами.
Vyper разработан командой Виталика Бутерина и является альтернативным выбором для Solidity. Vyper похож на Python и оптимизирован для безопасности, читаемости и эффективности газа.
Yul — это язык ассемблера с расширенными управляющими потоками, который является частью инструментария Solidity. Yul+ — это расширенная версия Yul.
Fe - это язык высокого уровня, похожий на Rust, который использует модульную систему для повторного использования кода.
Huff — это язык ассемблера, обладающий ручным управлением стеком и минимальной абстракцией к набору инструкций EVM.
На Ethereum около 90% смарт-контрактов разработаны на языке Solidity, что значительно превышает долю других языков. Yul и Yul+ обычно используются для оптимизации Gas, а Huff предназначен для экстремальной оптимизации Gas.
Solana сеть
Solana славится своей механизмом PoH и высокой производительностью, она является одной из самых быстроразвивающихся публичных цепочек за последний год.
Солана называет смарт-контракты программами на цепочке, которые в основном написаны на языке Rust. У Соланы есть уникальная виртуальная машина SVM и байткод SBF.
Ключевой компонент SVM Sealevel реализует параллельную обработку. Смарт-контракты Solana определяют состояние чтения и записи во время выполнения, что позволяет параллельно выполнять транзакции без конфликтов.
SBF основан на eBPF, обладает высокой производительностью, безопасностью и портативностью. SBF использует пользовательские валидаторы для обеспечения завершения программы и правильности инструкций.
Теоретически все языки, поддерживающие компиляцию в LLVM IR, могут использоваться для написания смарт-контрактов Solana, но на практике поддерживаются только Rust и Solang.
Rust является универсальным статически компилируемым языком, отличающимся высокой производительностью и безопасностью памяти. Solang — это компилятор Solidity на основе архитектуры LLVM, который поддерживает использование Solidity на Solana и Polkadot.
Rust является основным языком, официально поддерживаемым Solana, обладая большей стабильностью; основное преимущество Solang заключается в его совместимости с языком Solidity.
Move система
Move — это язык смарт-контрактов, разработанный для проекта Diem от Meta, который отличается защитой типов ресурсов первого класса, гибкостью и безопасной проверяемостью.
Aptos и Sui используют Move в качестве основного языка смарт-контрактов. Aptos унаследовал Diem Move, Sui использует кастомизированную Sui Move.
Компилятор, валидатор и виртуальная машина Move были разработаны с нуля. Валидатор является основной механизмом безопасности Move, который обеспечивает соблюдение правил безопасности типов, памяти и ресурсов.
Move дружелюбен к формальной верификации, не поддерживает такие особенности, как динамическое назначение, все пути контракта могут быть определены на этапе компиляции. Move Prover — это инструмент формальной верификации смарт-контрактов.
смарт-контракты разработка инструменты
Для разработчиков EVM-совместимых цепей Solidity является предпочтительным. Основные инструменты для разработки включают:
Solana является вторым выбором после Ethereum, основным фреймворком разработки является Anchor, который упрощает процесс разработки на Solana.
Язык Move имеет инновации в базовом безопасном дизайне, но в настоящее время существует мало публичных цепей на основе Move, а инструменты разработки недостаточно развиты.
Итог
Оценка языков разработки смарт-контрактов обычно учитывает удобство использования, безопасность и экосистемные ресурсы.
Solidity имеет наибольшее влияние, предлагает множество инструментов разработки и библиотек, подходит для быстрой разработки.
Rust компенсирует безопасность Solidity, экосистема Solana быстро развивается и привлекает разработчиков.
Move добавил больше механизмов безопасности, уровень сложности обучения более дружелюбен, но экосистема все еще находится на ранней стадии.