Minting
RollApps come with minting functionality which enables the continued creation of tokens.
The initial inflation rate is set as a parameter on genesis as part of the genesis file. RollApp creators decide on the initial inflation rate, target inflation rate, and how long it takes to get from the current to the target rate.
RollApps automatically decrease the inflation rate linearly over time until it reaches the target inflation rate. Mint module calculates annual rewards (total supply * current_inflation) and then divides rewards by mint_epoch_identifier (e.g., divide by 365 for daily mint, by 12 for monthly).
Customizing Mint on Genesis
Example: Reduction every week for three years.
"mint": {
"minter": {
"current_inflation_rate": "0.08"
},
"params": {
"mint_denom": "stake",
"mint_epoch_identifier": "minute",
"mint_start_epoch": "1",
"inflation_change_epoch_identifier": "week",
"inflation_rate_change": "0.000383",
"target_inflation_rate": "0.02"
}
},
current_inflation_rate
Initial inflation rate of the total supply.
mint_denom
The denomination of the token being minted by the RollApp (e.g.,"arollapp").
mint_epoch_identifier
The frequency tokens are created, can be set as minute
, hour
, day
, week
, or year
. Note due to the compounding nature of minting tokens a mint_epoch_identifier
with shorter timeframe will result in a greater supply of tokens than a longer timeframe.
For example, minute
will result in a greater amount of tokens than week
.
mint_start_epoch
The epoch number in which the minting begins. The epoch module begins at 1 as such 1 is the genesis block. This number can be set at a greater amount to begin minting new tokens at a later point in time.
inflation_change_epoch_identifier
The epoch trigger for reducing issuance, can be set as minute
, hour
, day
, week
, or year
. This will determine how much time it takes to get to the target_inflation_rate
.
inflation_rate_change
The amount by which the current inflation is reduced by every inflation_change_epoch_identifier
. This will determine how much the current inflation rate will decrease by every inflation_change_epoch_identifier
.
target_inflation_rate
This is the inflation rate that will continue after completing the targeted reduction (e.g., "target_inflation_rate": "0.02")
Initial inflation rate
Referred to as the current_inflation_rate
on the genesis file. This sets the initial inflation rate which is a percentage of new tokens created from the total supply.
Inflation rate change
The amount by which the current inflation is reduced by every inflation_change_epoch_identifier
. This will determine how much the current inflation rate will decrease.
Minimum inflation rate
This is the inflation rate that will continue after reducing by the inflation rate change (e.g., "target_inflation_rate": "0.02").