굳헬로의 스팀 프로그램 일기!! 세번째 #3 스팀엔진 토큰의 정보를 가져오는 findOne() && 누군가의 토큰 사용 내역을 가져오는 get_history() && JSON 데이터 출력

in sct •  last year  (Edited)

steem.jpg

안녕하세요. 굳헬로 @goodhello 입니다.

토요일 잘 보내고 계신가요??

태풍이 온다고 비도 많이 내리고...

덕분에 집에서 편안하게 컴퓨터를 즐길수 있겠네요.

그럼 오늘도 힘내서 파이썬으로 스팀엔진을 공부해 보겠습니다.

어제는 좀 더 효과적으로 파이썬 프로그램을 다루기 위하여 비주얼 스튜디오 코드 프로그램을 설치했고, 이를 이용하여 스팀엔진 예제 코드를 실행해 보았습니다.

오늘도 어제에 이어 몇가지 예제를 더 실행해 보면서 스팀엔진 다루는 기술을 익혀보도록 하겠습니다.


#1. steemengine.api.findOne() 예제

어제는 api.find("tokens", "tokens") 이 코드를 이용하여 스팀엔진에 등록된 모든 토큰들의 정보를 가져오는걸 확인했는데요.

오늘은 api.findOne() 예제를 실행해 보겠습니다.

from steemengine.api import Api
api = Api()
print(api.findOne("tokens", "tokens"))

코드를 입력하고 실행하면

ENG 토큰의 정보들이 출력되는군요.

api.findOne("tokens", "tokens") 말 그대로 findOne 한개만 찾을때 사용할 수 있는 명령어 입니다.

그럼 이제 ENG 토큰 말고 다른 토큰의 정보를 열람해 보도록 하겠습니다.

from steemengine.api import Api
api = Api()
print(api.find_one("tokens", "tokens", query = { "symbol" : "SCT" }))

이런식으로 api.findOne() 명령을 내릴때 query 를 추가하여 원하는 토큰의 정보를 가지고 올 수 있답니다.

SCT 토큰의 정보를 잘 가지고 왔네요.

api.find()api.findOne() 명령어는 스팀엔진 토큰의 정보를 열람하기 위하여 앞으로 자주 사용하게 될 것 같으니, 활용법을 잘 연구해 봐야 겠습니다.


#2. steemengine.api.get_history() 예제

이제까지는 그냥 스팀엔진 토큰의 정보를 가져오는 예제를 살펴보았는데요.

이번에는 아주 흥미로운 api.get_history() 예제를 수행해 보겠습니다.

from steemengine.api import Api
api = Api()
print(api.get_history("goodhello", "SCT"))

api.get_history() 이름만 봐도 대충 감이 오시나요?? get_history 말 그대로 뭔가의 히스토리를 가져오는 명령어로 보입니다.

명령어에 "goodhello" 와 "SCT" 를 넣었으니... 저의 스팀엔진 SCT 내역을 불러오겠군요.

이 코드를 실행해보면

저의 SCT 내역이 주르륵 출력 되었네요.

그러나 터미널 창에 글자만 한가득이라 알아보기 힘들죠.

어제처럼 제가 웹으로 정보를 이쁘게(?) 다듬어 출력할 수도 있겠지만... 오늘은 간단한 코드를 삽입하여 알아보기 쉽게 출력되도록 해보겠습니다.

파이썬 steemengine.api를 이용해 명령어를 내리면 그 결과를 보통 JSON 형태로 가져오더라구요.

JSON은 키 : 값 으로 이루어진 데이터 포맷인데, 자세히 알아보려면 다음의 링크를 보시기 바랍니다.

