@@ -5,28 +5,28 @@ use substrate_fixed::types::I96F32;
5
5
impl < T : Config > Pallet < T > {
6
6
/// The `coinbase` function performs a four-part emission distribution process involving
7
7
/// subnets, epochs, hotkeys, and nominators.
8
- // It is divided into several steps, each handling a specific part of the distribution:
9
-
10
- // Step 1: Compute the block-wise emission for each subnet.
11
- // This involves calculating how much (TAO) should be emitted into each subnet using the
12
- // root epoch function.
13
-
14
- // Step 2: Accumulate the subnet block emission.
15
- // After calculating the block-wise emission, these values are accumulated to keep track
16
- // of how much each subnet should emit before the next distribution phase. This accumulation
17
- // is a running total that gets updated each block.
18
-
19
- // Step 3: Distribute the accumulated emissions through epochs.
20
- // Subnets periodically distribute their accumulated emissions to hotkeys (active validators/miners)
21
- // in the network on a `tempo` --- the time between epochs. This step runs Yuma consensus to
22
- // determine how emissions are split among hotkeys based on their contributions and roles.
23
- // The accumulation of hotkey emissions is done through the `accumulate_hotkey_emission` function.
24
- // The function splits the rewards for a hotkey amongst itself and its `parents`. The parents are
25
- // the hotkeys that are delegating their stake to the hotkey.
26
-
27
- // Step 4: Further distribute emissions from hotkeys to nominators.
28
- // Finally, the emissions received by hotkeys are further distributed to their nominators,
29
- // who are stakeholders that support the hotkeys.
8
+ /// It is divided into several steps, each handling a specific part of the distribution:
9
+ ///
10
+ /// Step 1: Compute the block-wise emission for each subnet.
11
+ /// This involves calculating how much (TAO) should be emitted into each subnet using the
12
+ /// root epoch function.
13
+ ///
14
+ /// Step 2: Accumulate the subnet block emission.
15
+ /// After calculating the block-wise emission, these values are accumulated to keep track
16
+ /// of how much each subnet should emit before the next distribution phase. This accumulation
17
+ /// is a running total that gets updated each block.
18
+ ///
19
+ /// Step 3: Distribute the accumulated emissions through epochs.
20
+ /// Subnets periodically distribute their accumulated emissions to hotkeys (active validators/miners)
21
+ /// in the network on a `tempo` --- the time between epochs. This step runs Yuma consensus to
22
+ /// determine how emissions are split among hotkeys based on their contributions and roles.
23
+ /// The accumulation of hotkey emissions is done through the `accumulate_hotkey_emission` function.
24
+ /// The function splits the rewards for a hotkey amongst itself and its `parents`. The parents are
25
+ /// the hotkeys that are delegating their stake to the hotkey.
26
+ ///
27
+ /// Step 4: Further distribute emissions from hotkeys to nominators.
28
+ /// Finally, the emissions received by hotkeys are further distributed to their nominators,
29
+ /// who are stakeholders that support the hotkeys.
30
30
pub fn run_coinbase ( ) {
31
31
// --- 0. Get current block.
32
32
let current_block: u64 = Self :: get_current_block_as_u64 ( ) ;
@@ -134,7 +134,7 @@ impl<T: Config> Pallet<T> {
134
134
& hotkey,
135
135
* netuid,
136
136
validator_emission, // Amount received from validating
137
- mining_emission, // Amount recieved from mining.
137
+ mining_emission, // Amount received from mining.
138
138
) ;
139
139
log:: debug!( "Accumulated emissions on hotkey {:?} for netuid {:?}: mining {:?}, validator {:?}" , hotkey, * netuid, mining_emission, validator_emission) ;
140
140
}
0 commit comments