# Комиссия за транзакцию
Комиссия за транзакцию — комиссия, которую владелец аккаунта платит за отправку транзакции.
Отправитель может указать любую сумму комиссии, но не менее минимальной. Чем больше сумма комиссии, тем быстрее транзакция попадет в новый блок.
Комиссию за транзакцию вызова скрипта и транзакцию перевода можно указать в спонсорском ассете, см ниже подраздел Комиссия в спонсорском ассете.
# Минимальная комиссия
Минимальная комиссия в WAVES для каждого типа транзакции представлена в таблице.
Если отправитель транзакции — dApp или смарт-аккаунт, а сложность скрипта аккаунта или функции-верификатора dApp-скрипта превышает порог сложности отправителя, минимальная комиссия за транзакцию увеличивается на 0,004 WAVES.
Если отправитель ордера в транзакции обмена — dApp или смарт-аккаунт, это не влияет на минимальную комиссию.
Минимальная комиссия за транзакцию увеличивается на 0,004 WAVES за каждый участвующий смарт-ассет, за исключением:
- транзакций вызова скрипта,
- смарт-ассетов, используемых в качестве комиссии матчера в транзакции обмена.
До активации фичи № 16 “Ride V5, dApp-to-dApp invocations”
- Дополнительная комиссия 0,004 WAVES за отправку транзакции со смарт-аккаунта или dApp требовалась независимо от сложности скрипта аккаунта или наличия и сложности функции-верификатора скрипта dApp.
- Для транзакции вызова скрипта минимальная комиссия увеличивалась на 0,004 WAVES каждое выполнение скриптов ассетов в платежах и действиях скрипта.
Пример 1.
Минимальная комиссия за транзакцию перевода:
- Без смарт-аккаунта и смарт-ассета: 0,001 WAVES.
- Перевод со смарт-аккаунта*: 0,001 + 0,004 = 0,005 WAVES.
- Перевод смарт-ассета: 0,001 + 0,004 = 0,005 WAVES.
- Перевод смарт-ассета со смарт-аккаунта*: 0,001 + 0,004 + 0,004 = 0,009 WAVES.
* При условии, что сложность скрипта аккаунта выше порога сложности отправителя.
Минимальная комиссия за транзакцию вызова скрипта:
- Без смарт-аккаунта, без выпуска новых ассетов: 0,005 WAVES.
- Вызов со смарт-аккаунта*: 0,005 + 0,004 = 0,009 WAVES.
- Вызов, в котором dApp-скрипт выпустил новый ассет (не являющийся NFT): 0,005 + 1 = 1,005 WAVES.
- Вызов со смарт-аккаунта*, dApp-скрипт выпустил 10 ассетов (не являющихся NFT): 0,005 + 0,004 + 10 × 1 = 10,009 WAVES.
* При условии, что сложность скрипта аккаунта выше порога сложности отправителя.
Возможность выпуска/довыпуска/cжигания токена dApp-скриптом появилась с момента активации фичи № 15 “Ride V4, VRF, Protobuf, Failed transactions”.
Тип транзакции | ID типа транзакции | Минимальная комиссия в WAVES |
---|---|---|
Транзакция вызова скрипта | 16 | 0,005 + K K — количество обычных ассетов (не являющихся NFT), выпущенных в результате вызова dApp-скрипта.Возможность выпуска токена dApp-скриптом появилась с момента активации фичи № 15 “Ride V4, VRF, Protobuf, Failed transactions”. См. также пример 2 выше |
Транзакция выпуска | 3 | • 1 за обычный токен • 0,001 за NFT |
Транзакция данных | 12 | 0,001 за килобайт Размер округляется вверх до целого количества килобайт. Подробнее |
Транзакция довыпуска | 5 | 0,001 (До активации фичи № 15 “Ride V4, VRF, Protobuf, Failed transactions” — 1) |
Транзакция закрытия лизинга | 9 | 0,001 |
Транзакция лизинга | 8 | 0,001 |
Транзакция массового перевода | 11 | 0,001 + 0,0005 × N N — количество переводов внутри транзакции.Значение округляется вверх до тысячных |
Транзакция обмена | 7 | 0,003 |
Транзакция перевода | 4 | 0,001 |
Транзакция сжигания токена | 6 | 0,001 |
Транзакция создания псевдонима | 10 | 0,001 |
Транзакция спонсирования | 14 | 0,001 (До активации фичи № 15 “Ride V4, VRF, Protobuf, Failed transactions” — 1) |
Транзакция установки скрипта | 13 | 0,001 за каждый килобайт скрипта. Размер скрипта округляется вверх до целого количества килобайт (До активации фичи № 17 “Ride V6, MetaMask support” — 0,01) |
Транзакция установки скрипта ассета | 15 | 1 |
Транзакция обновления информации ассета | 17 | 0,001 Тип транзакции появился с момента активации фичи № 15 “Ride V4, VRF, Protobuf, Failed transactions” |
Транзакция в формате Ethereum | 18 | • 0,001 — если Ethereum-транзакция выполняет перевод токена. • 0,005 — если Ethereum-транзакция выполняет вызов dApp-скрипта. Тип транзакции появился с момента активации фичи № 17 “Ride V6, MetaMask support” |
# Комиссия в спонсорском ассете
Эмитент ассета (аккаунт, выпустивший ассет) может сделать его спонсорским — разрешить любым пользователям платить в этом ассете комиссию за транзакции вызова скрипта и транзакции перевода.
Для включения спонсирования эмитент отправляет транзакцию спонсирования, в которой указывает количество ассета, эквивалентное минимальной комиссии 0,001 WAVES. Например, в случае minSponsoredAssetFee: 5
комиссия в этом ассете за транзакцию вызова скрипта составит 5 × 0,005 / 0,001 = 25. Подробнее см. раздел Спонсирование комиссии.
# Комиссия за транзакцию с неудачным результатом выполнения скрипта
Транзакции вызова скрипта и транзакции обмена могут быть добавлены на блокчейн, даже если результат выполнения dApp-скрипта или скрипта ассета был неудачным. В этом случае с отправителя взимается комиссия. Для транзакции обмена с матчера взимается комиссия за транзакцию, однако комиссия матчера не взимается с отправителей ордеров. Подробнее см. раздел Валидация транзакции.
Сохранение неуспешных транзакций и взимание комиссии за них введено с момента активации фичи № 15 “Ride V4, VRF, Protobuf, Failed transactions”.