파이썬 beem에서 계정 트랜잭션 이력 조회할 때 요청 1회당 조회수 제한(batch_size)
- Get link
- X
- Other Apps
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)
jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기
Posted through the AVLE Dapp (https://avle.io)
- Get link
- X
- Other Apps
Comments
Post a Comment