Тарифы Namada
Для того чтобы урегулировать рынок спроса на блок-пространство Namada, с транзакциями связаны комиссии. Для того чтобы любая транзакция namada считалась действительной, должна быть уплачена соответствующая плата. Точный размер комиссии устанавливается пользователем и должен быть больше или равен установленной руководством минимальной цене на газ, которая включена в файл genesis в разделе gas_cost
.
Порядок внесения платы
При явном указании плата за газ вносится с помощью флага --gas-payer
. Если флаг --gas-payer
не указан, то плата за газ вносится первым ключом во флаге --signing-keys
.
Это означает, что в транзакции:
счет, связанный с ключом keysha
, должен будет оплатить комиссию. Это означает, что даже если счет accountant
может иметь положительный баланс NAM
, для оплаты комиссии за транзакцию необходимо, чтобы у keysha
был связанный с ним NAM
.
Пользователь также может указать флаг --gas-payer
, чтобы указать другой счет для оплаты комиссии. Это полезно в тех случаях, когда счет, подписывающий транзакцию, не имеет достаточного количества NAM
для оплаты комиссии. Например, если у keysha
баланс 5 NAM, а у accountant
- 100 NAM, то следующая транзакция будет действительна:
(Предполагается, что keysha2
существует и находится в кошельке пользователя)
Для целей тестовой сети мы рекомендуем использовать кран для получения NAM
для оплаты транзакций.
Как рассчитывается комиссия
Комиссия за транзакцию рассчитывается путем умножения лимита газа на цену газа. Пользователь может указать как параметр --gas-limit
, так и --gas-price
. Если не задано ни то, ни другое, то используется лимит газа и минимальная цена газа по умолчанию . В настоящее время лимит газа по умолчанию для любой транзакции установлен равным 20_000.
Минимальная цена газа задается в файле genesis
в разделе gas_cost
.
Как установить цену на газ и лимит газа
Рекомендуется устанавливать лимит газа в зависимости от проводимой сделки. Для того чтобы оценить лимит газа для конкретной транзакции, следует указать аргумент --dry-run-wrapper
. Это означает, что транзакция смоделирована, но еще не отправлена.
Например, следующая команда смоделирует транзакцию перевода и вернет количество использованного газа:
В результате получится что-то вроде:
Это означает, что мы вполне могли бы осуществить эту передаточную операцию при лимите газа 2000.
Следовательно, при осуществлении перевода мы можем указать лимит газа следующим образом:
Если по каким-то причинам мы хотим оплатить более высокую стоимость газа, мы можем указать это следующим образом:
Это будет стимулировать валидаторов отдавать предпочтение этой сделке перед сделками с более низкой ценой газа.
Оплата сборов токенами в MASP
Также существует возможность оплачивать комиссии с помощью MASP. Это делается для того, чтобы пользователь, даже не имея на своем прозрачном балансе NAM, мог совершать прозрачные транзакции по цепочке. Это еще один стимул для пользователей держать максимальное количество активов в MASP.
Для того чтобы оплачивать комиссии с помощью MASP, пользователь должен указать флаг --gas-spending-key
и задать ему псевдоним расходного ключа в своем кошельке. Это означает, что вознаграждения будут списываться с экранированного баланса ключа-расходника, а перед оплатой --gas-payer
- с прозрачного баланса (или с адреса, соответствующего первому ключу в строке --signing-keys
), до того, как за него заплатит --gas-payer
.
Например, если у пользователя в кошельке есть ключ spending-key-1
, и он хочет оплатить комиссию за транзакцию с помощью MASP, то он выполнит следующую команду:
В данном примере у keysha
на прозрачном балансе может быть только баланс OSMO, а у spending-key-1
на экранированном балансе может быть положительный баланс NAM. В этом случае NAM будет разэкранирован на прозрачный баланс keysha
, а затем использован для оплаты комиссии за транзакцию.
Использование одноразового --gas-payer
--gas-payer
Также возможно использование одноразового --gas-payer
для оплаты транзакционных комиссий. Это удобно в тех случаях, когда пользователь не хочет раскрывать личность --gas-payer
. Для использования одноразового --gas-payer
пользователь должен включить в команду флаг --disposable-gas-payer
, и также должен указывать ключ --gas-spending-key
. Это означает, что комиссия будет списана с экранированного баланса ключа --gas-spending-key
, а затем снята с прозрачного баланса эфемерного прозрачного адреса, прежде чем будет оплачена эфемерным адресом.
Например, если у пользователя в кошельке есть ключ spending-key-1, и он хочет оплатить комиссию за транзакцию, используя одноразовый адрес, то он выполнит следующую команду:
Last updated