Как создать смарт-контракты с помощью Ergoscript | Платформа Ergo

This page is machine-translated.
Ergo Platform

20 февраля 2024 г.

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

Что такое смарт-контракт?

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

Смарт-контракты Ergo — это одна из многих функций, которые отличают его от других криптовалют. Давайте посмотрим, почему смарт-контракты Ergo так особенные.

Понимание ErgoScript

Ergo использует язык программирования ErgoScript, который основан на Scala. Документация Ergo утверждает, что ErgoScript является упрощенной формой Scala, которая служит высокоуровневым языком, переводимым в ErgoTree, который, в свою очередь, является низкоуровневым языком, дополнительно переводимым в криптографический протокол во время выполнения. Этот дизайн позволяет Ergo поддерживать различные криптографические протоколы, включая кольцевые и пороговые подписи. В отличие от Bitcoin, ErgoScript учитывает сложные финансовые контракты, включая самовоспроизведение, что позволяет создавать процессы, полные Тьюринга, на блокчейне, сохраняя при этом принципы безопасности и конфиденциальности Bitcoin. По сути, ErgoScript упрощает создание безопасных, сложных децентрализованных приложений, сохраняя при этом возможности конфиденциальности.

Предварительные требования для создания смарт-контрактов

Поскольку Ergo является блокчейном eUTXO и имеет свой собственный язык программирования, новым разработчикам необходимо сначала ознакомиться с несколькими функциями Ergo, прежде чем создавать смарт-контракты. Одна из этих функций — концепция «коробок». В Ergoscript 'коробка' является адаптированной версией UTXO. Она служит не только как держатель криптовалюты, связанной с адресом, но также включает 'регистры' для дополнительных данных. Эти данные могут варьироваться от базовых значений до сложных структур, которые могут использоваться в транзакциях и выполнении смарт-контрактов. Это различие выделяет коробку Ergo среди типичного UTXO, который просто обозначает неиспользуемую сумму криптовалюты, связанную с конкретным адресом. В криптовалютах на основе UTXO транзакции используют существующие UTXO в качестве входов и генерируют новые в качестве выходов, а неиспользуемые выходы представляют собой монеты, доступные для расходования в будущих транзакциях.

Еще один важный аспект, который новым разработчикам нужно знать, — это общее понимание Описание языка ErgoScript. Эта ссылка поможет новым разработчикам начать. Ниже представлено изображение некоторых аспектов Ergoscript, с которыми пользователь может ознакомиться.

introduction (1).png

Как я могу создать смарт-контракт, используя ErgoScript?

Первый шаг к изучению того, как кодировать смарт-контракты на Ergo, — это ознакомиться с ErgoScript. Важно еще раз отметить, что Ergo использует модель UTXO, которая довольно отличается от традиционной модели аккаунтов. Отличным примером того, как модель eUTXO вписывается в смарт-контракты, является документация Ergo здесь. Например, с eUTXO конкретно создание смарт-контракта включает назначение выходного транзакционного вывода в качестве контракта. Например, вы можете захотеть заплатить 10 цифровых монет своему другу, если температура достигнет 90 градусов по Фаренгейту. Это представлено как куча в цифровой копилке, прикрепленной к скрипту, указывающему условие расходования. Если условие выполнено, ваш друг может потратить деньги с доказательством выполненного условия. В противном случае средства остаются в куче, которая будет видна всем участникам.

Смарт-контракты могут быть сложными и подавляющими как для новичков, так и для опытных разработчиков. К счастью, экосистема Ergo предлагает множество ресурсов, показывающих, как изучать Ergoscript и как кодировать смарт-контракты. Этот ресурс в частности ведет пользователя в «Ergo Playground», где они могут экспериментировать с несколькими уровнями сложности смарт-контрактов. Это видео Роберта Корнацки проведет вас через начальные этапы создания смарт-контракта с контрактом на пин-код.

ergoscript_examples (1).png

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

