|
@@ -0,0 +1,63 @@
|
|
|
+# Runtime Parameters - ([Bounty 23](https://pioneer.joystreamstats.live/#/proposals/249), #289)
|
|
|
+
|
|
|
+This lists and briefly describes chain constants that are changed via [runtime](https://github.com/Joystream/joystream/tree/master/runtime) upgrades for Joystream [substrate](https://github.com/paritytech/substrate) based testnets prior and including [Giza](https://www.joystream.org/giza/).
|
|
|
+With the [Olympia release](https://github.com/Joystream/joystream/issues/2855) parameter [profiles](https://github.com/Joystream/joystream/pull/3462) are introduced (not part of this document).
|
|
|
+
|
|
|
+Changing [constants](https://github.com/Joystream/joystream/blob/master/runtime/src/constants.rs) requires [test deployments](./Network-deployment) for verification and extensive testing to catch bugs.
|
|
|
+- `MILLISECS_PER_BLOCK`: defines target duration per block. Actual average duration varies depending on [network performance](https://github.com/Joystream/community-repo/blob/master/contributions/research/validators/Babylon/11.4_Research_Max_Validator_Change_report.md).
|
|
|
+- `BONDING_DURATION`: days user has to wait when unbonding tokens staked for [validation](https://github.com/Joystream/helpdesk/tree/master/roles/validators#rewards).
|
|
|
+- `EPOCH_DURATION_IN_BLOCKS`: number of minutes per epoch
|
|
|
+
|
|
|
+More constants are defined in [lib.rs](https://github.com/Joystream/joystream/blob/master/runtime/src/lib.rs):
|
|
|
+- VERSION: it is [good practice](https://github.com/Joystream/joystream/tree/master/runtime#versioning-the-runtime) to increment spec on code updates.
|
|
|
+- block parameters, discussed in [#2124](https://github.com/Joystream/joystream/issues/2124)
|
|
|
+ - BlockHashCount
|
|
|
+ - MaximumBlockWeight
|
|
|
+ - AvailableBlockRatio
|
|
|
+ - MaximumBlockLength
|
|
|
+- `ExistentialDeposit`: minimal balance under which an account is removed from active balances to save chain space, [should be >0](https://github.com/paritytech/substrate/issues/10117).
|
|
|
+- `TransferFee` and `CreationFee` are obsolete ([#2187](https://github.com/Joystream/joystream/pull/2187))
|
|
|
+- `MaxLocks` neither changed nor discussed in Joystream, see [description](https://github.com/paritytech/substrate/pull/7103)
|
|
|
+- `InitialMembersBalance`: [obsolete](https://github.com/Joystream/joystream/pull/1855)
|
|
|
+- `REWARD_CURVE`: fixed [staking parameters](https://github.com/Joystream/helpdesk/tree/master/roles/validators#fixed-parameters) defining mining rewards, see [#507](https://github.com/Joystream/community-repo/issues/507)
|
|
|
+ - min_inflation: minimal inflation for 0 stake
|
|
|
+ - max_inflation: maximum inflation per year
|
|
|
+ - ideal_stake: percent staked for maximum rewards
|
|
|
+ - falloff: reward reduction for higher than ideal stake
|
|
|
+ - max_piece_count: validator count limit
|
|
|
+ - test_precision: internal, used in tests, [details](https://github.com/paritytech/substrate/blob/ded44948e2d5a398abcb4e342b0513cb690961bb/frame/staking/reward-curve/src/lib.rs#L54)
|
|
|
+- working groups
|
|
|
+ - MaxNumberOfCuratorsPerGroup: unused
|
|
|
+ - ChannelOwnershipPaymentEscrowId: Channel Transfer Payments Escrow Account seed for ModuleId to compute deterministic AccountId
|
|
|
+ - VideosMigrationsEachBlock: Video migrated in each block during migration
|
|
|
+ - ChannelsMigrationsEachBlock: Channel migrated in each block during migration
|
|
|
+ - MaxWorkerNumberLimit: max workers per WG
|
|
|
+- proposals, see [#210](https://github.com/Joystream/joystream/issues/210)
|
|
|
+ - ProposalCancellationFee
|
|
|
+ - ProposalRejectionFee
|
|
|
+ - ProposalTitleMaxLength
|
|
|
+ - ProposalDescriptionMaxLength
|
|
|
+ - ProposalMaxActiveProposalLimit
|
|
|
+ - ProposalMaxPostEditionNumber: disabled
|
|
|
+ - ProposalMaxThreadInARowNumber: unused
|
|
|
+ - ProposalThreadTitleLengthLimit:
|
|
|
+ - ProposalPostLengthLimit
|
|
|
+ - TextProposalMaxLength
|
|
|
+ - `RuntimeUpgradeWasmProposalMaxLength`: code file size limit, last [increased for Alexandria](https://github.com/Joystream/joystream/issues/1216)
|
|
|
+- [contracts pallet](https://paritytech.github.io/substrate/master/pallet_contracts/pallet/trait.Config.html), [likely obsolete](https://github.com/paritytech/substrate/issues/4268)
|
|
|
+ - TombstoneDeposit: unused
|
|
|
+ - RentByteFee: unused
|
|
|
+ - RentDepositOffset: unused
|
|
|
+ - SurchargeReward: unused
|
|
|
+- storage constants, see [#2722](https://github.com/Joystream/joystream/issues/2722)
|
|
|
+ - MaxDistributionBucketFamilyNumber
|
|
|
+ - DataObjectDeletionPrize
|
|
|
+ - BlacklistSizeLimit
|
|
|
+ - MaxRandomIterationNumber
|
|
|
+ - MaxNumberOfPendingInvitationsPerDistributionBucket
|
|
|
+ - StorageModuleId
|
|
|
+ - StorageBucketsPerBagValueConstraint
|
|
|
+ - DefaultMemberDynamicBagNumberOfStorageBuckets
|
|
|
+ - DefaultChannelDynamicBagNumberOfStorageBuckets
|
|
|
+ - DistributionBucketsPerBagValueConstraint
|
|
|
+ - MaxDataObjectSize
|