스팀 앱 개발기 #16 - 지갑 내용을 읽기 위해 필요한 API
지난 포스트에서 지갑 서브화면의 와꾸(?)를 만들어 보았습니다. 내용을 채우기 위해서는 스팀 API를 이용해야 하는데요. 이번 포스트에서는 어떤 API가 필요하고, 이로부터 받은 자료에서 어떤 것이 필요한지를 이야기하고자 합니다.
스팀 API 문서
스팀에서 제공하는 API 문서 사이트가 있습니다. 링크는 다음과 같습니다.
지갑 내용 채우기 위해 필요한 API
API 문서 검토 결과, condenser_api.get_accounts API가 적절하다고 판단합니다.
https://developers.steem.io/apidefinitions/#condenser_api.get_accounts
이 API는 계정 정보를 주는데요. 그 중에 스팀, 스팀달러 잔고와 스팀 파워 수량을 의미하는 데이터들이 있음을 확인했습니다.
condenser_api.get_accounts API 실행
- URL: https://api.steemit.com
- Method: POST
- Request body: dorian-mobileapp 계정 정보를 보려면, 아래와 같이 JSON 자료 작성
{"jsonrpc":"2.0", "method":"condenser_api.get_accounts", "params":[["dorian-mobileapp"]], "id":1}
condenser_api.get_accounts API 실행 결과
이 API를 실행하여 dorian-mobileapp 계정 정보를 읽은 결과는 아래와 같습니다. 양이 무지 많지요? 이 중 무엇이 필요할지는 아래에 이어집니다.

실행결과로부터 필요한 데이터
balance로부터 스팀 잔고를 알 수 있습니다.
"balance": "31.796 STEEM"
sbd_balance로부터 스팀달러 잔고를 파악할 수 있습니다.
"sbd_balance": "0.375 SBD"
vesting_shares로부터 스팀파워 수량 파악이 가능한 것으로 보입니다. 문제는 단위가 STEEM이 아닌 VEST라는 점입니다. 이를 STEEM 단위로 환산해줘야 합니다.
"vesting_shares": "127183.557161 VESTS"
delegated_vesting_shares로부터 임대를 준 스팀파워 수량을 알 수 있습니다.
"delegated_vesting_shares": "106581.690246 VESTS"
received_vesting_shares로부터 임대 받은 스팀파워 수량을 파악할 수 있습니다.
"received_vesting_shares": "0.000000 VESTS"
마치며...
다음에 해야 할 일은 다음과 같습니다. 간단치는 않아 보이지만, 재미있는 작업입니다. 계속해볼 가치가 있습니다.
- Kotlin 언어를 활용하여 condenser_api.get_accounts API를 어떻게 실행할까?
- API로부터 받은 자료를 어떻게 가공할까?
- vesting_share를 스팀 단위로 변환은 어떻게 할 수 있나?
위 사항들 중 어떤 것을 먼저 할지도 조금 고민이네요. 내일 중으로 결정해야겠습니다.
지난 스팀 앱 개발기
- #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.
