Gas and transaction fees
Transactions on the IOV Name Service require the payment of a fee, at least of an anti-spam fee. Here is how it works.
In the IOV Name Service and all Cosmos SDK based applications, the unit of fees is the micro token. The token of the IOV Name Service is the IOV token, the unit is a micro IOV = 1 uIOV. The testnet of the IOV Name Service uses the VOI token and the uvoi is the unit.
A micro token is 0.000001 token, or also 1e-6 token.
The IOV Name Service is built using Cosmos SDK. It inherits the gas design from this SDK, the documentation can be found here: https://docs.cosmos.network/master/basics/gas-fees.html. The gas fees are to be thought of as anti-spam fees: they are designed to be very small to avoid spamming the IOV Name Service with irrelevant transactions.
It means that:
gasparameter is calculated dynamically by the Cosmos SDK. It depends on the transaction size and other network parameters.
- 2.Each validator on the IOV Name Service chain can set their own
- 3.The user sets the
--feesflag in the command to declare how much they are willing to spend for the gas fees. This amount needs to be equal or more than the required
gas fees = gas * gas-prices.
For exemple, by default in the IOV Name Service,
gas-prices = 10uvoiwhich makes a
gas-fees =~70k uvoi = ~0.07 voifor a send transaction.
If the specified
--feesis not enough, the transaction is rejected.
In addition to gas fees, there are transaction fees for the operations of the IOV Name Service. These fees are typically more important, like the fee to purchase a domain for example.
The user does NOT need to specify this transaction fee in the command. If the user has enough IOV token in their account for the transaction, the token are taken and the transaction is processed.
The transaction fees are taken AUTOMATICALLY on top of the gas fees. The user is advised to check with the command below the current blockchain fee parameters before submitting a transaction.
The transaction fees can be seen by the command
iovnscli query configuration get-fees | jq
The transaction fees that is taken with a transaction is equal to the transaction fee calculated here divided by
The way to think about it is:
fee_coin_denomis the unit of the transaction fees. It is the
- the transaction fees of the services are represented in "stable" value. The intent is that the fee of a transaction is stable vs a stable coin and might fluctuate in IOV token as the IOV value evolves.
fee_coin_priceis the value of a uIOV (or uVOI on the testnet) vs the stable coin.
For exemple, considering EUR as a reference stable coin,
fee_coin_price= 0.000 000 1(EUR) means that
1uIOV = 0.000 000 1 EUR(or 1 IOV = 0.1 EUR), and the transaction fee is
25/0.000 000 1 = 250 000 000 uIOV.
The IOV Name Service is a fully decentralised name service. The fees paid to the service are distributed to the stakeholders of the service.
The IOV Name Service is built on Cosmos SDK and uses the Cosmos staking module. All details about staking commands are described here: https://docs.cosmos.network/master/modules/staking/
All the gas fees and transactions fees go to the same reward pool which is then distributed to all stakers of IOV Token in proportion of their stake in IOV Token.
Last modified 2yr ago