스팀 앱 개발기 #17 - VEST를 STEEM POWER로 변환하기 위해 필요한 get_dynamic_global_properties API
지난 포스트에서 지갑 내용을 읽기 위해 필요한 API에 대하여 간단히 설명하였습니다. 그런데 이 API에서 스팀 파워를 바로 알 수는 없구요. vesting_share라는 자료로부터 스팀 파워를 계산할 수 있습니다. 이번 포스트에서는 스팀 파워 계산에 필요한 get_dynamic_global_properties API를 소개합니다.
condenser_api.get_dynamic_global_properties API
- URL: https://api.steemit.com
- Method: POST
- Request body: 아래와 같이 JSON 자료 작성
{"jsonrpc": "2.0", "id": 0, "method": "condenser_api.get_dynamic_global_properties", "params": []}
condenser_api.get_dynamic_global_properties API 실행 결과
이 API를 실행하여 받을 Dynamic Global Properties 또한 양이 무지 많습니다. 이 중 무엇이 필요할지는 아래에 이어집니다. 스팀 API 문서에서는 각각의 데이터가 무엇인지 설명하지 않습니다. 대략 훑어 보면, 블록 관련 데이터, 스팀/스팀달러 관련 데이터가 있다는 정도는 파악할 수 있죠. 앞으로 필요한 데이터가 무엇인지는 다른 API들과 같이 사용하면서 파악하도록 하겠습니다.
아래는 이 API를 실행한 결과로 받은 Dynamic Global Properties의 예입니다.
{
"id": 0,
"jsonrpc": "2.0",
"result": {
"head_block_number": 67340670,
"head_block_id": "0403897e6daa7824a5baa077a9f3a8c3ec4438bb",
"time": "2022-09-02T14:48:15",
"current_witness": "dlike",
"total_pow": 514415,
"num_pow_witnesses": 172,
"virtual_supply": "459846577.497 STEEM",
"current_supply": "413861914.399 STEEM",
"confidential_supply": "0.000 STEEM",
"init_sbd_supply": "0.000 SBD",
"current_sbd_supply": "11589316.767 SBD",
"confidential_sbd_supply": "0.000 SBD",
"total_vesting_fund_steem": "157757778.002 STEEM",
"total_vesting_shares": "284295912941.382319 VESTS",
"total_reward_fund_steem": "0.000 STEEM",
"total_reward_shares2": "0",
"pending_rewarded_vesting_shares": "1307049937.836215 VESTS",
"pending_rewarded_vesting_steem": "694950.600 STEEM",
"sbd_interest_rate": 0,
"sbd_print_rate": 0,
"maximum_block_size": 65536,
"required_actions_partition_percent": 0,
"current_aslot": 67764965,
"recent_slots_filled": "340281717883831146609921041119727058943",
"participation_count": 127,
"last_irreversible_block_num": 67340652,
"vote_power_reserve_rate": 10,
"delegation_return_period": 432000,
"reverse_auction_seconds": 300,
"available_account_subsidies": 19131869,
"sbd_stop_percent": 1000,
"sbd_start_percent": 900,
"next_maintenance_time": "2022-09-02T15:16:57",
"last_budget_time": "2022-09-02T14:16:57",
"content_reward_percent": 6500,
"vesting_reward_percent": 1500,
"sps_fund_percent": 1000,
"sps_interval_ledger": "48.360 SBD",
"downvote_pool_percent": 2500
}
}
마치며...
다음 포스트에서는 VEST를 SP로 변환하는 방법에 대해 정리할 예정입니다.
지난 스팀 앱 개발기
- #16 - 지갑 내용을 읽기 위해 필요한 API
- #15 - 지갑 서브화면(WalletFragment) 레이아웃 구성해 보기
- #14 - 지갑 서브화면(WalletFragment)에서 계정 인식하기
- #13 - 프로파일 서브화면(ProfileFragment)에서 계정 인식하기
- #12 - 태그 서브화면에서 태그 인식하기
- #11 - 검색 레이아웃을 메인 화면에 적용
- #10 - 태그 및 계정 검색 레이아웃 만들기
- #9 - BaseActivity 클래스 정의 그리고 MainActivity 클래스에 적용
- #8 - BaseFragment 클래스 정의 그리고 기존 프래그먼트들에 적용
- #7 - ProfileFragment 그리고 WalletFragment에 데이터 바인딩 적용
- #6 - 태그별 검색 내용을 보여줄 TagsFragment에 데이터 바인딩 적용
- #5 - GitHub에 소스 올리기
- #4 - 하단 내비게이션의 탭 관련 클래스 이름 수정
- #3 - 하단 내비게이션 바의 아이콘, 텍스트 수정
- #2 - 프로젝트 생성
- #1 - 시작하며...
[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.
Upvoted! Thank you for supporting witness @jswit.