Steem 모바일 지갑앱 만들기 4번째 포스팅입니다.
시리즈글
▪︎ [React Native] Steem 모바일 지갑앱 만들기 #1
▪︎ [React Native] Steem 모바일 지갑앱 만들기 #2
▪︎ [React Native] Steem 모바일 지갑앱 만들기 #3
이번에는 스팀 + 스팀엔진 토큰의 마켓 가격을 계산하여 총 자산 금액을 보여주는 기능을 추가하였습니다. Total Assets 에 표시된 금액이 제가 보유하고 있는 총 자산의 USD 금액입니다.
![]() |
![]() |
---|
참고로 지갑앱은 Whan팀 내에서만 테스트하고 있습니다. 그리고 아직 송금 기능이 없어서, 저는 개인적으로 잔액 확인 용도로만 사용하고 있습니다.
스팀과 스팀달러 마켓 가격을 확인할 수 있는 무료 API
바로 전 포스팅에서 스팀과 스팀달러 마켓 가격을 코인마켓캡 API에서 가져오게 구현했습니다. 하지만 코인마켓캡의 API는 무료 사용량이 제한되어 있습니다. 그래서 개발하고 테스트하다 보면 하루 사용량을 금방 다 써버립니다. ㅠㅠ 검색해보니 무료 API가 있어서 갈아탔습니다. ㅋ
https://postpromoter.net/api/prices
를 요청하면 다음과 같은 결과를 받을 수 있습니다.
1 | { |
그리고 다음은 구현된 코드 내용입니다.
HTTP 통신에는
axios
라이브러리를 사용했습니다. 기본 모듈인fetch
를 사용하는게 성능이 더 좋지만, 저는 범용성을 위해서axios
를 많이 사용합니다.
스팀엔진 토큰 마켓 가격 가져오기
sscjs 라이브러리를 사용하여 스팀엔진 토큰 마켓 가격을 가져옵니다. 다음과 같은 결과를 받을 수 있습니다.
1 | [ |
그리고 다음은 구현된 코드 내용입니다.
잔액이 0 이상인 토큰 마켓 가격만 가져오기 위해서
$or
조건을 사용하였습니다. 몽고 DB 쿼리문을 그대로 사용할 수 있는 것 같습니다. 예를 들어 내가 가지고 있는 토큰만 조회하고 싶다면,"query":{$or:[{symbol:"SCT"},{symbol:"AAA"}]}
형태로 조회합니다.
그리고 스팀엔진 마켓의 lastPrice
가격으로 USD 가격을 계산하였습니다.
1 | token.price = token.totalBalance * marketPrice.lastPrice * steemPrice; |
항상 행복한 하루 보내시길 바랍니다.