파이썬 beem을 이용해서 특정 블럭 번호에 속한 트랜잭션(오퍼레이션)을 조회할 수 있습니다. beem.block 모듈에서 제공하는 Block 객체를 이용합니다.
우선 트랜잭션과 오퍼레이션에 관한 내용은 이전 포스트를 참고하시기 바랍니다. 아래의 링크입니다.
파이썬 + 스팀: 트랜잭션(transaction)과 오퍼레이션(operation)
아래의 예시는 블럭 번호 69075700에 해당하는 블럭을 확인하는 예제입니다.
from beem.steem import Steem
from beem.block import Block
steem_nodes = ["https://api.steemit.com"]
steem = Steem(node=steem_nodes)
blk_num = 69075700
blk = Block(blk_num, blockchain_instance=steem)
blk_ops = blk.operations
위의 예시에서 변수 blk_ops는 리스트(list)가 되며, 각 원소는 해당 블럭에 저장된 오퍼레이션입니다. 첫번째 원소를 출력해 보면 아래와 같습니다.
print(blk_ops[0])
{'type': 'vote_operation', 'value': {'voter': 'bigtakosensei', 'author': 'vivigibelis', 'permlink': 'steemit-engagement-challenge-s5-w4-mis-5-sentidos', 'weight': 1400}}
각 오퍼레이션 정보는 딕셔너리(dict) 형식이며 키(key)는 type과 value가 있습니다. type에는 오퍼레이션의 종류(보팅, 송금, 포스팅 등)가 할당되고 value에는 해당 오퍼레이션의 구체적인 정보가 딕셔너리 형식으로 할당됩니다.