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

Words
303
Reading
2 min
Listen
Play
7y

어제는 steem-engine의 order 북을 보는 방법에 대하여 글을 썼었습니다[2]. 오늘은 steem-engine에 있는 임의의 토큰에 대하여 주문을 하는 방법에 대하여 기술합니다.

이렇게 되면 order 북 내용을 참고하여 매수가 보다 더 비싸게 매도가 보다는 더 싸게 자동으로 주문을 낼 수 있습니다.


우선 매도부터 보겠습니다.

일전에는 api라는 class를 사용하였는데[1], 이번에는 Market이라는 클래스를 사용합니다. 함수 명은 sell이고 인자는 계정명, 수량, 심블, 가격입니다.

    def sell(self, account, amount, symbol, price):
        """Sell token for given price.

            :param str account: account name
            :param float amount: Amount to withdraw
            :param str symbol: symbol
            :param float price: price

매수도 비슷한 방식입니다. 함수 명은 buy이고 인자는 계정명, 수량, 심블, 가격입니다.

    def buy(self, account, amount, symbol, price):
        """Buy token for given price.

            :param str account: account name
            :param float amount: Amount to withdraw
            :param str symbol: symbol
            :param float price: price

이 함수를 사용한 예제입니다.

from beem import Steem
from steemengine.market import Market
import json

symbol = "SSC"
stm = Steem(keys=mykeys)
m = Market(steem_instance=stm)

# 매도
ret = m.sell(account, 1, symbol, 1.00)
done = json.loads(ret['operations'][0][1]['json'])
print(done['contractPayload']['symbol'], done['contractAction'], done['contractPayload']['price'], done['contractPayload']['quantity'])

# 매수
        ret = m.buy(account, 1, "SSC", 0.0001)
        done = json.loads(ret['operations'][0][1]['json'])
        print(done['contractPayload']['symbol'], done['contractAction'], done['contractPayload']['price'], done['contractPayload']['quantity'])

주문이 성공적으로 마켓에 나가면 ret 부분에 관련 정보가 들어옵니다.

json 부분에 있는 내용이 주문에 대한 정보입니다.

아래와 같이 주문이 잘 등록이 되었습니다.

가끔 주문을 취소해야 하는 경우도 있겠죠. 매수 매도 주문과는 달리 이미 들어간 주문에 대한 id를 입력해야 합니다.

    def cancel(self, account, order_type, order_id):
        """Cancel buy/sell order.

            :param str account: account name
            :param str order_type: sell or buy
            :param int order_id: order id

간단하게 스팀엔진 상에서 특정 토큰을 사고/팔고/주문 취소하는 방법을 살펴보았습니다.

궁극적으로 해볼 LP에 대한 절차에 대한 공부를 한 후 전체적인 개발을 진행하여 sct에 대한 LP 역할을 해 볼 예정입니다.

오늘 SCT가격이 너무 올라서 LP 하기가 조금 겁나기는 합니다.


[1] https://github.com/holgern/steemengine
[2] [암호화폐] 그것이 알고싶다!! steem-engine order book 보기