파이썬에서 datetime.timezone()을 이용한 시간대 설정

by joviansummer original STEEMIT post: https://steemit.com/blog/@joviansummer/datetime-timezone 파이썬에서 datetime.timezone()을 이용해서 datetime 객체의 시간대를 설정할 수 있습니다. 예를 들어 한국시간(KST)은 GMT+9시간이므로 아래와 같이 설정해서 현재 시각을 구할 수 있습니다. import datetime KST = datetime.timezone(datetime.timedelta(hours=9)) now_kst = datetime.datetime.now(tz=KST) 시간대 정보가 없는 datetime 객체의 경우에는 앞의 예제 코드에서 정의된 변수 KST를 이용해서 아래와 같이 시간대를 할당할 수 있습니다. # 시간대 정보 없는 UTC 기준 현재시각 가져오기 - utcnow() now = datetime.datetime.utcnow() # 시간대 정보 추가 now_kst = now.astimezone(KST) @joviansummer의 스팀 프로젝트 스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다. ( https://steemitwallet.com/~witnesses ) jswit 증인 노드 프로젝트를 시작합니다. jsup 업보팅(upvoting) 서비스 소개 jsup 수혜자 지정 기능 추가 jsup 2.0 - 업보팅을 다시 위대하게 jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기 Steemit-Search - 스팀잇 포스팅 검색 STEEM.NFT - 디지털 아트 보존 프로젝트

파이썬 beem에서 계정 트랜잭션 이력 조회할 때 요청 1회당 조회수 제한(batch_size)

by joviansummer
original STEEMIT post: https://steemit.com/blog/@joviansummer/8df222-beem-1-batchsize


파이썬 beem에서 Account 객체의 history() 함수를 이용해서 계정 트랜잭션 이력을 조회할 때, API노드에 한번 요청을 할 때 몇개의 응답을 가져올 것인지를 제한할 수 있습니다. 우선 트랜잭션 이력 조회 방법에 대한 내용은 이전 포스팅을 참고하시기 바랍니다. 아래의 링크입니다.

파이썬 beem에서 계정 트랜잭션 이력 조회(범위 지정)

위의 포스트에 있는 예제 코드를 다시 적어 보면 아래와 같습니다.

from beem import Steem
from beem.account import Account

steem_node = ["https://api.steemit.com"]
steem = Steem(node=steem_node)

account = Account('joviansummer', blockchain_instance=steem)

history_data = account.history(start=1, stop=5, use_block_num=False)
for record in history_data:
  print(record)

위의 예시에서 history()의 인자에 batch_size 옵션을 추가해 주면 됩니다. 예를 들어 위의 예시에서 첫번째 트랜잭션(start=1)부터 200번째 트랜잭션(stop=200)까지 조회를 할 때 batch_size를 100으로 지정하면, 한번에 100개씩 가져오게 되므로 API노드로 전송되는 조회 요청은 2번이 될 것입니다.

history_data = account.history(start=1, stop=200, batch_size=100, use_block_num=False)

굳이 이 batch_size를 지정해야 하는 이유는, 최근에 스팀잇의 공식 API노드에서 계정 이력(account history)에 대한 요청의 batch_size에 해당하는 제한 수치를 1000개(기본값)에서 100개로 줄였기 때문입니다. 위의 경우에 batch_size 옵션을 지정하지 않으면 제대로 응답이 오지 않고 예외(exception)가 발생합니다.

계정 이력 조회 관련 제한에 대한 내용은 @ety001님의 포스팅에서 확인 가능하며 아래의 링크입니다. (알려주신 @etainclub님께 감사드립니다)

The official API node will decrease the get_account_history upper limit


@joviansummer의 스팀 프로젝트

스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다.
(https://steemitwallet.com/~witnesses)

jswit 증인 노드 프로젝트를 시작합니다.

jsup 업보팅(upvoting) 서비스 소개

jsup 수혜자 지정 기능 추가

jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기

STEEM.NFT - 디지털 아트 보존 프로젝트


Posted through the AVLE Dapp (https://avle.io)

Comments

Popular posts from this blog

Nuitka - 파이썬 스크립트를 바이너리 실행 파일로 변환

파이썬에서 스팀잇 ID 및 포스팅 키 유효성 확인

파이썬에서 시간대(timezone) 변경