Когда пользователь хочет вывести свои средства (потратить UTXO, заблокированный под этим контрактом), он/она подает withdrawTransaction с фактическим номером пин-кода в регистре выходного UTXO. Контракт затем выполняется и проверяет, что когда новый предоставленный номер пин-кода хэшируется, он равен оригинальному хэшу, хранящемуся в регистре коробки, заблокированной контрактом. Если они равны, контракт подтверждается, и транзакция принимается как действительная и добавляется в историю блокчейна.

Обратите внимание, что этот контракт предназначен исключительно для использования в качестве учебного примера. Он совершенно небезопасен и никогда не должен использоваться в цепи. Плохие актеры могут сканировать мемпул, чтобы найти номер пин-кода, когда withdrawTransaction публикуется, а затем опередить, разместив tx с более высокой комиссией + тем же номером пин-кода, тем самым украдя ваши заблокированные средства. Тем не менее, это отличный простой контракт, чтобы начать.

Это отличный смарт-контракт, с которым можно поиграть на начальных этапах разработки Ergo. Это может помочь новым разработчикам привыкнуть к работе с Ergoscript. Новые разработчики могут использовать эту ссылку, чтобы перейти непосредственно в Ergo Playground с уже импортированным кодом. Еще раз, этот код небезопасен и должен использоваться только в образовательных целях.

Будущее смарт-контрактов

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

Заключение

ErgoScript в конечном итоге является языком программирования, который выделяется благодаря тому, что позволяет создавать динамичные и безопасные смарт-контракты на Ergo. Он позволяет разработчикам создавать сложные и продвинутые децентрализованные приложения, при этом будучи гораздо проще в использовании, чем многие другие языки программирования. Открытая природа Ergo также упрощает процесс для разработчиков, чтобы реализовать свое видение и создать что-то особенное.

Для разработчиков, которые хотят либо начать изучение ErgoScript и смарт-контрактов, либо желают более глубоких знаний о смарт-контрактах, пожалуйста, ознакомьтесь с документацией ниже. В Discord Ergo также есть раздел #development, в котором единомышленники могут взаимодействовать и изучать ErgoScript на более глубоком уровне.

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

Share post

Ergo Infrastructure DAO: Децентрализация основного каркаса экосистемы Ergo

Ergo Infrastructure DAO: Децентрализация основного каркаса экосистемы Ergo

Миссия Ergo всегда была основана на децентрализации, не только на уровне консенсуса, но и на всем стеке.

Ergo Platform

13 августа 2025 г.

Mew Finance: Игровой DeFi инструмент для экосистемы Ergo

Mew Finance: Игровой DeFi инструмент для экосистемы Ergo

Mew Finance — это децентрализованный набор приложений на блокчейне Ergo.

Ergo Platform

12 августа 2025 г.

Lithos: Децентрализация майнинга с помощью ончейн пулов

Lithos: Децентрализация майнинга с помощью ончейн пулов

Lithos — это новый протокол, разработанный для изменения работы майнинг-пулов, перемещая их в ончейн, предоставляя майнерам полный.

Ergo Platform

24 июля 2025 г.

Sigma 6.0: Более умный и гибкий Ergo

Sigma 6.0: Более умный и гибкий Ergo

Sigma 6.0 — это значительное предложенное обновление для блокчейна Ergo.

Ergo Platform

23 июля 2025 г.

Формирование будущего Rosen: Общественный призыв к пяти ключевым предложениям казначейства

Формирование будущего Rosen: Общественный призыв к пяти ключевым предложениям казначейства

Соучредитель Rosen, Armeanio, представил пять новых предложений в казначейство Rosen.

Ergo Platform

9 июля 2025 г.

Расширенный UTXO Ergo и восход искусственного экономического интеллекта

Расширенный UTXO Ergo и восход искусственного экономического интеллекта

Практическое видение автономных экономических агентов Автономные экономические агенты на блокчейне Ergo выполняют полезную работу.

Ergo Platform

12 мая 2025 г.

ErgoHACK X: Искусственный Интеллект на Блокчейне Ergo

ErgoHACK X: Искусственный Интеллект на Блокчейне Ergo

Празднование Десятилетия Децентрализованных Инноваций Присоединяйтесь к 10-летнему юбилею ErgoHACK и будьте на переднем крае револ.

Ergo Platform

10 апреля 2025 г.