코딩 강의/유용한 스킬 없을까요

비트코인 암호 화폐 거래소 업비트 API(파이썬) 사용 방법

변태 개발자 아미넴 2021. 5. 16.

최근에 주식보다 비트코인이 더 핫하죠.

 

그런데 매일 신경쓰면서 거래하는 건 스트레스 받고 안 하자니 손해보는 것 같아서 프로그램 매매를 시도해 보려고 생각을 하였습니다. 요새는 주식도 그렇고 코인도 거래소마다 오픈 API 지원이 잘 되고 있어서 어렵지 않게 시도를 할 수 있었습니다.

 

윈도우를 사용하고 업비트 계정이 있는 분, 그리고 프로그래밍 언어는 파이썬 기준으로 설명을 드리겠습니다. 아직 계정이 없으신 분은 계정 생성부터 진행해 주세요.

 

목차

     

    오픈 API 키 발급받기

    먼저 업비트에서 로그인을 한 다음 업비트 오픈 API 안내 페이지로 갑니다.

     

    다음과 같은 화면이 보이면 Open API 사용하기 버튼을 누릅니다.

     

    다음 스탭도 간단합니다. API를 통해 수행하기를 원하는 항목에 체크 합니다. 특별한 목적이 있지 않다면 전체를 체크합니다. 그 다음 Open API Key 발급받기 버튼을 누릅니다. 특정IP에서만 실행 항목은 주문하기, 출금하기 사용을 위해서 필수로 체크해 주셔야 합니다.

     

    본인의 컴퓨터 IP주소는 네이버에서 다음과 같이 간단히 확인이 가능합니다.

     

    발급을 받으려면 카카오페이 인증이 필요하므로 미리 준비하시기 바랍니다.

     

    발급이 완료가 되면 Access KeySecret Key가 나오는데 Secret Key는 여기서 적어두지 않으시면 다시는 확인이 불가능 하오니 꼭 다른데 적어 두셔야 합니다. 물론 삭제하고 다시 발급하면 되니까 실수했더라도 당황하지 않습니다.

     

    장소가 바뀌거나 유동 IP를 사용하시는 분은 IP가 바뀌면 변경 버튼을 통해서 바꾸실 수 있습니다.

     

    환경변수 설정하기

    제어판 > 시스템 > 고급 시스템 설정으로 이동하여 환경 변수 버튼을 누릅니다.

     

    그리고 새로 만들기 버튼을 누릅니다.

     

    UPBIT_OPEN_API_SERVER_URL를 다음과 같이 입력합니다. 그리고 UPBIT_OPEN_API_ACCESS_KEY, UPBIT_OPEN_API_SECRET_KEY 이름으로 앞서 적어 놓았던 키 값도 등록합니다.

    그냥 소스 파일에 하드 코딩할 수도 있지만 환경 변수로 저장해 놓는 편이 보안상 안전하기도 하고 소스 코드를 작성하여 Git에 올려 공유하더라도 키가 노출될 위험을 차단할 수 있습니다.

     

    API 레퍼런스 호출 테스트

    이제 API 호출을 위한 준비는 모두 마쳤습니다. 다음 사이트에서 예제를 참고하여 호출 테스트를 해보겠습니다.

     

    업비트 API 레퍼런스

     

    업비트 개발자 센터

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

    docs.upbit.com

     

    다음은 전체 계좌 정보를 가져오는 파이썬 코드입니다. 예제 소스 코드를 그대로 가져온 것입니다.

    import os
    import jwt
    import uuid
    import hashlib
    from urllib.parse import urlencode
    
    import requests
    
    access_key = os.environ['UPBIT_OPEN_API_ACCESS_KEY']
    secret_key = os.environ['UPBIT_OPEN_API_SECRET_KEY']
    server_url = os.environ['UPBIT_OPEN_API_SERVER_URL']
    
    payload = {
        'access_key': access_key,
        'nonce': str(uuid.uuid4()),
    }
    
    jwt_token = jwt.encode(payload, secret_key)
    authorize_token = 'Bearer {}'.format(jwt_token)
    headers = {"Authorization": authorize_token}
    
    res = requests.get(server_url + "/v1/accounts", headers=headers)
    
    print(res.json())

     

    위의 코드를 실행하여 다음과 같은 결과를 얻을 수 있습니다. 업비트 내 계좌 잔고 정보를 그대로 가져 왔습니다.

    [
       {
          "currency":"KRW",
          "balance":"123415031.775",
          "locked":"0.0",
          "avg_buy_price":"0",
          "avg_buy_price_modified":true,
          "unit_currency":"KRW"
       },
       {
          "currency":"ADA",
          "balance":"10000.0",
          "locked":"0.0",
          "avg_buy_price":"1000",
          "avg_buy_price_modified":false,
          "unit_currency":"KRW"
       }
    ]

     

    이런 방식으로 정보를 얻어와서 프로그램 매매에 활용을 할 수 있습니다.

    다음 포스팅에서는 라이브러리를 이용하여 좀 더 간편한 방법으로 API를 호출할 수 있는 방법에 대해 알아보겠습니다.

     

    (내용 추가 2021.06.10)

    pyupbit 라이브러리를 통한 비트코인 암호 화폐 거래소 API 사용 방법

     

    pyupbit 라이브러리를 통한 비트코인 암호 화폐 거래소 API 사용 방법

    오늘은 pyupbit 라이브러리를 이용하여 업비트에서 제공하는 API를 좀 더 손쉽게 사용하는 방법을 알아 보겠습니다. 고마운 분들이 API를 사용하기 편리하게 만들어 놓았습니다. 우리는 그냥 가져

    sangminem.tistory.com

    감사합니다.

    728x90
    반응형
    BIG

    댓글4

    • teum♡ 2021.05.18 21:19 신고

      오랜만에 다녀갑니다~^^♡
      답글

    • firenews 2021.05.28 15:27

      이용약관위배로 관리자 삭제된 댓글입니다.
      답글

    • firenews 2021.07.01 15:52 신고

      제2의 비트코인 꼭보세요!! (이제 올라갈듯 )

      2008년에 비트코인을 매일 50코인을 무료로 채굴할 수 있었습니다. 대부분의 사람들은 가치가 없다고 느꼈습니다. 지금 비트코인(Bitcoin)은 1코인당 6000만원 상당의 가치가 있습니다.

      2011년에 라이트코인이 선보였고, 매일 100코인을 무료로 채굴할 수 있었습니다. 대부분의 사람들은 이것이 여전히 가치가 없다고 생각했습니다. 라이트코인(Lite coin)은 현재 1코인에 30만원입니다.

      이더리움이 2015년에 나왔습니다. 매일 30코인을 무료로 채굴할 수 있었습니다. 대부분의 사람들은 여전히 그것을 믿지 않았습니다. 이제 이더이움(Ethereum)은 1코인당 300만원 상당의 가치가 있습니다.

      현재 전 세계적으로 돌풍을 일으키고 있는 상장을 준비중인 최고의 가치를 내재하고 있는 코인을 알려드립니다.

      **파이코인**

      파이코인은 2019년에 태어났고 몇 번의 반감기를 거쳐 지금 하루에 6코인정도를 무료로 채굴할 수 있습니다.

      다음 반감기 오기전 혹은 무료채굴 종료 전에 서두르셔야 합니다.

      비트코인의 단점을 보완하여 스마트폰으로 채굴 할수 있는 파이코인.

      스마트폰의 성능에 전혀 지장이 없으며, 하루 1번의 스위칭으로 24시간(1세션)동안 무료 채굴 합니다.

      이 황금같은 기회를 놓치지 마세요..!!

      파이(PI)는 스탠퍼드 박사들이 개발한 새로운 디지털 화폐이며 전 세계적으로 1800만 명 이상의 사용자가 존재합니다.
      파이를 받으시려면 앱스토어에 파이네트워크(pi network) 검색 설치 후 가입 시 저의 사용자 이름 firenews 누르시면 가입됩니다.

      http://minepi.com/firenews

      파이코인 이외에 2번째로 관심있는 코인인 비(bee)코인은 현재 1200만명이 넘고 올해 상장합니다.
      앱스토어에서 bee network 치고 다운로드받아 추천인 firenews1004 입니다.

      영국에서 나온 올해 9월 상장예정인 유망한 이글코인은 앱스토어에서 이글코인 치시고 다운받으셔서 추천인 firenews 입니다.

      싱가폴에서 나온 올해 상장예정인 전망 높은 ANT코인은 앱스토어에서 ANT NETWORK 치시고 다운 받아 추천인 firenews1004 입니다.

      발키리스왑은 이미 상장된 코인인데 전체 수량이 800만여 주 밖에 안돼 전망이 매우 높은 코인입니다. 아직 채굴 가능합니다. 밑에
      http://app.vswap.cc/#register?invitecode=804274 로 채굴 가능합니다.
      답글

    💲 추천 글