API란 쉽게 말해 정형화된 주문서라고 생각하면 됩니다.
정해진 규칙대로 주문을 하면 원하는 답을 딱 줍니다.
암호화폐 가격을 알려주는 API는 크게보면
1 각종 거래소와 2 코인마켓캡 같은 정보 포탈에서 제공하는데,
여기서는 Login이 필요 없는 곳 2군데를 이용해보겠습니다.
첫번째는 https://www.coingecko.com/en 입니다.
API 정보는 여기에 있습니다: https://www.coingecko.com/api/documentations/v3
너무 어려워 마시고, 아래 한 줄을 복사해서 웹 브라우저의 주소 적는 칸에 붙여넣고 엔터 쳐보세요
https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd
그러면 이런 정보가 나올 겁니다.
{"bitcoin":{"usd":8111.27}}
이제 저 위 줄에서 bitcoin을 ethereum으로 바꾸고, usd를 krw로 바꿔보세요.
그러면 이런 정보로 바뀌겠죠.
{"ethereum":{"krw":306836}}
코인겟코에서 가격을 제공하는 코인의 종류는 아래 한 줄을 가져가서 똑같이 해보세요
https://api.coingecko.com/api/v3/coins/list
아마 여러분이 관심없는 거의 모든 종류의 코인 정보가 나올 겁니다. 여기 나오는 정보 중에 "id"라고 되어있는 부분의 이름을 정확히 알아야 원하는 가격 정보를 가져올 수 있습니다.
장점: 온갖 먼지 코인도 거의 다 포함되어 있다
단점: 많이 쓰이는 심볼 (예 btc, ltc, ...)이 아니라 정확한 이름을 알아야 한다 (예 bitcoin, litecoin)
두번째는 https://www.cryptonator.com/ 입니다. 여기가 뭐하는 데 인지는... 사실 저도 잘 모르고요, API 정보는 여기 있습니다: https://www.cryptonator.com/api
여기서 실행해볼 한 줄은
https://api.cryptonator.com/api/ticker/btc-usd
역시 웹브라우저의 주소란에 붙여넣으면 아래와 같은 정보가 나올거에요.
{"ticker":{"base":"BTC","target":"USD","price":"8097.38280735","volume":"76261.79424595","change":"8.72946670"},"timestamp":1560395824,"success":true,"error":""}
이번에도 한 번 바꿔봅시다. btc-usd를 eth-krw로 바꿔보세요.
이렇게 나오나요?
{"ticker":{"base":"ETH","target":"KRW","price":"320169.50000000","volume":"","change":"-539.60000000"},"timestamp":1560395883,"success":true,"error":""}
참 쉽죠? ^^
이 사이트에서 제공하는 코인 목록은 다음에서 확인할 수 있습니다.
https://www.cryptonator.com/api/currencies
장점: 심볼 사용 가능하다.
단점: 코인겟코보다 코인 종류가 적다. TRTL도 없고, GRFT도 없고, Callisto도 없고...
장부는 아무래도 마이크로소프트의 엑셀같은 Spreadsheet 프로그램을 이용하는 게 편합니다. 그리고 구글 Doc에도 비슷한 Sheets가 있죠. (여담인데, 한국 사람 백에 99명은 저 영단어 발음하면 듣는 사람은 shit으로 들을겁니다. 욕이죠 ^^)
구글시트에서 위의 api를 처리하려면 "ImportJSON" 이라는 함수를 추가해야 합니다. 위에 api 결과로 나오는, {} 괄호가 앞 뒤로 쳐진 형식을 JSON이라고 불러요. 이제 이걸 설치해 봅시다.
전 미디엄에 나온 이 글을 참조했어요. 간단히 소개하자면
이제 거의 다 됐습니다.
위의 코인겟코의 경우에는
=importjson("https://api.coingecko.com/api/v3/simple/price?ids=bitcoin&vs_currencies=usd","/","noInherit, noTruncate")
크립토네이터의 경우에는
=importjson("https://api.cryptonator.com/api/ticker/btc-usd","/ticker/price","noInherit, noTruncate")
구글 시트의 어떤 빈칸에다가 위의 2가지 중 아무거나 복사해넣고 엔터 치면 현재 가격이 나올거에요.
자 이제 정말 마지막입니다.
여러분의 코인이 한 두개가 아닐 경우의 팁이에요.
구글 시트에서 한 줄에 관심있는 코인의 이름을 주욱 쳐 넣습니다. (코인겟코와 크립토네이터 api에서 쓰이는 이름 형식이 다르니 주의하시구요)
만약 B3 칸이 "btc"라고 한다면 크립토네이터의 명령어를 다름과 같이 바꾸면 되요.
=importjson("https://api.cryptonator.com/api/ticker/"&B3&"-usd","/ticker/price","noInherit, noTruncate")
만약 B4 칸이 "litecoin"이라면 코인겟코는 다음과 같이 바뀌어요.
=importjson("https://api.coingecko.com/api/v3/simple/price?ids="&B4&"&vs_currencies=usd","/","noInherit, noTruncate")
그러면 이제 마우스로 오른쪽 아래 꼭지점 누르고 옆으로 주~욱 가져가면 차례로 원하는 각종 코인 가격이 다 나오겠죠? 이제 나온 가격을 복사한 다음 "Paste Special - Value only"로 원하는 곳에 복사해놓고, 원하는 코인의 갯수를 기록한 다음 두 셀을 곱하면 되겠습니다. 그러면 이제 본인의 수익률이 -50%인지 -30%인지 계산이 딱 나오겠죠 ㅎㅎ
그럼 저는 이만 총총