스팀 앱 개발기 #161 - 개발 완료: 피임대 중인 스팀 파워 목록 화면 구현
개발 완료: 피임대 중인 스팀 파워 목록 화면 구현
No. 161
2026. 07. 17 (금) | Written by @dorian-mobileapp
1주일 만에 개발 완료 포스트를 작성합니다. 임대 중에 이어 피임대 중인 스팀파워 목록 화면을 구현했습니다. 스팀 API에서는 이 리스트를 직접 구할 수 없습니다. 그래서 이번에 스팀월드 API 연동을 최초로 시작했습니다. 거래 내역도 스팀 API로부터 바로 구할 수 없고 가공 작업이 필요한데요. 그것보다는 스팀월드 API를 활용할 예정입니다.
작업 내용 요약
1. API 연동 — SteemWorld delegations_api/getIncomingDelegations
표준 Steem API에는 incoming delegation 조회 엔드포인트가 없어 SteemWorld API (
sds.steemworld.org)를 사용
| 레이어 | 작업 |
|---|---|
| Domain | SteemWorldRepository 인터페이스 신규 추가, ReadIncomingVestingDelegationsUseCase |
| Data | GetIncomingDelegationsResponseDTO (rows 배열→VestingDelegation 변환 포함), SteemWorldService, SteemWorldClient, SteemWorldRepositoryImpl 신규 추가 |
SteemWorldRepositoryImpl은 DGP(동적 글로벌 속성)와 위임 목록을 병렬 async 호출 후 VESTS → SP 변환
2. IncomingDelegationListScreen 구현
IncomingDelegationListScreen: ViewModel 연결,onDelegatorClick콜백 파라미터IncomingDelegationListContent: 상태 처리 + 검색(AccountSearchTextField재사용) + 리스트- 빈 목록 시:
"No steem power is being delegated to you."표시 - delegator 이름으로 필터링
- 빈 목록 시:
IncomingDelegationItem:- 아바타 이미지
- delegator 이름 — 클릭 시 ProfileScreen 이동
- 위임 시각 — 클릭 시 로컬 시간 변환하여 Toast 표시
- SP 금액
IncomingDelegationListScreenPreview: 샘플 3개 항목으로 프리뷰
3. IncomingDelegationListViewModel 구현
ReadIncomingVestingDelegationsUseCase주입flowIncomingDelegationList— UI 상태 노출readIncomingDelegationList()—init블록에서 자동 실행
4. 기타
Main2Navigation.kt:IncomingDelegationListRoute연결,onDelegatorClick→ProfileScreenRoute이동
GitHub Commit
보다 자세한 코드는 아래 commit을 참고하세요.
지난 스팀 앱 개발기
- #160 - 개발 완료: 스팀 파워 임대 목록 화면 구현
- #159 - 개발 완료: 포스트의 댓글 정렬 오류 수정
- #158 - 개발 완료: 추가 개선 6, 7, 8, 9
- #157 - 개발 완료: 추가 개선 4, 5
- #156 - 개발 완료: 추가 개선 1, 2, 3
- #155 - 개발 계획: 추가 개선 적용
- #154 - 개발 완료: 테스트 코드 개선
- #153 - 개발 완료: Architecture 개선 작업
- #152 - 개발 완료: 레거시 의존성 제거 작업 요약
- #151 - 개발 완료: Compose 마이그레이션 연장선
- #1 ~ #150
Layout provided by Steemit Enhancer hommage by ayogom
Upvoted! Thank you for supporting witness @jswit.