This is the official repository used to launch the first Desmos mainnet.
In here you will find the description and motivation of the various on-chain parameters values that we have decided to use. You can also check for the used genesis state as well as get all the info about the version of Desmos that has been used to launch the mainnet.
The Desmos version used to start the mainnet is the following:
$ desmos version --long
name: Desmos
server_name: desmos
version: 1.0.1
commit: 852bfd12f234126f1c9e48e785c5bb8fbcd96647
To checkout this version run:
git checkout tags/v1.0.1
Please note that if you want to use the state sync option to create a new validator node, you will have to choose the following Desmos versions based on the state sync height you choose:
State sync height | Desmos version | How to checkout the tag |
---|---|---|
0 - 1149679 |
v1.0.1 |
git checkout tags/v1.0.1 |
1149680 - 1347304 |
v2.3.0 |
git checkout tags/v2.3.0 |
> 1347305 |
v2.3.1 |
git checkout tags/v2.3.1 |
The mainnet genesis file has been generated using the genesis state and transactions present inside the data
folder.
The result genesis state is the one named genesis.json
and has the following hashsum:
$ jq -S -c -M '' genesis.json | shasum -a 256
9b0f233e0e6f5ca0190468f43e655a07431ef9acc0c0124789bb094b9340e6a4 -
Desmos will be running with the following parameters at genesis.
Most of the parameters can be updated by using a ParameterChangeProposal
and the x/gov
module.
Below we list only the changes to the parameters from the Cosmos SDK modules.
All the other parameters values are going to be the default ones.
"genesis_time": "2021-08-31T16:15:00Z"
"chain_id": "desmos-mainnet"
"tx_sig_limit": "10"
Maximum signatures per transaction is increased to10
.
"max_gas": "100000000"
Maximum gas per block is set to100,000,000
. Considering the default200,000
gas per transaction, this means500
transactions should be included inside each block."max_age_duration": "1209600000000000"
2 weeks for double sign evidence."max_age_num_blocks": "204670"
This is calculated bymax_age_duration
/5.91
which is the average block time onmorpheus-apollo-2
testnet.
"amount": "13333000000"
We will need13333 DSM
to halt the chain if anything goes wrong.
"community_tax": "0.200000000000000000"
The tax on inflation and fees for community pool will be20%
.
"min_deposit": 500000000udesmos
The minimum deposit to make a proposal turn into voting period will be500 DSM
."max_deposit_period": "259200s"
The maxmium deposit period for a proposal will be259,200 seconds
which is3 days
."voting_period": "604800s"
The voting period of a proposal will be604,800 seconds
which is7 days
.
"mint_denom": "udsm"
The mint denom will beudsm
. This is the smallest unit of the staking tokenDSM
."inflation_rate_change": "1.000000000000000000"
Inflation change rate is set to1
to have the optimum speed to make the inflation rate change to the target inflation."inflation": "0.000000000000000000"
1"inflation_max": "0.000000000000000000"
1"inflation_min": "0.000000000000000000"
1"goal_bonded": "0.9"
We see staking ratio can reach over 82% on other networks. We are setting a highergoal_bonded
to attract token holders to stake and incentivize early stakers."blocks_per_year": "5339695"
Based on5.91 seconds
of average block time onmorpheus-apollo-2
testnet.
1 All these parameters are set to 0
at genesis to avoid an imbalanced sudden change of token distribution at launch.
These values will be changed by a ParameterChangePropoal
right after launch.
According to the parameters inside the Governance module, the earliest time for the parameter change to happen will be 7 days after the genesis time.
This period of zero inflation will give enough time for token holders to stake until inflation is turned on.
The inflation_max
will be set to 0.8
and inflation_min
will be set to 0.4
as written in the whitepaper.
The inflation
will be computed based on the percentage of tokens delegated at that time.
"signed_blocks_window": "150000"
This is around24 hours
based on5.91 seconds
block time."min_signed_per_window": "0.050000000000000000
Validators will be kept on active set if they sign5%
of blocks in everysigned_blocks_window
."downtime_jail_duration": "1800s"
Down time for uptime jail is30 minutes
."slash_fraction_double_sign": "0.050000000000000000"
Validators and their delegators will encounter5%
slashing on their staked tokens if the validators double sign."slash_fraction_downtime": "0.000100000000000000"
Validators and their delegators will encounter0.01%
slashing on their staked tokens if the validators cannot meet the uptime requirement.
"unbonding_time": "1209600s"
Unbonding period onDESMOS
is set to1209600 seconds
which is14 days
."bond_denom": "udsm"
The bond denom isudsm
. This is the smallest unit of theDSM
.
"send_enabled": false
1"receive_enabled": false
1
1 Both the sending and receiving of tokens using IBC will be disabled at genesis. We will enable them after the chain start with a governance proposal.
While connecting to the Desmos mainnet, you can use the following seed nodes to bootstrap your node:
9bde6ab4e0e00f721cc3f5b4b35f3a0e8979fab5@seed-1.mainnet.desmos.network
5c86915026093f9a2f81e5910107cf14676b48fc@seed-2.mainnet.desmos.network
45105c7241068904bdf5a32c86ee45979794637f@seed-3.mainnet.desmos.network
b9ae3a5871e3d9699f339b0af2e38f6095491ab3@desmos-seed.artifact-staking.io:26656
If you wish to bootrap a node using state sync, you can use the following nodes:
https://rpc.mainnet.desmos.network:443
wss://ws.mainnet.desmos.network:443
https://grpc.mainnet.desmos.network:443
https://lcd.mainnet.desmos.network:443
https://gql.mainnet.desmos.network/v1/graphql