파이썬과 SDS를 이용해서 특정 기간 동안의 계정 이력 조회

in sds •  2 years ago 

파이썬과 SDS를 통해서 특정 기간 동안의 계정 이력(account history)을 조회할 수 있습니다. 우선 SDS API 활용에 대한 기본적인 내용은 아래의 링크를 참고하시기 바랍니다.

SDS API의 기본적인 사용법

계정 이력 조회와 관련된 SDS API 설명서는 아래의 링크입니다.

https://sds1.steemworld.org/describeMethod/account_history_api.getHistoryByOpTypesTime

이 API는 특정 계정에 대하여 특정 종류의 오퍼레이션(operation)을 수행한 이력을 조회합니다. 조회기간은 유닉스 타임스탬프(unix timestamp) 형식으로 지정하며, 요청 형식은 아래과 같습니다.

https://sds1.steemworld.org/account_history_api/getHistoryByOpTypesTime/[account]/[op_types]/[start_timestamp]-[end_timestamp]/

아래의 예시는 파이썬의 requests 모듈을 이용해서 1시간(3600초)전부터 현재 시점까지 @joviansummer의 포스팅/댓글 작성 이력를 조회하는 경우입니다. 오퍼레이션 종류를 2개 이상 지정할 경우엔 쉼표(,)로 구분하며 포스팅/댓글은 "comment", 보팅은 "vote"입니다.

import requests
import json
import datetime

# 대상 계정
steem_id = 'joviansummer'
# 오퍼레이션 종류
op_types = 'comment,vote'

# 현재 시각
now = datetime.datetime.now()
# 타임스탬프 형식으로 변환
now_ts = int(now.strftime("%s"))
# 1시간 전: 현재 시각에서 3600초 이전
one_hour_ago_ts = now_ts - 3600

sds_url = 'https://sds1.steemworld.org/account_history_api/getHistoryByOpTypesTime/' + steem_id + '/' + op_types + '/' + str(one_hour_ago_ts) + '-' + str(now_ts)

response = requests.get(sds_url)

res_dict = json.loads(response.text)

# 결과값 구성 형식 출력(columns)
print(res_dict['result']['cols'])

# 각 오퍼레이션 정보 출력(rows)
for item in res_dict['result']['rows']:
  print(item)

jsup 업보팅 서비스를 소개합니다.

jsup 업보팅 서비스를 활용한 일종의 오토보팅(auto-voting)

jsblurt 프로젝트 - 블러트 블럭체인 탐색기 (텔레그램 챗봇)

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 BLURT!