[암호화폐] 그것이 알고싶다!! 스팀엔진에서 잃어버린 steemp를 찾자!

Words
267
Reading
2 min
Listen
Play
7y

스팀엔진은 거래를 하기 위한 아주 기본적인 기능만 개발된 상태입니다.

하지만 거래하는 토큰이 늘어나면 부가적으로 필요한 기능들이 많이 있습니다. 그중 으뜸은 각 토큰 별 거래내역입니다. 거래 내역을 확인할 수 있어야 언제 얼마에 사고팔았는가에 대한 정보를 알 수 있는데, 현재 스팀엔진에서는 이런 정보를 알 수가 없습니다.

그다음으로 필요한 기능은 거래가 성사되지 않은 주문을 볼 수 있는 기능이라고 생각합니다. 어떤 토큰에 어떤 주문이 들어가 있는지 확인하려면 각 토큰 마켓에 들어가서 확인하는 수밖에 없습니다. 상당히 불편하죠.

그래서 현재 스팀엔진에 본인 계좌로 매수/매도 주문이 들어간 리스트를 출력해주는 파이썬 코드를 만들었습니다.

    import requests
    import json
    from steemengine.api import Api

    accounts = ['tradingideas', 'tradingideas.spt']

    api = Api()
    rets = api.find("tokens", "tokens")  # get tokens list
    for ret in rets :
        orders = api.find("market", "buyBook", {'symbol':ret['symbol']})  # for each token
        first_order = 1
        for order in orders :
            if(order['account'] in accounts) :
                if ( first_order ) :
                    print("=== [BUYING] ===")
                    first_order = 0
                print(order['account'], order['symbol'], order['price'], order['quantity'])

        first_order = 1
        orders = api.find("market", "sellBook", {'symbol':ret['symbol']})
        for order in orders :
            if(order['account'] in accounts) :
                if ( first_order ) :
                    print("")
                    print("=== [SELLING] ===")
                    first_order = 0
                print(order['account'], order['symbol'], order['price'], order['quantity'])

실행 결과입니다.

계정 별로 현재 미결 주문 상태를 쭉 출력해 주는군요. 이 중 잊고 있었던 주문이 있으면 취소를 하시면 될 것 같습니다. 추가로 주문 취소까지 연결이 된다면 더 빨리 처리가 가능하겠죠?


파이썬 코드로는 online-ide에서 페키지 설치가 되지 않아서 간단하게 node.js로 작업을 해서 올려놓았습니다.
아래 링크 클릭해서 토큰명과 계정명을 등록한 후 위에 있는 RUN 버튼을 누르면 대기 중인 매수 주문 리스트를 볼 수 있습니다.
https://repl.it/@zonemultiwhs/pending-orders-node


스팀엔진 orderbook에 관련된 사항은 아래 글 참고하세요.

[암호화폐] 그것이 알고싶다!! steem-engine order book
[암호화폐] 그것이 알고싶다!! steem-engine에서 주문하기

[암호화폐] 그것이 알고싶다!! 스팀엔진에서 잃어버린 steemp를 찾자! | Ecency