Hive 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
confidential_hbd_supply
confidential_supply
current_aslot
current_hbd_supply
current_supply
current_witness
downvote_pool_percent
hbd_interest_rate
hbd_start_percent
hbd_stop_percent
head_block_id
head_block_number
init_hbd_supply
last_budget_time
last_irreversible_block_num
maximum_block_size
next_daily_maintenance_time
next_maintenance_time
num_pow_witnesses
participation_count
pending_rewarded_vesting_hive
pending_rewarded_vesting_shares
recent_slots_filled
required_actions_partition_percent
reverse_auction_seconds
target_votes_per_period
time
total_pow
total_reward_fund_hive
total_reward_shares2
total_vesting_fund_hive
total_vesting_shares
virtual_supply
vote_power_reserve_rate
average_block_size
current_reserve_ratio
max_virtual_bandwidth
- Not Covered
- Example Method Call
- Example Output
average_block_size
- Removed
- Related
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.
- Examples:
9309
confidential_hbd_supply
Total asset held in confidential balances.
- Examples:
0.000 HBD
confidential_supply
Total asset held in confidential balances.
- Examples:
0.000 HIVE
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
.
- Examples:
24231997
current_hbd_supply
HBD currently in existence.
- Examples:
15478883.968 HBD
current_reserve_ratio
- Removed
- Related
Removed in 0.20.6, see: #3029
Any time average_block_size <= 50% maximum_block_size
this value grows by 1 until it reaches HIVE_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.
- Examples:
200000000
current_supply
HIVE currently in existence.
- Examples:
271546371.129 HIVE
current_witness
Account name of the current witness.
- Examples:
blocktrades
downvote_pool_percent
- Since: HF21
- Related
Used by a separate downvote pool that is a percentage of the max size of the voting mana. Downvotes will be taken from the downvote pool first, and then the upvote pool once the downvote pool has been consumed. The downvote pool will follow the same rules as the upvote pool, regenerating over five days and filling instantly and proportionally to new Hive Power and delegations.
- Examples:
2500
hbd_interest_rate
This property defines the interest rate that HBD deposits receive.
- Examples:
0
hbd_start_percent
- Since: HF20
- Related
Start reducing printing of HBD at n% marketcap.
- Examples:
900
See: #2140
hbd_stop_percent
- Since: HF20
- Related
Stop printing HBD at n% marketcap.
- Examples:
1000
See: #2140
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.
- Examples:
0170939865fa4e3aa7fca8f8df35d23333fe0bee
See: RIPEMD-160 hashes
head_block_number
Block height at the head of the blockchain. This represents the latest block produced by witnesses.
- Examples:
24155032
init_hbd_supply
- Since: HF19
- Related
Initial amount of HBD issued, originally called virtual_hbd_supply
.
- Examples:
0.000 HBD
last_budget_time
- Since: HF21
- Related
Used to compute payments for every proposal.
- Examples:
2019-11-14T20:26:57
See: blocktradesdevs/steem#7, sps_fund
last_irreversible_block_num
The latest block number that has been confirmed by two thirds of all block producers and is thus irreversible.
- Examples:
24155017
max_virtual_bandwidth
- Removed
- Related
Removed in 0.20.6, see: #3029
The maximum bandwidth the blockchain can support is max_bandwidth = maximum_block_size * HIVE_BANDWIDTH_AVERAGE_WINDOW_SECONDS / HIVE_BLOCK_INTERVAL
; The maximum virtual bandwidth is: max_bandwidth * current_reserve_ratio
- Examples:
264241152000000000000
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.
- Examples:
65536
next_daily_maintenance_time
- Since: HF24
- Related
Schedule to convert HIVE to HBD in the treasury account.
- Examples:
2018-07-14T01:19:51
See: v1.24.2, 96254ae, sps_fund
, sps_convert
next_maintenance_time
- Since: HF21
- Related
Used to compute payments for every proposal.
- Examples:
2019-11-14T21:26:57
See: blocktradesdevs/steem#7, sps_fund
num_pow_witnesses
- Deprecated
- Related
The current count of how many pending POW witnesses there are, determines the difficulty of doing pow.
- Examples:
172
See: #770
participation_count
- Since: HF9
- Related
Used to compute witness participation.
- Examples:
128
pending_rewarded_vesting_hive
- Since: HF17
- Related
Pool of HIVE tokens for pending (vested) rewards.
- Examples:
185294.019 HIVE
pending_rewarded_vesting_shares
- Since: HF17
- Related
Amount of VESTS produced from HIVE held in pending reward vested fund.
- Examples:
379159224.860656 VESTS
recent_slots_filled
Used to compute witness participation.
- Examples:
340282366920938463463374607431768211455
required_actions_partition_percent
- Since: HF21
- Related
The size of the block that is partitioned for actions. Required actions can only be delayed if they take up more than this amount. More can be included, but are not required. Block generation should only include transactions up to maximum_block_size - required_actions_parition_size
to ensure required actions are not delayed when they should not be.
- Examples:
0
reverse_auction_seconds
- Since: HF21
- Related
Curation reverse auction duration.
- Examples:
300
See: #1874
target_votes_per_period
- Since: Mysterious Future
- Related
The number of votes regenerated per day (over HIVE_VOTING_MANA_REGENERATION_SECONDS). 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.
- Examples:
50
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.
- Examples:
2018-07-14T01:19:51
total_pow
- Deprecated
- Related
The total POW accumulated, aka the sum of num_pow_witness
at the time new POW is added.
- Examples:
514415
See: #770
total_reward_fund_hive
HIVE available in the reward pool.
- Examples:
0.000 HIVE
total_reward_shares2
- Deprecated
- Related
Now deprecated way to get the number of shares in the pool.
Use condenser_api.get_reward_fund
instead.
- Examples:
0
total_vesting_fund_hive
- Deprecated
- Related
Now deprecated way to get HIVE that is invested in HIVE POWER (powered up).
Use condenser_api.get_reward_fund
instead.
- Examples:
192713261.007 HIVE
total_vesting_shares
VESTS that are invested in HIVE POWER (powered up).
- Examples:
390950506702.452773 VESTS
virtual_supply
The virtual supply is the supply of all HIVE + all HBD if all HBD were converted to HIVE at the current median price.
- Examples:
283290592.652 HIVE
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.
- Examples:
10
Not Covered
Fields not covered in this recipe are:
available_account_subsidies
content_reward_percent
delegation_return_period
hbd_print_rate
sps_fund_percent
sps_interval_ledger
vesting_reward_percent
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.hive.blog
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 HIVE",
"current_supply":"271729171.190 HIVE",
"confidential_supply":"0.000 HIVE",
"current_hbd_supply":"15498201.173 HBD",
"confidential_hbd_supply":"0.000 HBD",
"total_vesting_fund_hive":"192913644.627 HIVE",
"total_vesting_shares":"391296886352.617261 VESTS",
"total_reward_fund_hive":"0.000 HIVE",
"init_hbd_supply":"7000000.000 TBD",
"total_reward_shares2":"0",
"pending_rewarded_vesting_shares":"379159224.860656 VESTS",
"pending_rewarded_vesting_hive":"185294.019 HIVE",
"hbd_interest_rate":0,
"hbd_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
"required_actions_partition_percent":2500,
"target_votes_per_period":50,
"vote_power_reserve_rate":50,
"delegation_return_period":432000,
"reverse_auction_seconds":300,
"available_account_subsidies":137414104,
"hbd_stop_percent":1000,
"hbd_start_percent":900,
"next_maintenance_time":"2019-11-15T01:44:39",
"last_budget_time":"2019-11-15T00:44:39",
"content_reward_percent":6500,
"vesting_reward_percent":1500,
"sps_fund_percent":1000,
"sps_interval_ledger":"15.162 TBD",
"downvote_pool_percent":2500
}
}