Golos
Разработчикам Статистика Баунти Документация Партнеры Github
Public Member Functions | Public Attributes | List of all members
golos::chain::dynamic_global_property_object Class Reference

Maintains global state informationThis is an implementation detail. The values here are calculated during normal chain operations and reflect the current values of global blockchain properties. More...

#include <global_property_object.hpp>

Inheritance diagram for golos::chain::dynamic_global_property_object:

Public Member Functions

template<typename Constructor , typename Allocator >
 dynamic_global_property_object (Constructor &&c, allocator< Allocator > a)
 
 dynamic_global_property_object ()
 
price< 0, 17, 0 > get_vesting_share_price () const
 

Public Attributes

id_type id
 
uint32_t head_block_number = 0
 
block_id_type head_block_id
 
time_point_sec time
 
account_name_type current_witness
 
uint64_t total_pow = -1
 
uint32_t num_pow_witnesses = 0
 
asset< 0, 17, 0 > virtual_supply = asset<0, 17, 0>(0, STEEM_SYMBOL_NAME)
 
asset< 0, 17, 0 > current_supply = asset<0, 17, 0>(0, STEEM_SYMBOL_NAME)
 
asset< 0, 17, 0 > confidential_supply
 total asset held in confidential balances More...
 
asset< 0, 17, 0 > current_sbd_supply = asset<0, 17, 0>(0, SBD_SYMBOL_NAME)
 
asset< 0, 17, 0 > confidential_sbd_supply
 total asset held in confidential balances More...
 
asset< 0, 17, 0 > total_vesting_fund_steem = asset<0, 17, 0>(0, STEEM_SYMBOL_NAME)
 
asset< 0, 17, 0 > total_vesting_shares = asset<0, 17, 0>(0, VESTS_SYMBOL)
 
asset< 0, 17, 0 > total_reward_fund_steem = asset<0, 17, 0>(0, STEEM_SYMBOL_NAME)
 
fc::uint128 total_reward_shares2
 the running total of REWARD^2 More...
 
uint16_t sbd_interest_rate = 0
 
uint16_t sbd_print_rate = STEEMIT_100_PERCENT
 
uint32_t average_block_size = 0
 
uint32_t maximum_block_size = 0
 
uint64_t current_aslot = 0
 
fc::uint128_t recent_slots_filled
 
uint8_t participation_count = 0
 Divide by 128 to compute participation percentage. More...
 
uint32_t last_irreversible_block_num = 0
 
uint64_t max_virtual_bandwidth = 0
 
uint64_t current_reserve_ratio = 1
 
uint32_t vote_regeneration_per_day = 40
 

Detailed Description

Maintains global state information

This is an implementation detail. The values here are calculated during normal chain operations and reflect the current values of global blockchain properties.

Definition at line 24 of file global_property_object.hpp.

Constructor & Destructor Documentation

◆ dynamic_global_property_object() [1/2]

template<typename Constructor , typename Allocator >
golos::chain::dynamic_global_property_object::dynamic_global_property_object ( Constructor &&  c,
allocator< Allocator >  a 
)
inline

Definition at line 28 of file global_property_object.hpp.

◆ dynamic_global_property_object() [2/2]

golos::chain::dynamic_global_property_object::dynamic_global_property_object ( )
inline

Definition at line 32 of file global_property_object.hpp.

Member Function Documentation

◆ get_vesting_share_price()

price<0, 17, 0> golos::chain::dynamic_global_property_object::get_vesting_share_price ( ) const
inline

Definition at line 66 of file global_property_object.hpp.

Member Data Documentation

◆ average_block_size

uint32_t golos::chain::dynamic_global_property_object::average_block_size = 0

Average block size is updated every block to be:

average_block_size = (99 * average_block_size + new_block_size) / 100

This property is used to update the current_reserve_ratio to maintain approximately 50% or less utilization of network capacity.

Definition at line 89 of file global_property_object.hpp.

◆ confidential_sbd_supply

asset<0, 17, 0> golos::chain::dynamic_global_property_object::confidential_sbd_supply
Initial value:
= asset<0, 17, 0>(0,
SBD_SYMBOL_NAME)

total asset held in confidential balances

Definition at line 59 of file global_property_object.hpp.

◆ confidential_supply

asset<0, 17, 0> golos::chain::dynamic_global_property_object::confidential_supply
Initial value:
= asset<0, 17, 0>(0,
STEEM_SYMBOL_NAME)

total asset held in confidential balances

Definition at line 56 of file global_property_object.hpp.

◆ current_aslot

uint64_t golos::chain::dynamic_global_property_object::current_aslot = 0

The current absolute slot number. Equal to the total number of slots since genesis. Also equal to the total number of missed slots plus head_block_number.

Definition at line 106 of file global_property_object.hpp.

◆ current_reserve_ratio

uint64_t golos::chain::dynamic_global_property_object::current_reserve_ratio = 1

Any time average_block_size <= 50% maximum_block_size this value grows by 1 until it reaches STEEMIT_MAX_RESERVE_RATIO. Any time average_block_size is greater than 50% it falls by 1%. Upward adjustments happen once per round, downward adjustments happen every block.

Definition at line 133 of file global_property_object.hpp.

