[RU] Протокол Gems (настраиваемые токены)

26.10.2020 19:20:33

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

Предлагаю рассмотреть протокол Gems как базовый механизм для токенов, как делимых (fungible), так и неделимых (not-fungible).

Gems — адаптивные токены на блокчейне VIZ

В прошлой публикации я затронул вопрос NFT на VIZ, после чего в публичном чате и в приватных были вопросы: «а как же обычные токены?». На самом деле базовые возможности не сильно отличаются для обоих видов токенов.

Базовые свойства Gems

  • Fungible — делимый ли токен (boolean);
  • Owner — аккаунт, провайдер токена (account);
  • Transferable — возможность передавать токен (boolean);
  • Trustline — необходимость оказать доверие провайдеру токена, чтобы владеть им (boolean);
  • Agreement — ссылка на соглашение по использованию токена (string);
  • Tradable — возможность открывать сделку для обмена токена на VIZ (boolean);
  • Limit transfer — возможность лимитировать передачу токена для отдельного аккаунта (boolean);
  • Limit trade — возможность лимитировать обмен токена (boolean);
  • Removable — возможность провайдеру токенов изымать их у текущего владельца, аналог удаления (boolean).

Fungible Gems — Свойства делимых токенов

  • Name — название токена (string);
  • Description — описание токена, назначение (string);
  • Icon — ссылка на иконку токена (string);
  • Precision — точность (количество знаков после запятой, минимум: 0, максимум: 8);
  • Max supply — максимальный объем, 0 — без ограничений (integer);
  • Issuable — возможность провайдеру выпускать актив (boolean);
  • Collateral — требование по обеспечению актива через залог VIZ комитету (boolean);
  • Collateral issuable — возможность выпускать актив любому участнику под залог VIZ комитету (boolean);
  • Collateral ratio — соотношение токена по обеспечению в процентах (integer).

Not-Fungible Gems — Свойства неделимых токенов NFT

  • Category — категория токена (string);
  • Name — название токена (string);
  • Icon — ссылка на иконку токена, опциональное (string);
  • Image — ссылка на изображение токена, опциональное (string);
  • Data location — ссылка на JSON параметры токена, опционально если провайдер хочет контролировать параметры актива централизованно (string);
  • Data — JSON параметры токена, необходим при отсутствии data location (array);
  • Durability — количество секунд действия токена, по умолчанию 0 — не разрушается (integer);
  • Limit — максимальное количество токенов данного типа, по умолчанию 0 (integer);
  • Count — количество выпущенных токенов данного типа, используется для нумерации каждого токена (integer);
  • Collateral — требование по обеспечению актива через залог VIZ комитету (boolean);
  • Collateral issuable — возможность выпускать актив любому участнику под залог VIZ комитету (boolean);
  • Collateral amount — количество VIZ необходимых для выпуска актива, число без точности (integer).

Операции для работы с токенами VIZ Gems

Протокол Gems (для минимизации будет использоваться название G) можно построить на custom операции, используя методы:

  • Create — создание актива с указанием необходимых параметров в ассоциативном массиве;
  • Issue — выпуск нового актива (с указанием названия актива, количества и получателя);
  • Trustline — акт доверия провайдеру с названием актива;
  • Transfer — передача актива другому аккаунту с указанием провайдера актива, наименования, количества (дополнительно категорию в случае передачи NFT Gems);
  • Trade — заявка на обмен конкретному аккаунту с указанием провайдера, наименование  актива, количество, цена в VIZ (отложенная операция, обработка необратимых блоков);
  • Cancel trade — отмена сделки (отложенная операция, обработка необратимых блоков, приоритет у transfer операций для учета совершенных сделок в том же блоке);
  • Transfer ownership — передача владения актива другому аккаунту, смена провайдера (заявка);
  • Accept ownership — получение под управление актив от другого аккаунта (подтверждение);
  • Remove — изъятие актива у аккаунта по названию актива, количеству и цели; 

Для того, чтобы была возможна торговля активами Оракулу необходимо обеспечить отложенную обработку методов trade и cancel trade после учета операций transfer. Это позволит исключить конфликтную ситуацию, когда актив приобретается в том же блоке, где содержится отмена сделки.

Оракулу для создания базы учета VIZ Gems необходимо будет обрабатывать операции custom (для внутренних методов) и transfer (для учета обмена актива на VIZ и выпуску актива с переводом залога VIZ комитету).

Залоговые актива — опциональны. Комитет в данном случае выступает в роли доверенного лица на случай прекращения хождения актива.

Буду рад комментариям и обсуждению по предложенному протоколу VIZ Gems. Запуск и обслуживание данного протокола даст возможность инфраструктурного роста для всей экосистемы проектов запускаемых на VIZ.


0
8 Awards
16.690979 Ƶ
Show comment form
Comments