Смарт-контракты помогают вам обменивать деньги, имущество, акции или что-либо ценное прозрачным и бесконфликтным способом, избегая услуг третьих лиц или посредников. Термин «смарт-контракты» был впервые предложен Ником Сабо, американским ученым-компьютерщиком, который изобрел виртуальную валюту под названием «BitGold» в 1998 году.
Блокчейн: Как внедрить ваш первый смарт-контракт?
205
просмотров

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

Что такое Solidness?

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

Структура смарт-контракта

Надежный смарт-контракт включает в себя следующее:

  • Данные – Это сохраняет текущее состояние договора.
  • Функция – это применяет логику для перехода к состоянию контракта.

Разработка смарт-контрактов

Существует два типа переменных, с которыми необходимо ознакомиться в умных контрактах.

Тип значения – эти переменные передаются по значению. Это означает, что они всегда копируются, когда они используются в присваиваниях или в качестве аргументов функции. Целочисленные и логические адреса являются яркими примерами.

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

Добавление данных в смарт-контракт

Первый шаг включает добавление некоторых переменных данных в смарт-контракт. Для каждого заказа должно быть количество, связанное с ним. Например, в случае заказа на поставку должно быть определенное количество продукта, связанное с ним. Переменная, которая вводится сейчас, является целым числом без знака и представлена ​​как uint256. Здесь 256 означает хранение 256 бит. Давайте теперь поймем эти термины.

  • INT относится к целому числу.
  • U означает без знака, что означает, что этот тип может представлять только положительные целые числа, а не как положительные, так и отрицательные целые числа.
  • 256 - Это относится к размеру 256 бит.
  • Минимальное значение uint 256 может быть присвоено 0.
  • Максимальное значение, которое может быть назначено для uint 256, составляет 2 ^ 256-1.

Определение конструктора

Конструктор – это тот, который вызывается во время развертывания контракта. Конструктор использует некоторые значения для инициализации контракта. Также возможно создать параметризованный конструктор, который можно создать, передав переменную и инициализировав функцию, используя переданное значение. Модификатор доступа public, связанный с конструктором, является ключевым моментом, на который следует обратить внимание. Ключевое слово public означает, что любой может получить доступ к функции. Следовательно, это не ограниченная функция.

Добавление функций

Теперь мы добавим функции, чтобы сделать нашу программу интерактивной. Функции относятся к контролируемым возможностям, которые могут быть добавлены в программу. Любой функции всегда будет предшествовать ключевое слово function. Объявление функции выглядит следующим образом: «функция <имя функции> <доступ изменен> <мутатор состояния> <возвращаемое значение>».

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

Настало время для развертывания умного контракта. Мы будем использовать Remix Online IDE для тестирования умного контракта. Remix – это онлайн-площадка, которая используется для умных контрактов Ethereum. Он полностью основан на браузере. Он предоставляет интегрированную среду разработки, в которой вы можете написать свои умные контракты. Remix предоставляет возможность компиляции в режиме онлайн. Remix IDE помогает без труда составить умный контракт, используя конкретную версию компилятора. Это помогает в быстром тестировании умного контракта. Remix оснащен полным набором инструментов для начала разработки смарт-контракта и модульного тестирования смарт-контракта без необходимости установки на локальный компьютер. Используя Remix IDE, вы можете начать разработку интеллектуальных контрактов, просто подключившись к Интернету и используя браузер.

Давайте разберемся с этапами развертывания умного контракта с Remix IDE.

  • Создайте новый файл, нажав на значок плюса.
  • Это создаст пустой файл. Нажмите, чтобы открыть этот файл.
  • Скопируйте и вставьте контракт в этот файл.
  • Нажмите на второй значок, который находится чуть ниже значка файла в левом меню, чтобы появилась опция компилятора солидности.
  • Перейдите к метке компилятора и выберите версию компилятора. После выбора версии компилятора нажмите на файл. Это скомпилирует умный контракт.
  • После компиляции нажмите на кнопку сведений о компиляторе. Это обеспечит вас двумя ключевыми данными, такими как байт-код и двоичный интерфейс приложения. Байт-код – это тот, в котором операционный код виртуальной машины Ethereum (EVM) и логика интеллектуального контракта преобразуются в байт-код после компиляции. Двоичный интерфейс приложения представляет собой файл JSON, в котором содержатся подробные сведения обо всех методах, представленных в смарт-контракте.
  • Чтобы проверить умный контракт, его нужно развернуть. Чтобы развернуть смарт-контракт, щелкните значок в левом меню под значком компиляции.

Взаимодействие с развернутым контрактом

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

Любая операция, которая вызывает операцию записи в состояние контракта, приводит к транзакции.

Ваша реакция?


Мы думаем Вам понравится

Сообщения из Facebook