Кто угодно может создать смарт-контракт

Смарт-контракты облегчат вам ведение бизнеса в новой децентрализованной экономике. Большинство смарт-контрактов заключаются на платформах DApp (децентрализованных приложений), таких как Ethereum, Lisk или Cardano, и крупные технологические компании, такие как IBM, создают свои собственные предприятия. В этом есть смысл, поскольку есть множество компаний, которые предпочли бы доверить технологическому гиганту вроде IBM разработку продукта для них, чем сами заняться новой технологией..

Разработка смарт-контрактов может стать востребованным навыком для разработчиков, которые знают, как их создавать. Удивительная часть смарт-контрактов заключается в том, что их несложно создать. Платформы DApp и сопутствующие инструменты позволяют создавать их и легко создавать собственную технологию блокчейн..

Разработчики Javascript не должны бояться блокчейна. С небольшим пониманием блокчейн становится похож на большинство других фреймворков, которые вы обычно реализуете..

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

При первом создании смарт-контракта вы должны решить, что вы хотите, чтобы он облегчил.

В этом примере давайте сосредоточимся на продаже билетов на мероприятия. Продажа билетов имеет огромные проблемы со спекулянтами, скупающими тонны билетов, и с людьми, использующими поддельные билеты. Технология блокчейн превосходит многие вещи; два из них – облегчение транзакций и отслеживание информации.

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

Параметры платформы DApp

Следующее, что нужно выбрать, это на какой платформе DApp строить контракт..

Ethereum это самая крупная и известная платформа. У него также самая активная база пользователей, и при любом типе разработки активное сообщество, которое ответит на ваши вопросы, является ключом к завершению вашего продукта. Однако есть один недостаток: он использует собственный язык Solidity для написания контрактов..

Другой вариант, Лиск, представляет собой платформу DApp, основанную на Javascript, поэтому вы не получите никакого нового синтаксиса. У него также есть собственный магазин DApp (например, Google Play или магазин iTunes), где вы можете опубликовать свое приложение, когда закончите..

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

А пока давайте рассмотрим Ethereum или Lisk в качестве платформы выбора..

Как разработчику Javascript Lisk может показаться логичным решением, потому что вы уже знакомы с этим языком..

Однако не считайте Ethereum. Сообщество разработчиков настолько сильное, что вы можете исправить любое недопонимание Solidity с помощью доступной избыточной информации. Ethereum также включает фреймворк Truffle, созданный Consensys, который позволяет легко интегрировать и тестировать ваше приложение для смарт-контрактов..

рамки смарт-контрактов Ethereum

Создание смарт-контракта

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

При создании вашего первого контракта Ethereum мы рекомендуем использовать среду разработки по адресу remix.solidity.org. Это дает вам интерактивную среду для развертывания вашего контракта и взаимодействия с ним из разных учетных записей Ethereum. Выпадающее меню позволяет переключать учетные записи и использовать любые вызовы функций вашего контракта, нажимая соответствующие кнопки..

На что обращать внимание

Уникальность Solidity – это использование адресации. Все учетные записи Ethereum имеют уникальные адреса, и эти адреса представляют стороны, заключающие договор..

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

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

Также стоит отметить, что в Solidity не все вызовы по контракту бесплатны. Чтобы изменить информацию в контракте, например купите или воспользуйтесь билетом, сетью автоматов, подтверждающих исполнение контракта, взимайте плату за «газ». Газ – это, по сути, плата за использование вычислительной мощности в сети..

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

Подключение к JavaScript

Самая сложная часть работы в Solidity – интеграция вашего контракта с Javascript. Все это делается с помощью Каркас трюфеля.

Первым шагом в интеграции вашего контракта является его развертывание и перенос в тестовую сеть. Truffle предоставляет свой собственный RPC, отдельную тестовую сеть Ethereum под названием Ganache. Этот процесс дает вам JSON-версию контракта, которую вы можете вызвать, используя адреса вашей тестовой сети через ваше приложение Javascript..

Если вам нужна дополнительная информация об этом процессе, Truffle отлично справляется с описанием этого процесса в своих документах и ​​примерах, которые можно найти на своих интернет сайт.

Коробки для трюфелей

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

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

Хотя блокчейн похож на базу данных, он не полностью идентичен. Он имеет совершенно уникальный протокол, включающий транзакции, хеширование и создание блоков. Это может быть самой сложной частью разработки Ethereum. В нашем примере с билетами вам необходимо структурировать контракт на покупку билета, отличный от призыва на использование билета. Виртуальная машина Ethereum разборчива к этим вызовам.

Это еще одна область, в которой может быть полезно большое сообщество разработчиков Ethereum. Есть большая вероятность, что на любой ваш вопрос уже был дан ответ на Ethereum Stack Exchange, а если нет, то другие разработчики более чем готовы помочь вам в рамках вашего контракта..

Вывод

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

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

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me