waves_logo Docs
  • Почему Waves
    Почему Waves
  • Основные понятия
    Основные понятия
  • Аккаунт
    • Создание аккаунта
      Создание аккаунта
    • Адрес
      Адрес
    • Баланс аккаунта
      Баланс аккаунта
    • Хранилище данных аккаунта
      Хранилище данных аккаунта
    • Псевдоним
      Псевдоним
    • dApp и смарт-аккаунт
      dApp и смарт-аккаунт
    Аккаунт
  • Токен (ассет)
    • NFT: невзаимозаменяемый токен
      NFT: невзаимозаменяемый токен
    • Смарт-ассет
      Смарт-ассет
    • ID токена
      ID токена
    • WAVES
      WAVES
    Токен (ассет)
  • Транзакция
    • Комиссия за транзакцию
      • Спонсирование комиссии
        Спонсирование комиссии
      Комиссия за транзакцию
    • Подпись и подтверждения
      Подпись и подтверждения
    • Типы транзакций
      • Вызов скрипта
        Вызов скрипта
      • Выпуск
        Выпуск
      • Генезис
        Генезис
      • Данные
        Данные
      • Довыпуск
        Довыпуск
      • Закрытие лизинга
        Закрытие лизинга
      • Лизинг
        Лизинг
      • Массовый перевод
        Массовый перевод
      • Обмен
        • Ордер
          Ордер
        Обмен
      • Обновление информации ассета
        Обновление информации ассета
      • Перевод
        Перевод
      • Сжигание токена
        Сжигание токена
      • Cоздание псевдонима
        Cоздание псевдонима
      • Спонсирование
        Спонсирование
      • Установка скрипта
        Установка скрипта
      • Установка скрипта ассета
        Установка скрипта ассета
      • Ethereum-like транзакция
        Ethereum-like транзакция
      Типы транзакций
    • Валидация транзакции
      Валидация транзакции
    Транзакция
  • Блок
    • Корневой хеш транзакций
      Корневой хеш транзакций
    • Блок генезиса
      Блок генезиса
    Блок
  • Нода
    • Лизинг
      Лизинг
    • Доход генератора блока
      Доход генератора блока
    • Монетарная политика
      Монетарная политика
    Нода
  • Mainnet, Testnet, Stagenet
    Mainnet, Testnet, Stagenet
  • Unit Zero
    Unit Zero
  • Оракул
    Оракул
  • Протоколы и форматы данных
    • [en] Cryptographic practical details
      [en] Cryptographic practical details
    • Leased Proof of Stake
      Leased Proof of Stake
    • [en] Waves-NG solution
      [en] Waves-NG solution
    • Протокол Waves-NG
      Протокол Waves-NG
    • Waves 1.5
      Waves 1.5
    • Типы данных блокчейна
      Типы данных блокчейна
    • Бинарные форматы
      • Бинарный формат адреса
        Бинарный формат адреса
      • Бинарный формат псевдонима
        Бинарный формат псевдонима
      • Бинарный формат блока
        Бинарный формат блока
      • [en] Network message binary format
        • [en] Block message binary format
          [en] Block message binary format
        • [en] Checkpoint message binary format
          [en] Checkpoint message binary format
        • [en] Get block message binary format
          [en] Get block message binary format
        • [en] Get peers message binary format
          [en] Get peers message binary format
        • [en] Get signatures message binary format
          [en] Get signatures message binary format
        • [en] Handshake message binary format
          [en] Handshake message binary format
        • [en] Peers message binary format
          [en] Peers message binary format
        • [en] Score message binary format
          [en] Score message binary format
        • [en] Signatures message binary format
          [en] Signatures message binary format
        • [en] Transaction message binary format
          [en] Transaction message binary format
        [en] Network message binary format
      • Бинарный формат ордера
        Бинарный формат ордера
      • Бинарный формат транзакции
        • Вызов скрипта
          Вызов скрипта
        • Выпуск
          Выпуск
        • Генезис
          Генезис
        • Данные
          Данные
        • Довыпуск
          Довыпуск
        • Лизинг
          Лизинг
        • Массовый перевод
          Массовый перевод
        • Обмен
          Обмен
        • Обновление информации ассета
          Обновление информации ассета
        • Отмена лизинга
          Отмена лизинга
        • Сжигание токена
          Сжигание токена
        • Cоздание псевдонима
          Cоздание псевдонима
        • Спонсирование
          Спонсирование
        • Перевод
          Перевод
        • Установка скрипта
          Установка скрипта
        • Установка скрипта ассета
          Установка скрипта ассета
        • Ethereum-like
          Ethereum-like
        Бинарный формат транзакции
      • Бинарный формат подтверждений
        Бинарный формат подтверждений
      Бинарные форматы
    • [en] Validation rules
      [en] Validation rules
    Протоколы и форматы данных
  • Термины
    Термины
      • English
      • Русский
      On this page
        • Параметры пользовательского токена
        • Выпуск токена
        • Операции с токеном
        • Токены других блокчейнов
      waves_logo Docs

          # Токен (ассет)

          Токен или ассет — цифровой актив на блокчейне, который может использоваться:

          • как криптовалюта – для оплаты товаров и услуг в рамках какого-либо проекта, а также для краудфандинга;
          • как объект или ресурс в играх и др.

          Токен может представлять какой-либо объект или ресурс реального мира или виртуальную сущность.

          Слова «токен» и «ассет» в экосистеме Waves используются как синонимы.

          WAVES — основной токен на блокчейне Waves; подробнее о нем в разделе WAVES.

          Все остальные токены являются пользовательскими, то есть выпущены от имени какого-либо аккаунта. Выпустить свой токен может любой аккаунт — достаточно наличия на балансе определенного количества WAVES на оплату комиссии. Новый токен сразу же доступен:

          • для переводов между аккаунтами;
          • для торговли на бирже WX Network , разработанной сторонней командой из сообщества (кроме невзаимозаменяемых токенов NFT; также временно недоступна торговля смарт-ассетами);
          • для платежей, приложенных к транзакции вызова скрипта.

          # Параметры пользовательского токена

          Пример пользовательского токена: https://wavesexplorer.com/ru/assets/HEB8Qaw9xrWpWs8tHsiATYGBWDBtP2S7kcPALrMu43AS .

          Пример JSON-представления, возвращаемого методом GET /assets/details/{assetId} Node REST API:

          {
            "assetId": "HEB8Qaw9xrWpWs8tHsiATYGBWDBtP2S7kcPALrMu43AS",
            "issueHeight": 2868644,
            "issueTimestamp": 1637666412469,
            "issuer": "3PEpe1vvqGKo6gTAfyGPxdgNcfECGAZTaqy",
            "issuerPublicKey": "9YMFU94AX1BhZX6xQU4Y5yR4e78MCUQzB8EZapjuS9WM",
            "name": "Puzzle",
            "description": "DeFi 2.0 is here.",
            "decimals": 8,
            "reissuable": false,
            "quantity": 46965909720523,
            "scripted": false,
            "minSponsoredAssetFee": 100000,
            "originTransactionId": "HEB8Qaw9xrWpWs8tHsiATYGBWDBtP2S7kcPALrMu43AS",
            "sequenceInBlock": 1
          }
          
          Поле Описание
          assetId ID токена: байты в кодировке base58. ID токена вычисляется как хеш параметров токена при выпуске. См. также раздел ID токена
          issueHeight Высота блокчейна (порядковый номер блока), на которой произошел выпуск токена
          issueTimestamp Время выпуска токена: Unix-время в миллисекундах
          issuer Адрес эмитента — аккаунта, выпустившего токен: байты в кодировке base58
          issuerPublicKey Открытый ключ эмитента: байты в кодировке base58
          name Название токена. От 4 до 16 байт (1 символ может занимать до 4 байт)
          description Описание токена. От 0 до 1000 байт
          decimals Количество знаков после запятой, от 0 до 8
          reissuable Флаг возможности довыпуска
          quantity Общее количество токена на блокчейне, в атомарных единицах. От 1 до 9 223 372 036 854 775 807. Количество может меняться в результате довыпуска и сжигания, см. Операции с токеном ниже
          scripted Наличие скрипта: true для смарт-ассета, false для обычного токена. Подробнее о смарт-ассетах
          minSponsoredAssetFee Только для спонсорского ассета: количество ассета, эквивалентное 0,001 WAVES. Подробнее о спонсировании
          originTransactionId ID транзакции, выпустившей токен: байты в кодировке base58
          scriptDetails Только для смарт-ассета: скрипт ассета и его параметры
          sequenceInBlock Порядковый номер токена среди выпущенных в этом блоке (нумерация с 1)

          # Атомарная единица

          Количество токена отображается по-разному в пользовательских интерфейсах и в JSON-представлении, используемом в Node REST API. В запросах и ответах API значения всех полей, содержащих количество токена, выражены в атомарных единицах и поэтому являются целым числом. Такое представление позволяет избежать проблемы точности вычислений.

          Атомарная единица — это минимальная неделимая единица («копейка») токена, она равна 10–decimals.

          Количество токена в JSON-представлении — это фактическое количество, умноженное на 10decimals.

          Для XTN в примере выше:

          • decimals = 6,
          • атомарная единица — 1/1 000 000 XTN.
          • "quantity": 999999999395940000 соответствует 999 999 999 395,94 XTN в пользовательских интерфейсах,
          • "minSponsoredAssetFee": 150000 соответствует 0,15 XTN.

          # Выпуск токена

          Чтобы выпустить токен, нужно отправить транзакцию выпуска, указав в ней параметры токена:

          • name
          • description
          • decimals
          • quantity
          • reissuable
          • script (для выпуска смарт-ассета).

          Пример транзакции

          Создать транзакцию выпуска можно:

          • В приложении WX Network , разработанной сторонней командой из сообщества. См. раздел Создание токена/NFT базы знаний WX Network.
          • В Waves IDE , см. раздел Выпуск смарт-ассета.
          • С помощью одной из клиентских библиотек. См. также примеры в разделе Выпуск токена. Управление токеном.

          Комиссия за транзакцию составляет 1 WAVES для обычного токена или 0,001 WAVES для невзаимозаменяемого токена (NFT).

          Кроме того, токен может быть выпущен скриптом dApp в результате транзакции вызова скрипта — если результат вызываемой функции содержит действие Issue. Минимальная комиссия за транзакцию вызова скрипта увеличивается на 1 WAVES за каждый выпускаемый токен, не являющийся NFT.

          # Операции с токеном

          • Перевод токена на другой аккаунт

            Выполняется с помощью транзакции перевода или транзакции массового перевода.

            Скрипт dApp может перевести токен с помощью действия скрипта ScriptTransfer в результате транзакции вызова скрипта.

          • Обмен (торговля)

            В обмене могут участвовать три аккаунта: один пользователь создает ордер на покупку токена, другой — ордер на продажу. Матчер сводит ордера на покупку и продажу с подходящими параметрами и создает транзакцию обмена. Подробнее о матчере см. в документации WX Network .

          • Сжигание

            Уменьшение количества токена на аккаунте и тем самым на блокчейне. Сжигать токен может любой его владелец, не только эмитент. Сжигание WAVES невозможно.

            Выполняется с помощью транзакции сжигания токена.

            Скрипт dApp может сжечь токен с помощью действия скрипта Burn в рамках транзакции вызова скрипта.

          • Платеж в пользу dApp

            Транзакция вызова скрипта может содержать до двух платежей в пользу dApp. Вызываемая функция имеет доступ к полям платежей — сумме и токену.

          # Операции, доступные только эмитенту

          Следующие операции с токеном может выполнить только аккаунт, выпустивший токен:

          • Настройка спонсирования

            Эмитент токена может сделать его спонсорским — разрешить любым пользователям платить комиссию за транзакции вызова скрипта и транзакции перевода в этом токене (вместо WAVES). Подробнее о спонсировании

            Установка и отмена спонсирования выполняются с помощью транзакции спонсирования.

            Скрипт dApp может настроить спонсирование токен с помощью действия скрипта SponsorFee в рамках транзакции вызова скрипта.

          • Довыпуск

            Увеличение количества токена на блокчейне. Возможность довыпуска регулируется полем reissuable.

            Выполняется с помощью транзакции довыпуска.

            Скрипт dApp может довыпустить токен с помощью действия скрипта Reissue в рамках транзакции вызова скрипта.

          • Изменение скрипта ассета

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

          • Изменение названия и/или описания

            Выполняется с помощью транзакции обновления информации ассета.

          # Токены других блокчейнов

          Токен, выпущенный на другом блокчейне, нельзя использовать на блокчейне Waves напрямую. Однако можно выпустить на блокчейне Waves новый токен, представляющий исходный, и создать шлюз, связывающий эти два токена в соотношении 1:1. Например, создать шлюз для токена ERC-20 можно с помощью фреймворка Waves-ERC20-Gateway .

          dApp и смарт-аккаунт
          NFT: невзаимозаменяемый токен
          dApp и смарт-аккаунт
          NFT: невзаимозаменяемый токен