Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update genesis params to match early tokenomics in Desmos Introduction #272

Merged
merged 6 commits into from
Apr 24, 2021

Conversation

kwunyeung
Copy link
Contributor

Here are the parameters suggested to be used on Apollo.

x/evidence

Updated max_age_duration in x/evidence to match the unbonding_time in x/staking which is 3 days.

"evidence": {
      ...
      "max_age_duration": "259200s",
      ...
}

x/mint

Initial annual inflation is set to 50%. Setting annual inflation range from 40% to 80%, annual inflation change rate to 40%, bonded goal to 80%. Blocks per year to be 5006000 based on the average 6.3s block time on morpheus-13001.

    "mint": {
      "minter": {
        "inflation": "0.500000000000000000",
        "annual_provisions": "0.000000000000000000"
      },
      "params": {
        "mint_denom": "udaric",
        "inflation_rate_change": "0.400000000000000000",
        "inflation_max": "0.800000000000000000",
        "inflation_min": "0.400000000000000000",
        "goal_bonded": "0.800000000000000000",
        "blocks_per_year": "5006000"
      }
    },

The inflation_rate_change is the change rate which make the inflation move towards to the target inflation between inflation_min and inflation_max according to the goal_bonded. It is defined in the following function.

https://github.com/cosmos/cosmos-sdk/blob/ab24d0ec922836735a9901dcb75f6a57cf405da6/x/mint/types/minter.go#L44

In general, it would be the difference of inflation_max minus inflation_min which means "this is the rate of change from min to max in 1 year". However, if we want to make the see the inflation move faster to the target inflation rate, we can set this value larger.

x/slashing

Updated signed_blocks_window to 7200 and min_signed_per_window to 0.05 based on 6.3s average block time on morpheus-13001. This translates to "a validator will be slashed with 0.01% tokens because of around 12 hours downtime (7200 blocks signing window * 95% misses * 6.3 / 60 mins / 60 seconds).

    "slashing": {
      "params": {
        "signed_blocks_window": "7200",
        "min_signed_per_window": "0.050000000000000000",
        "downtime_jail_duration": "600s",
        "slash_fraction_double_sign": "0.050000000000000000",
        "slash_fraction_downtime": "0.000100000000000000"
      }

@kwunyeung
Copy link
Contributor Author

kwunyeung commented Apr 24, 2021

Supply should be summed up to 100,000,000,000,000 udaric after adding all the genesis transactions accounts and the faucet we are controlling.

@leobragaz
Copy link
Contributor

Other params looks good. I've tried to start a local node with a genesis edited with those params, no problems at all except for the one that I've suggested the fix. Mint params are very good even from an unexperienced validator perspective 👍

@RiccardoM RiccardoM merged commit b48b99d into master Apr 24, 2021
@RiccardoM RiccardoM deleted the kwun/genesis-params branch April 24, 2021 12:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants