Что такое НЕО?

NEO — это сокращение от «Новое экономическое движение», которое по своей сути представляет собой альтернативу блокчейну Ethereum для выполнения смарт-контрактов.

Что такое нОС?

Это автономный браузер, который внедряет библиотеку javascript, которая позволяет одностраничному приложению JavaScript выполнять вызовы кошелька NEO или смарт-контракта nOS от имени пользователя, запустившего браузер. Чтобы получить доступ к смарт-контракту, dApp должен зарегистрировать имя .neo в смарт-контракте nOS, который затем можно открыть с помощью браузера nOS.

Помимо предоставления доступа к остаткам на счетах и ​​служебным функциям, связанным с внутренней работой платформы NEO, API обеспечивает доступ для чтения к простому хранилищу на основе «ключ-значение», предоставляемому каждым смарт-контрактом. Он также может вызывать вызовы функций и отправлять NEO или GAS.

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

nOS также представляет новый обработчик протокола для nos://, который можно использовать для ссылки на другие dApp или другое представление того же dApp. Полную документацию по API можно найти здесь.

Как начать разработку для nOS?

Разработать dApp для nOS так же просто, как запустить клиент nOS из официального репозитория github и создать одностраничное приложение JavaScript, которое загружает API JavaScript nOS. Любое одностраничное приложение javascript можно вызвать из клиентского браузера nOS, введя адрес в серой адресной строке в верхней части окна.

В качестве альтернативы доступен dapp-starter-kit, который очень самоуверен в выборе используемых зависимостей javascript, таких как ReactJS, систем сборки и инструментов тестирования.

Как разработать смарт-контракт NEO?

Смарт-контракты на NEO могут быть написаны на C#, Java или Python. Другие языки будут поддерживаться в будущем. Каждый смарт-контракт имеет статическую функцию Main, которая возвращает true или false, чтобы указать, разрешено ли вызывающему абоненту тратить активы смарт-контракта. Функция Main также является местом для вызова с помощью простых строк и списка аргументов, которые отправляются для вызова операций в смарт-контракте. Таким образом, сигнатура основных функций является единственным интерфейсом, который может запрашиваться внешним миром для обеспечения взаимодействия со смарт-контрактом.

Языком по умолчанию для разработки NEO является C#. Я использую Mac, и Visual Studio для моей версии MacOSX несовместима с обязательными вспомогательными расширениями. Поэтому я выбрал Python, который является хорошим выбором как для специалистов по данным, так и для инженеров по искусственному интеллекту, а также для непрограммистов.

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

Краткое введение в программирование смарт-контрактов NEO с помощью Python можно найти на YouTube.

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

Дополнительные примечания

Вам понадобится GAS в тестовой сети. Эту и дополнительную помощь можно получить, спросив на официальном сервере nOS Discord, где сообщество поможет вам начать работу, или на канале #development официального сервера NEO Discord.

Из тестового сетевого развертывания вашего смарт-контракта вы можете продолжить использовать библиотеки nOS, которые обсуждались ранее, чтобы подключить интерфейс одностраничного приложения JavaScript к вашему API-интерфейсу смарт-контрактов. Клиент nOS по умолчанию подключается к тестовой сети Neo.