[AD]Travala 암호화폐로 유명호텔 싸게 예약하자

굳헬로의 스팀 프로그램 일기!! 네번째 #4 steemengine Token 클래스 && Token.get_holder() && Token.get_market_info() && Token.get_buy_book() && Token.get_sell_book()

in sct •  7 months ago  (Edited)

steem.jpg

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

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

태풍 피해는 없으신지요.

제가 사는곳은 비가 엄청 내려서 옆 개울가에 물이 넘치고 있더라구요.

그래도 태풍이 사라지고 나니 조금 무덥긴 하지만, 공기도 상쾌하고 운동하기에 너무 좋은 날씨라 아침에 나가서 공 한겜 차고 왔네요.

그럼 오늘도 파이썬을 이용하여 스팀엔진 다루는 기숙을 익혀 보도록 하겠습니다.


steemengine Token 클래스

어제 일기에 나왔던 스팀엔진에 등록되어 있는 하나의 토큰 정보를 가지고 오는 steemengine.api.findOne() 명령어 기억나시나요??

steemengine.api.findOne() 명령어에 query 를 넣어 원하는 토큰 정보를 가지고 올 수 있었습니다.

steemengine 라이브러리에는 이 외에도 다른 방식으로 토큰 정보를 가지고 올 수 있는 방법이 있더라구요.

이제 그 방법에 대해 다음 예제를 통하여 알아보겠습니다.

from steemengine.tokenobject import Token
token = Token("SCT")
print(token)

steemengine에는 Token 이라는 클래스를 제공하고 있더라구요.

클래스라는 개념은 프로그래밍을 배우지 않은 분들에겐 낯선 개념이다 보니 이해하기가 쉽지 않을텐데요. 잠시나마 설명을 하자면, 비슷한 속성을 가진 객체들을 묶어서 제공하는 집합체 같은것입니다.

예를들면 스팀엔진의 토큰들은 모두 토큰 이름과, 공급량, 스테이킹 유무라던지 임대 기능을 제공한다던지, 아니라던지.... 비슷한 개념을 가지고 있는데요. 이러한 속성들을 하나로 묶어 사용하기 쉽게 제공하기 위해 클래스라는 개념을 사용한답니다.

그리고 steemengine에서는 이러한 토큰들의 정보를 사용할 수 있게 Token 클래스를 제공하고 있습니다.

위의 예제를 통하여

스팀코인판의 SCT 토큰 정보를 정말 쉽게 얻을수 있습니다.

그리고 또 token = Token("SCT") 코드에 SCT 대신 다른 토큰 심벌을 넣으면 해당되는 토큰 정보를 얻어올 수 있겠죠.

이번에는 AAA의 정보를 출력해 보았습니다.

Token 클래스를 이용하면 또 다른 유용한 정보를 얻어올 수 있는데 그것들에 대하여 알아보겠습니다.

1. Token.get_holder()

위의 예제에서 Token.get_holder()를 출력해 보겠습니다.

from steemengine.tokenobject import Token
token = Token("SCT")
print(token.get_holder())

get_holder() 이름 그대로 토큰의 홀더들을 출력해 주겠군요.

생각했던대로 SCT 홀더들이 출력되었습니다.

이대로는 알바보기 힘드니 어제 배웠던 JSON 데이터를 보기 좋게 출력하는 코드를 적용해 보겠습니다. (앞으로는 따로 언급없이 항상 적용을 하겠습니다.)

import json
from steemengine.tokenobject import Token
token = Token("SCT")
get_holder = json.dumps(token.get_holder(), sort_keys=True, indent=2, separators=(',', ': '))
print(get_holder)

token.get_holder() 의 결과를 json.dumps 를 통해 정리하여 get_holder 에 담아서 출력을 하도록 만들었습니다.

SCT 홀더들의 정보들이 깔끔하게 출력되고 있네요.

2. Token.get_market_info()

이번에도 이름에서 벌써 느낌이 오는군요. 마켓의 정보를 출력하여 주는 Token.get_market_info()을 출력해 보겠습니다.

import json
from steemengine.tokenobject import Token
token = Token("SCT")
get_holder = json.dumps(token.get_market_info(), sort_keys=True, indent=2, separators=(',', ': '))
print(get_holder)

스팀코인판의 SCT 마켓의 정보를 가져와서 출력해 보겠습니다.

가장 높은 비드값인 highestBid, 어제의 가격인 lastDayPrice 등 SCT 마켓의 다양한 정보를 출력해 줍니다.

이 값들은 스팀엔진의 SCT 마켓에서도 확인하실 수 있습니다.

https://steem-engine.com/?p=market&t=SCT

Token.get_market_info() 정말 유용한 정보인 것 같습니다.

3. Token.get_buy_book()

이번에는 토큰의 Buy Orders를 출력해주는 Token.get_buy_book() 예제입니다.

import json
from steemengine.tokenobject import Token
token = Token("SCT")
get_holder = json.dumps(token.get_buy_book(), sort_keys=True, indent=2, separators=(',', ': '))
print(get_holder)