◆ current_sbd_supply

asset<0, 17, 0> golos::chain::dynamic_global_property_object::current_sbd_supply = asset<0, 17, 0>(0, SBD_SYMBOL_NAME)

Definition at line 58 of file global_property_object.hpp.

◆ current_supply

asset<0, 17, 0> golos::chain::dynamic_global_property_object::current_supply = asset<0, 17, 0>(0, STEEM_SYMBOL_NAME)

Definition at line 55 of file global_property_object.hpp.

◆ current_witness

account_name_type golos::chain::dynamic_global_property_object::current_witness

Definition at line 40 of file global_property_object.hpp.

◆ head_block_id

block_id_type golos::chain::dynamic_global_property_object::head_block_id

Definition at line 38 of file global_property_object.hpp.

◆ head_block_number

uint32_t golos::chain::dynamic_global_property_object::head_block_number = 0

Definition at line 37 of file global_property_object.hpp.

◆ id

id_type golos::chain::dynamic_global_property_object::id

Definition at line 35 of file global_property_object.hpp.

◆ last_irreversible_block_num

uint32_t golos::chain::dynamic_global_property_object::last_irreversible_block_num = 0

Definition at line 114 of file global_property_object.hpp.

◆ max_virtual_bandwidth

uint64_t golos::chain::dynamic_global_property_object::max_virtual_bandwidth = 0

The maximum bandwidth the blockchain can support is:

max_bandwidth = maximum_block_size * STEEMIT_BANDWIDTH_AVERAGE_WINDOW_SECONDS / STEEMIT_BLOCK_INTERVAL

The maximum virtual bandwidth is:

max_bandwidth * current_reserve_ratio

Definition at line 125 of file global_property_object.hpp.

◆ maximum_block_size

uint32_t golos::chain::dynamic_global_property_object::maximum_block_size = 0

Maximum block size is decided by the set of active witnesses which change every round. Each witness posts what they think the maximum size should be as part of their witness properties, the median size is chosen to be the maximum block size for the round.

Note
the minimum value for maximum_block_size is defined by the protocol to prevent the network from getting stuck by witnesses attempting to set this too low.

Definition at line 99 of file global_property_object.hpp.

◆ num_pow_witnesses

uint32_t golos::chain::dynamic_global_property_object::num_pow_witnesses = 0

The current count of how many pending POW witnesses there are, determines the difficulty of doing pow

Definition at line 52 of file global_property_object.hpp.

◆ participation_count

uint8_t golos::chain::dynamic_global_property_object::participation_count = 0

Divide by 128 to compute participation percentage.

Definition at line 112 of file global_property_object.hpp.

◆ recent_slots_filled

fc::uint128_t golos::chain::dynamic_global_property_object::recent_slots_filled

used to compute witness participation.

Definition at line 111 of file global_property_object.hpp.

◆ sbd_interest_rate

uint16_t golos::chain::dynamic_global_property_object::sbd_interest_rate = 0

This property defines the interest rate that SBD deposits receive.

Definition at line 77 of file global_property_object.hpp.

◆ sbd_print_rate

uint16_t golos::chain::dynamic_global_property_object::sbd_print_rate = STEEMIT_100_PERCENT

Definition at line 79 of file global_property_object.hpp.

◆ time

time_point_sec golos::chain::dynamic_global_property_object::time

Definition at line 39 of file global_property_object.hpp.

◆ total_pow

uint64_t golos::chain::dynamic_global_property_object::total_pow = -1

The total POW accumulated, aka the sum of num_pow_witness at the time new POW is added

Definition at line 46 of file global_property_object.hpp.

◆ total_reward_fund_steem

asset<0, 17, 0> golos::chain::dynamic_global_property_object::total_reward_fund_steem = asset<0, 17, 0>(0, STEEM_SYMBOL_NAME)

Definition at line 63 of file global_property_object.hpp.

◆ total_reward_shares2

fc::uint128 golos::chain::dynamic_global_property_object::total_reward_shares2

the running total of REWARD^2

Definition at line 64 of file global_property_object.hpp.

◆ total_vesting_fund_steem

asset<0, 17, 0> golos::chain::dynamic_global_property_object::total_vesting_fund_steem = asset<0, 17, 0>(0, STEEM_SYMBOL_NAME)

Definition at line 61 of file global_property_object.hpp.

◆ total_vesting_shares

asset<0, 17, 0> golos::chain::dynamic_global_property_object::total_vesting_shares = asset<0, 17, 0>(0, VESTS_SYMBOL)

Definition at line 62 of file global_property_object.hpp.

◆ virtual_supply

asset<0, 17, 0> golos::chain::dynamic_global_property_object::virtual_supply = asset<0, 17, 0>(0, STEEM_SYMBOL_NAME)

Definition at line 54 of file global_property_object.hpp.

◆ vote_regeneration_per_day

uint32_t golos::chain::dynamic_global_property_object::vote_regeneration_per_day = 40

The number of votes regenerated per day. Any user voting slower than this rate will be "wasting" voting power through spillover; any user voting faster than this rate will have their votes reduced.

Definition at line 140 of file global_property_object.hpp.


The documentation for this class was generated from the following file: