여니의 Side Project/가상화폐 매수매도 프로그램

[#2] 웹소켓 , 비동기에 대한 기초 지식 쌓기 & upbit websocket api

여니's 2021. 1. 18. 23:44

websockets.readthedocs.io/en/stable/intro.html

 

Getting started — websockets 8.1 documentation

You will usually want to process several messages during the lifetime of a connection. Therefore you must write a loop. Here are the basic patterns for building a WebSocket server. Registration As shown in the synchronization example above, if you need to

websockets.readthedocs.io


docs.upbit.com/docs/upbit-quotation-websocket#type-field

 

업비트 개발자 센터

업비트 Open API 사용을 위한 개발 문서를 제공 합니다.업비트 Open API 사용하여 다양한 앱과 프로그램을 제작해보세요.

docs.upbit.com

ticket

> 일반적으로 용도를 식별하기 위해 ticket 필드값이 필요함

 

type

>> 수신하고 싶은 시세 정보를 나열하는 필드입니다.

하나의 요청에 여러 개를 명시할 수 있다.

(현재가->ticker, 체결->trade, 호가->orderbook) : 타입은 string

 

codes

>> 수신할 시세 종목 정보 (대문자로 요청해야 한다.)

타입은 list

 

isOnlySnapshot >> 시세 스냅샷만 제공

스냅샷은 특정 시점에 블록체인에 적혀진 장부를 저장해놓는 것이다.

 

isOnlyRealtiem >> 실시간 시세만 제공

 

format field

>> 포맷정보로 simple로 지정될 경우 응답의 필드명이 모두 간소화된다.

트래픽 부담이 클 때 사용하는 방식이다.

 


websocket.send()

>> 지정된 데이터가 웹 소켓 연결을 통해 서버로 전송한다.

만약 데이터를 보낼 수 없다면, 소켓은 자동으로 닫힌다.

 

await websocket.recv()

>> 

 

json (javascript object notation) 

>> 효율적으로 데이터를 저장하고 교환하는 데 사용하는 텍스트 데이터 포맷 중 하나

 

https://rfriend.tistory.com/474

json.load(변수명) 메서드

>> JSON 포맷 데이터를 Python 객체로 읽어오기 (디코딩하기)

 

현재 작성중인 코드에서는 JSON(object) -> Python(dict형태)

 


현재가 응답, 체결응답, 호가 응답 사용법 (upbit)

json 포맷 데이터를 python 객체로 변경해서 저장한 변수명을 test라고 하면,

test['code']

이런식으로 변수명['필드명']으로 작성해주면 된다.

 

docs.upbit.com/reference