바로 실행해 보겠습니다.

스팀엔진 SCT 마켓에 매수를 걸어둔 리스트가 출력되고 있습니다.

매수가격이 높은것부터 잘 정리되어 출력되고 있네요.

스팀엔진 SCT 마켓의 Buy Orders에는 누가 매수를 걸어두었는지 나오지 않지만,
Token.get_buy_book()을 이용하면 누가 매수를 걸어두었는지까지 정보가 나오는군요.

4. Token.get_sell_book()

Buy Orders가 있으면 Sell Orders도 존재하겠지요.

이번에는 Token.get_sell_book()를 출력해 보겠습니다.

import json
from steemengine.tokenobject import Token
token = Token("SCT")
get_holder = json.dumps(token.get_sell_book(), sort_keys=True, indent=2, separators=(',', ': '))
print(get_holder)

이번에도 바로 실행!!

스팀엔진 SCT 마켓에 매도를 걸어둔 리스트가 출력되고 있습니다.

매도는 낮은 금액부터 출력이 잘 되고 있네요.

역시 스팀엔진 SCT 마켓의 Sell Orders에 나오지 않는 매도자 정보까지 확인할 수 있습니다.


오늘은 파이썬 steemengine 라이브러리에서 제공하는 **Token ** 클래스에 대해 알아보았습니다.

**Token ** 클래스틀 통하여 스팀엔진 토큰의 정보에 접근할 수 있으며

Token.get_holder() 를 통하여 토큰의 홀더들의 정보를 가져오고

Token.get_market_info()Token.get_buy_book() 그리고 Token.get_sell_book() 를 통하여 토큰의 스팀엔진 마켓 정보와, 토큰의 Buy Orders와 Sell Orders를 확인할 수 있었습니다.

이 정보들을 잘 정리한다면 @morning 님께서 만드신 coin-on 리치리스트 처럼은 아니지만... 비슷하게 만들 수 있지 않을까요.

https://coin-on.com/steem/sct/richlist

지금 당장은 어렵겠지만... 앞으로 저 나름대로 열심히 공부해서, 저도 한번 이렇게 멋진 리치리스트를 만들어 보겠습니다.

그럼 다음시간에는 또 다른 흥미로운 예제로 찾아뵙겠습니다.

행복한 하루 되세요.


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

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

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

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

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:  

union.sct님이 goodhello님을 멘션하셨습니당. 아래 링크를 누르시면 연결되용~ ^^
union.sct님의 [SCT UNION] 조합원 대상 설문조사 / 보팅 자동화 설정 등을 위한 자금 마련 필요여부

...ediatrics, buchheim, isi3.sct, naha, matildah2, happyberrysboy, chocolate1st, tradingideas, goodhello hyokhyok, lovelyyeon.sct

새로운 토큰 웹사이트 기대합니다.

Posted using Partiko Android

넵~~ 열심히 공부해서 멋진걸 만들어 보겠습니다~

꾸준히 대단하세요!! 굳헬로님 근데 명령어라는게 정해져 있는건가요? print, get_holder 요런거요? 뭔가 다 외워야 되는건가 해서요..T.T

명령어라는게 프로그래밍 언어에서 기본적으로 제공하는것도 있구요.

예를 들면 print 같은거... 예는 출력을 하라는 명령어지요.

그리고 get_holder 요런건 미리 정해져 있는건 아니고 스팀엔진에서 제공해주는 함수 프로그램을 호출해서 사용하는거에요.

프로그래밍을 체계적으로 배우려면 기초부터 탄탄히 배워야 하는데... 시간이 좀 걸릴거에요..

https://dojang.io/mod/page/view.php?id=2155

요기 동영상 강좌 한번 보시면 도움이 되실것 같아요.

아~ 그렇군요.. 감사합니다!! 제가 힘에 부치면 옆에 사람이라도 시켜야겠어요.ㅋㅋ 프로그래밍하시는 능력자 분들 너무 대단하시고 부러워요~~^^

프로그래밍.. 다시 말해서 코딩은.. 논리적 사고를 키우는데 도움이 되기에 요즘엔 아이들도 초등학교 시절부터 의무화 되고 있답니다.

배워두면 분명 쓸모가 많을거라 생각합니다~ ^^

전 지난번에 트아님께서 만든 일일 체굴량에 현 매수단가에 맞춰 자신이 가진 토큰의 가치를 알려주는 것을 만들어주실거라 믿습니다.ㅎㅎ
숙제입니다.ㅎㅎ

ㅎㅎ 숙제를 내주시다니... 시간날때 한번 도즈언!! 해보겠습니다~

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.

Thank you!!

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.939 which ranks you at #4276 across all Steem accounts.
Your rank has improved 11 places in the last three days (old rank 4287).

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

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

Congratulations @goodhello! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You published a post every day of the week

You can view your badges on your Steem Board and compare to others on the Steem Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

Vote for @Steemitboard as a witness to get one more award and increased upvotes!