JSON 위기백과
JSON(제이슨[1], JavaScript Object Notation)은 속성-값 쌍( attribute–value pairs and array data types (or any other serializable value)) 또는 "키-값 쌍"으로 이루어진 데이터 오브젝트를 전달하기 위해 인간이 읽을 수 있는 텍스트를 사용하는 개방형 표준 포맷이다. 비동기 브라우저/서버 통신 (AJAX)을 위해, 넓게는 XML(AJAX가 사용)을 대체하는 주요 데이터 포맷이다. 특히, 인터넷에서 자료를 주고 받을 때 그 자료를 표현하는 방법으로 알려져 있다. 자료의 종류에 큰 제한은 없으며, 특히 컴퓨터 프로그램의 변수값을 표현하는 데 적합하다.

이런 형태로 만들어진 데이터를 JSON이라 부르는데, 이제까지 예제에서 결과물은 그냥 다 이어서 나오니 정말 알아보기 힘들었죠.

그런데 파이썬에는 이 JSON을 알아보기 쉽게 출력 해주는 기능들이 있습니다.

이 기능을 이용해 보겠습니다.

import json
from steemengine.api import Api
api = Api()
#print(api.get_history("goodhello", "SCT"))
print(json.dumps(api.get_history("goodhello", "SCT"), sort_keys=True, indent=2, separators=(',', ': ')))

파이썬 JSON 기능을 사용하기 위해 import json 코드를 추가하고

결과물을 출력하는 코드를 print(json.dumps(api.get_history("goodhello", "SCT"), sort_keys=True, indent=2, separators=(',', ': '))) 이렇게 변경해 주었습니다.

저의 SCT 내역이 멋지게 출력되었네요.

오늘 오전 10시 25분에

40개의 SCT를 클레임 했었는데요.

그것을 이렇게 파이썬을 이용하여 확인을 할 수 있게 되었습니다.


오늘은 파이썬 steemengine.api의 findOne() 예제와 get_history() 예제를 살펴보고 그 결과인 JSON 데이터를 보기 좋게 출력하는 것까지 해보았습니다.

파이썬을 이용한 스팀 프로그램을 하나 하나 배워갈때마다 점점 재미있어 지고 있는 것 같은데요.

다음에은 더욱 흥미로운 예제를 준비해서 프로그램에 더욱 재미를 붙일수 있도록 해보겠습니다.

그럼 토요일 오후 즐겁게 잘 보내시구요.

행복한 주말 되시길 바랍니다.


굳헬로의 스팀 프로그램 일기!! 시리즈

#1 굳헬로의 스팀 프로그램 일기!! 대망의 시작 #1 Python 프로그램 설치 && steemengine 파이썬 api 설치 && 간단한 steemengine 예제

#2 굳헬로의 스팀 프로그램 일기!! 그 두번째 #2 비주얼 스튜디오 코드 프로그램 설치 && 비주얼 스튜디오 코드를 사용하여 파이썬 다루기 && 간단한 steemengine 예제

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

으아아 검은색 바탕에 문자들이 매트릭스에 나오던 그 장면들 같아요! 중장기 히트예감 시리즈입니다~ 쭉~이어서 고고씽이에요! ^^

진도가 잘 나가네요

Posted using Partiko Android

꾸준하게 재미있게 해보려구요~

시간만 있으면 따라해 보고 싶으나 포기해야겠군요.
잘 만들어 놓은 프로그램있으면 카피의 기회를 주세요.ㅎㅎ

ㅎㅎㅎ 코딩은 카피죠~ ㅎㅎㅎ

Thank you for your continued support towards JJM. For each 1000 JJM you are holding, you can get an additional 1% of upvote. 10,000JJM would give you a 11% daily voting from the 700K SP virus707 account.

Hi @goodhello!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 3.938 which ranks you at #4279 across all Steem accounts.
Your rank has improved 8 places in the last three days (old rank 4287).

In our last Algorithmic Curation Round, consisting of 155 contributions, your post is ranked at #55.

Evaluation of your UA score:
  • You're on the right track, try to gather more followers.
  • The readers like your work!
  • Good user engagement!

Feel free to join our @steem-ua Discord server