# Issue
Issue
— структура, задающая параметры выпуска токена. Выпуск выполняется, только если структура включена в результирующее выражение вызываемой функции.
Минимальная комиссия за транзакцию вызова скрипта увеличивается на 1 WAVES за каждый выпущенный токен, не являющийся NFT.
Получить идентификатор выпускаемого токена можно с помощью функции calculateAssetId.
# Конструктор
Issue(name: String, description: String, quantity: Int, decimals: Int, isReissuable: Boolean, compiledScript: Script|Unit, nonce: Int)
или
Issue(name: String, description: String, quantity: Int, decimals: Int, isReissuable: Boolean)
Во втором случае значения compiledScript = unit
и nonce = 0
подставляются автоматически.
# Поля
# | Название | Тип данных | Описание |
---|---|---|---|
1 | name | String | Название токена. От 4 до 16 байт (1 символ может занимать до 4 байт) |
2 | description | String | Описание токена. От 0 до 1000 байт |
3 | quantity | Int | Количество токена: целое число, выраженное в атомарных единицах. Для NFT должно быть равно 1 |
4 | decimals | Int | Количество знаков после запятой, от 0 до 8. Для NFT должно быть равно 0 |
5 | isReissuable | Boolean | Флаг возможности довыпуска. Для NFT должен быть равен false |
6 | compiledScript | Script|Unit | Должно быть установлено значение unit . Выпуск смарт-ассетов при помощи этой структуры пока недоступен |
7 | nonce | Int | Nonce, который используется для генерации ID ассета. Если вызываемая функция выпускает несколько токенов с одинаковыми параметрами, нужно использовать разные nonce, см. пример |
# Примеры
# Выпуск обычного токена
Issue("RegularToken", "This is an ordinary token", 10000, 2, true)
В приведенной структуре заданы следующие параметры токена:
- Название: RegularToken
- Описание: This is an ordinary token
- Количество токенов для выпуска: 100 (значение 10 000 указано в минимальных неделимых единицах — «копейках» токена)
- Количество знаков после запятой у токена: 2
- Возможность довыпуска: есть
# Выпуск нескольких токенов
(
[
Issue("RegularToken", "This is an ordinary token", 10000, 2, true, unit, 0),
Issue("RegularToken", "This is an ordinary token", 10000, 2, true, unit, 1)
],
unit
)
# Выпуск NFT-токена
Issue("UberToken", "The ultimate token. One and only", 1, 0, false)
В приведенной структуре заданы следующие параметры токена:
- Название: UberToken
- Описание: The ultimate token. One and only
- Количество токенов для выпуска: 1
- Количество знаков после запятой у токена: 0
- Возможность довыпуска: нет
Ограничения на общее количество действий скрипта приведены в разделе Ограничения.