Релиз Mosaics и Namespaces в тестовой сетиПоскольку работа над Mosaics близка к завершению, пришло время попробовать ее в работе, в тестовой сети. Последние версии клиента NEM для testnet можно найти
здесь. Первая версия Mosaics сейчас полностью реализована для NIS, но работа по встраиванию Mosaics в NCC пока еще не завершена. Чтобы не ждать, и уже сегодня начать проверку функционирования Mosaics, для тестовой сети сделан простой временный вариант графического интерфейса, Nickel GUI, который можно скачать по той же ссылке, приведенной ранее.
Nickel это простой графический интерфейс, предназначенный для тестирования новых возможностей NEM в части Mosaics.
Mosaics как функция определяет очень важную, системообразующую часть платформы NEM. Фактически, она поднимает NEM над общим уровнем криптоландшафта. Благодаря Mosaics открываются новые возможности, которые недоступны для большинства блокчейн платформ. В сочетании с мультиподписью, Mosaics делает NEM настоящей криптоплатформой, а не простой криптомонетой.
Прежде чем начать тестирование Mosaics, вы должны понять, как работает Namespaces (пространство имен). Самый простой способ для понимания Namespaces - провести аналогию с папками и файлами в компьютере. Вы понимаете, что папка в корневой (самый низкий уровень) директории должна быть уникальной. В Namespaces уникальность имен реализована подобным образом. Если в экосистеме NEM создается пространство имен, то оно будет всегда уникальным. Например, если кто-то создаст пространство имен с именем "foo", то другой человек не сможет создать пространство имен с таким же именем. Хотя, можно создавать сколько угодно подпространств имен с одинаковыми именами (например: "foo.bar" и "foo2.bar", здесь "bar" является подпространством имен / субдоменом). В этом контексте термины "пространство имен" (namespace) и "доменное имя" (domain name) это одно и тоже по смыслу, и их можно использовать как синонимы. Доме́н (фр. domaine) - область; единица структуры.
Теперь перейдем к Mosaics. Конкретная мозаика подобна файлу в системной директории компьютера и представляет собой актив, и, как файлы в директориях, мозаики могут иметь повторяющуюся часть имени, но только в разных пространствах имен. Пространства имен могут иметь до 3 уровней.
Возьмем для примера:
пространство (корневой уровень домена): spaceminers
подпространство 1: mars
подпространство 2: moon
мозаики: gold, gem, water
Соответственно, можно назвать такие мозаики:
spaceminers * gold
spaceminers * gem
spaceminers * water
spaceminers.mars * gold
spaceminers.mars * gem
spaceminers.mars * water
spaceminers.mars.moon * gold
spaceminers.mars.moon * gem
spaceminers.mars.moon * water
Каждая из перечисленных мозаик уникальна благодаря уникальному полному имени пространства, в котором она определена. Кроме того заметим, что мозаике предшествует символ *, окруженный пробелами, для того, чтобы отличать ее от пространства имен, а также для лучшей читабельности.
Все, что находится под доменом корневого уровня, принадлежит аккаунту, создавшему его. В приведенных выше примерах, доменное имя корневого уровня "spaceminers".
Значение Namespaces и Mosaics для NEMNamespaces приводит к уникальному именованию в системе. Mosaics приводит к созданию активов. Кто-то может назвать это цветной монетой, а кто-то токеном. Но мы все-таки назвали это Mosaics, потому что это, в конечном итоге, превратится в нечто большее, чем простая цветная монета. По сути это элемент мозаики, плитка, которая будет обладать различными видами свойств, список которых будет расширяться по мере развития NEM. Из таких плиток сформируется общая картина NEM.
В первой версии Mosaics имеет следующие свойства:
- description Описание. Текстовое описание мозаики, в произвольной форме, до 128 символов. Может изменяться владельцем.
- divisibility Делимость. Количество цифр после запятой в десятичном представлении величины. Можно задать от 0 до 6 знаков после запятой.
- information Информация. Произвольные байты, в ограниченном количестве. Подобие сообщения в транзакции NEM.
- mutable quantity Изменяемость количества. Разрешение или запрет изменения количественной величины актива.
- name Имя (обязательно) Имя мозаики, не более 32 символов; должно быть уникальным в рамках домена.
- domain name or namespace Доменное имя или пространство имен (обязательно). Уникальное полное доменное имя, которое зарегистрировано и принадлежит создателю мозаики. Пространство имен верхнего уровня имеет ограничение на размер 16 символов, суб-имена имеют предел 64 символа.
- quantity Количество. Количество мозаик в обращении. Если оно фиксировано (mutable quantity = "no"), оно не изменяется, в противном случае оно динамично, то есть, потом эти мозаики могут быть как созданы дополнительно, так и уничтожены.
- transferability Переносимость. Если "no", то это означает, что мозаики могут быть переданы только между пользователем и ее создателем. В противном случае, они могут менять своих владельцев без ограничения.
- levy Сбор с оборота. Это свойство позволяет создателю мозаики установить налог для любых последующих операций с этой мозаикой. Это отчисление отправляется на аккаунт, указанный создателем.
Как пользоваться NickelСкачать программу Nickel в виде архива. Распаковать архив в любую папку. Перейти в папку и запустить nickel.exe. Убедитесь, что ваша тестовая NIS работает (локально на вашем компьютере или удаленно на компьютере с указанным IP). Также можно запустить тестовый NCC для просмотра совершенных транзакций. NCC сможет только показывать транзакции, совершаемые в Nickel, но операции с Namespaces и Mosaics в текущей версии он выполнять не может.
Интерфейс Nickel имеет четыре основных экрана:
Первый экран предназначен для создания namespaces. На рисунке 1 показано создание пространства имен "spaceminers", являющегося доменом корневого уровня:
Заранее побеспокойтесь о том, чтобы у вас было достаточно XEM на аккаунте для создания namespaces. Плата за создание имен корневого уровня составляет 50000 XEM, суб-имен - 5000 XEM.
На рисунке 2 показано создание имен суб-уровня. Перед суб-именами ставится точка ".". Пользователь может создать до двух суб-имен после корневого имени.
3-й рисунок показывает создание мозаики. Здесь показано создание мозаики "water" в пространстве имен "spaceminers.mars". Обратите внимание, что в NCC это будет выглядеть как "spaceminer.mars * water", но символ "*" в Nickel не нужно набирать.
Мозаик "water" создано в количестве 10000 единиц с divisibillity 4. С учетом 4-х знаков после запятой количество инициированных единиц будет 100 000 000.
Флажок "Mutable supply" означает, что количество не является фиксированным и создатель может изменить его впоследствии путем добавления или уничтожения. Если флажок не установлен, будет создан фиксированный объем активов, который никогда не будет изменен.
Если флажок "Transferable" не установлен, это означает, что мозаика может быть передана только между создателем и потребителем. В этом случае пользователи не могут передавать такую мозаику другим пользователям. В данном примере мозаики могут торговаться среди третьих лиц.
Существует сбор, взимаемый с каждой транзакции, который устанавливает создатель мозаики. Этот сбор может быть установлен в абсолютном количестве или в процентах от величины мозаики. Это позволяет создателю гибко устанавливать сбор, взимаемый при использовании мозаики. Если сбор не нужен, флажок "Has levy" не устанавливается. Принимайте во внимание divisibillity. В приведенном выше примере будет взиматься сбор 0,01 "silver", а не 1 "silver", как указано, потому что "silver" был создан с 2-мя знаками после запятой. Аналогично при исчислении в процентах, набор 100 будет означать 1%.
Обратите внимание, что сбор может быть также определен в XEM или в любой другой мозаике. Просто введите полное имя мозаики в "Mosaic Levy Full Name". Полное мозаики XEM это "NEM * XEM".
На рисунке 4 показано, как количество мозаики может быть увеличено или уменьшено с помощью вкладки "mosaic supply". Это может быть сделано, если только при создании мозаики ее изменчивость была разрешена (mutable = "yes").
На рисунке 5 показано, как мозаика отправляется в количестве 500. Множитель в основном является множителем для отправляемых активов. В данном примере множитель 1 означает, что будет отправлено 10*1=10 мозаик. Если бы он был установлен в 2, было бы отправлено 10*2=20 мозаик.
К этой же транзакции можно прикрепить другие мозаики, нажав на кнопку "Add Attachment (Mosaic)".
В качестве примечания: XEM это также мозаика. Это не просто топливо в системе NEM, это также первая мозаика. Ее полное имя "NEM * XEM". Другими словами, если на аккаунте есть достаточное количество XEM, можно также отправить XEM как мозаику, как показано на рисунке 6. Используя Nickel, введите просто "NEM" в качестве имени и "XEM" в качестве мозаики. Помните, для этой мозаики divisibillity 6, т.е. для отправки 123 XEM необходимо ввести 123000000.
На рисунке 7 показана запись транзакции в NCC с созданием пространства имен корневого уровня "spaceminers", с оплатой 50000 + комиссия за транзакцию 108 XEM.
Кроме того, здесь же показана транзакция с созданием пространства имен второго уровня "mars", с оплатой 5000 + 108 XEM.
Рисунок 8 показывает записи двух транзакций в NCC. В одной из них показано создание мозаики "water" с оплатой 108 XEM. В другой показано отправление мозаик "water" получателю. Важно заметить, что запись "-1.00 +#1 mosaic(s)" означает, что был включен один множитель в одной мозаике. Если больше видов мозаик было отправлено, будет показан более высокий номер. См. рисунок 6, где показана кнопка "Add Attachment (Mosaic)". Воспользуйтесь ей, чтобы отправить получателю больше типов мозаики.
Рисунок 9 показывает всплывающее окно после нажатия на гиперссылку создания мозаики в NCC. Комиссия за транзакцию при создания мозаики "water" 108 XEM. Примечание: дополнительные 50000 XEM берутся с аккаунта по определению мозаики, поэтому NCC это не отображает. Следует отметить, что сбор "spaceminers * silver" был применен к этой мозаике, но это не показано в детализации транзакции. Тем не менее, это можно просмотреть в NEM testnet Explorer.
На рисунке 10 показаны детали транзакции при отправлении мозаики "spaceminers * water". Комиссия за транзакцию в общей сложности 11 XEM. Сбор за использование мозаики 10 "silver". Пожалуйста, обратите внимание, поскольку divisibillity для "spaceminers * silver" установлено 2, то количество серебра отправляется на самом деле 0,01. Аналогично, поскольку divisibillity для XEM 6, для отправления 123 XEM необходимо ввести 123000000.
Дополнительную и более детальную информацию о ваших Namespaces и Mosaics можно получить в
Tembex (NEM Testnet Block Explorer).
Мозаика. Элегантная, но чрезвычайно мощная!