Steem Developer Portal
Understanding Dynamic Global Properties
Maintains global state information
Intro
Dynamic Global Properties represents a set of values that are calculated during normal chain operations and reflect the current values of global blockchain properties.
The API returns an object containing information that changes every block interval such as the head block number, the total vesting fund, etc.
Sections
- Fields
- head_block_number
- head_block_id
- time
- current_witness
- total_pow
- num_pow_witnesses
- virtual_supply
- current_supply
- current_sbd_supply
- total_vesting_fund_steem
- total_vesting_shares
- total_reward_fund_steem
- total_reward_shares2
- sbd_interest_rate
- maximum_block_size
- current_aslot
- recent_slots_filled
- last_irreversible_block_num
- vote_power_reserve_rate
average_block_sizecurrent_reserve_ratiomax_virtual_bandwidth
- Not Covered
- Example Method Call
- Example Output
head_block_number
Block height at the head of the blockchain. This represents the latest block produced by witnesses.
- example:
24155032
head_block_id
Used to implement TaPoS (Transaction as Proof of Stake). The first 4 bytes (8 hex digits) of the block ID represents the block number. E.g., 01709398 in hex is 24155032 in decimal.
- example:
0170939865fa4e3aa7fca8f8df35d23333fe0bee - see: RIPEMD-160 hashes
time
Point in time (UTC) that the block was included in the chain.
Used to synchronize events like Hard Fork activation.
When attempting to calculate the validity of a transaction we need to lookup a past block and check its block hash and the time it occurred so we can calculate whether the current transaction is valid and at what time it should expire.
For new transactions, expirations originate from this time.
- example:
2018-07-14T01:19:51
current_witness
Account name of the current witness.
- example:
blocktrades
total_powDeprecated
The total POW accumulated, aka the sum of num_pow_witness at the time new POW is added.
- example:
514415
num_pow_witnessesDeprecated
The current count of how many pending POW witnesses there are, determines the difficulty of doing pow.
- example:
172
virtual_supply
The virtual supply is the supply of all STEEM + all SBD if all SBD were converted to STEEM at the current median price.
- example:
283290592.652 STEEM
current_supply
STEEM currently in existence.
- example:
271546371.129 STEEM
confidential_supply
Total asset held in confidential balances.
- example:
0.000 STEEM
current_sbd_supply
SBD currently in existence.
- example:
15478883.968 SBD
confidential_sbd_supply
Total asset held in confidential balances.
- example:
0.000 SBD
total_vesting_fund_steem Deprecated
Now deprecated way to get STEEM that is invested in STEEM POWER (powered up).
Use condenser_api.get_reward_fund instead.
- example:
192713261.007 STEEM
total_vesting_shares
VESTS that are invested in STEEM POWER (powered up).
- example:
390950506702.452773 VESTS
total_reward_fund_steem
STEEM available in the reward pool.
- example:
0.000 STEEM
total_reward_shares2 Deprecated
Now deprecated way to get the number of shares in the pool.
Use condenser_api.get_reward_fund instead.
- example:
0
sbd_interest_rate
This property defines the interest rate that SBD deposits receive.
- example:
0
maximum_block_size
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.
- example:
65536
current_aslot
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.
- example:
24231997
recent_slots_filled
Used to compute witness participation.
- example:
340282366920938463463374607431768211455
last_irreversible_block_num
The latest block number that has been confirmed by two thirds of all block producers and is thus irreversible.
- example:
24155017
vote_power_reserve_rate
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.
- example:
10
average_block_size Removed
Removed in 0.20.6, see: #3029
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.
- example:
9309
current_reserve_ratio Removed
Removed in 0.20.6, see: #3029
Any time average_block_size <= 50% maximum_block_size this value grows by 1 until it reaches STEEM_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.
- example:
200000000
max_virtual_bandwidth Removed
Removed in 0.20.6, see: #3029
The maximum bandwidth the blockchain can support is max_bandwidth = maximum_block_size * STEEM_BANDWIDTH_AVERAGE_WINDOW_SECONDS / STEEM_BLOCK_INTERVAL; The maximum virtual bandwidth is: max_bandwidth * current_reserve_ratio
- example:
264241152000000000000
Not Covered
Fields not covered in this recipe are:
confidential_supplyconfidential_sbd_supplypending_rewarded_vesting_sharespending_rewarded_vesting_steemsbd_print_rateparticipation_count
Example Method Call
To retrieve the current results for condenser_api.get_dynamic_global_properties, we can retrieve the current state information using curl:
curl -s --data '{"jsonrpc":"2.0", "method":"condenser_api.get_dynamic_global_properties", "params":[], "id":1}' https://api.steemit.com
Example Output
{
"id":1,
"jsonrpc":"2.0",
"result":{
"head_block_number":24238248,
"head_block_id":"0171d8a833dc369abd034b0c67d8725f96df9e5b",
"time":"2018-07-16T22:41:24",
"current_witness":"xeldal",
"total_pow":514415,
"num_pow_witnesses":172,
"virtual_supply":"283434761.199 STEEM",
"current_supply":"271729171.190 STEEM",
"confidential_supply":"0.000 STEEM",
"current_sbd_supply":"15498201.173 SBD",
"confidential_sbd_supply":"0.000 SBD",
"total_vesting_fund_steem":"192913644.627 STEEM",
"total_vesting_shares":"391296886352.617261 VESTS",
"total_reward_fund_steem":"0.000 STEEM",
"total_reward_shares2":"0",
"pending_rewarded_vesting_shares":"379159224.860656 VESTS",
"pending_rewarded_vesting_steem":"185294.019 STEEM",
"sbd_interest_rate":0,
"sbd_print_rate":2933,
"maximum_block_size":65536,
"current_aslot":24315228,
"recent_slots_filled":"340282366920938463463374607431768211400",
"participation_count":128,
"last_irreversible_block_num":24238230,
"vote_power_reserve_rate":10
}
}