Hace mucho tiempo que no escribo en este blog porque despues de lanzar la APP para iPhone y analizar el feedback decidí aparcarlo para dedicar los esfuerzos a otros proyectos.
Ahora que el mundo de las cryptomonedas está en boca de todo el mundo he decidido retomar los proyectos relacionados con las herramientas para trading. El primer paso que he querido dar es el de probar la conexión a la API de un trader, es este caso el de Binance que permite crear una cuenta de prueba para poder "jugar".
Para empezar, contestaremos a la pregunta de ¿Qué es la API de Binance?
Una API (Application Programming Interfaces) es una interfaz que permite la comunicación con el servicio a través de un lenguaje de progración. Para este caso Binance tiene una API RESTfil que usa peticiones HTTP a través de Python para enviar y recibir datos. Además tambien tiene un socket web que permite el streaming de datos como el precio o el estatus de la cuenta.
En esta entrada configuraré un framework para conectar a la API usando la libraria python-binance en un sistema Windows. En una próxima entrada, haré lo mismo para un sistema Mac.
Preparar el Framework
Para preparar el entorno de trabajo que permita conectarnos a la API de Binance necesitaremos tres cosas:
- el cliente de Python
- el modulo de gestión de paquetes PIP
- y la libraria Python-Binance
Para instalar el cliente Python en Windows 10 es tan fácil como buscarlo en la Microsoft Store e instalarlo.
Para obtener PIP, el primer paso es descarcargar el script que lo va a instalar:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
Una vez descargado, ejecutamos el script desde Python.
python get-pip.py
Y una vez se complete la instalación, solo queda comprobar que esta correctamente instalado.
El último punto es instalar el
pip install python-binance
Con estos tres componentes ya tenemos el framework necesario para conectar a la API, el siguiente punto es realizar la conexión y para ello, necesitamos unas claves para autenticarnos.
Obtener claves de Testnet
Antes de empezar a hacer trading en un entorno real Binance da la opción de testear el codigo en una Testnet:
https://testnet.binance.vision/
Desde aquí podremos autenticar usando la cuenta de GitHub:
Una vez dentro, veremos disponible la opción de generar unas nuevas claves HMAC_SHA256 para conectar a la API. Tambien es posible registrar unas claves RSA, pero es algo que veremos en otra ocasión.
Una vez cliquemos en el enlace para generar las claves HMAC SHA256, tan solo tenemos que introducir una descripción que tan solo nos valdrá para identificar las claves en la web:
Nos mostrará las claves y las guardaremos a buen recaudo para poder usarlas en nuestros scripts para autenticar con la API.
Securizar las claves de la API
set binance_api=aqui_tu_clave_api
set binance_secret=aqui_tu_secreto_api
Y puedes probar a importar las variable a Python usando el comando import os de la siguiente manera :
"Hello World!"
Ahora que tenemos el framework preparado y las claves generadas como primera prueba vamos a hacer algunas consultas a la API.
El primer paso es iniciar un cliente:
import os # para importar las variables de entorno donde estan las claves
from binance.client import Client # para importar la clase Client
Como en la prueba anterior, cargamos las claves que tenemos en las variables de entorno.
# importar claves El siguiente paso es crear una objeto de la clase Client usando las claves de la API
|
Y hasta aquí la primera toma de contacto con la API de Binance, el framework para conectarse a la API real es el mismo, la única diferencia es que las claves hay que solicitarlas en la cuenta de Binance que tengamos abierta. Pero eso lo veremos en futuras antreadas.
Gracias por llegar hasta aquí!
Links
https://algotrading101.com/learn/binance-python-api-guide/
https://phoenixnap.com/kb/install-pip-windows