[암호화폐] 스팀엔진 토큰 거래 내역 조회하기[2]

in #sct5 years ago

지난 번에 "스팀엔진 토큰 거래 내역 조회하기"라는 글을 올렸었는데요. 오늘 몇 가지 더 확인하면서 발견한 사항들 정리합니다.

일단 스팀엔진에서 특정 토큰의 거래 내역을 보는 방법입니다. 스팀엔진은 블럭 당 트랜젝션이 하나 씩 기록되어 있습니다.

여러가지 거래 내용 중 "action"에 있는 "buy", "sell" 부분만 보면 됩니다. 그외에도 "action"에는 "transfer", "cancel" 등이 있습니다.

block_info['transactions']에 내용이 없는 경우가 있습니다. 내용을 보니 action에 "checkPendingUnstakes"라고 기록이 되어 있습니다.

def get_trasnaction_history(targetToken) :

    rets = api.get_latest_block_info()
    last_block = rets["blockNumber"]
    cnt = 1
    for block in range (last_block, 0, -1) :
        block_info = api.get_block_info(block)
        # 'checkPendingUnstakes', 
        if (len(block_info['transactions']) == 0 ) :
            continue
        if (block_info['transactions'][0]['action'] == 'buy' or block_info['transactions'][0]['action'] == 'sell' ) :
            payload = json.loads(block_info['transactions'][0]['payload'])
            if (block_info['transactions'][0]['contract'] == 'steempegged' ) :
                pass
            else :
                if (payload['symbol'] == targetToken ) :
                    cnt += 1
                    print(block, block_info['transactions'][0]['action'], block_info['transactions'][0]['payload'])


steem엔진에 기록된 거래 내역을 보다가 이상한 부분이 발견되었는데요. 관련없는 거래 내용이 섞여있습니다. 이건 steem 엔진 팀에서 검토를 해야할 것 같습니다.

SSC 토큰 거래 내역에 TRADE 토큰 포함
image.png

SSC 토큰 거래 내역에 TPU 토큰 포함
image.png

b# 107467는 더 큰 문제가 있는데요.
events 항목의 구성을 보면 첫 줄은 원 주문 그리고 그 다음 줄은 두 줄씩 쌍으로 토큰 거래 내역과 이에 상응하는 Steemp 거래 내역이 기록됩니다. 그런데 이 블럭은 그러한 규칙을 위반한 상태로 기록되어 있습니다. 이렇게 되면 거래내역을 보여 주는 경우에 잘못된 정보를 줄 수 밖에 없습니다.


스팀엔진에 기록된 트랜잭션들을 보니 나의 거래가 잘 정산이 되고 있는지 의심이 듭니다.

Sort:  

jcar토큰 보팅합니다.

Coin Marketplace

STEEM 0.24
TRX 0.12
JST 0.030
BTC 69643.92
ETH 3669.68
USDT 1.00
SBD 3.30