-
Uniswap hace uso de un contrato inteligente para hacer los intercambios
-
Uniswap funciona con la cartera Metamask
Importante: Para realizar este tutorial necesitarás contar con la cartera Metamask. En caso de no contar con ella, te recomiendo visites este enlace, que te llevará al tutorial para aprender a usar esta cartera.
Uniswap es un mercado de intercambio descentralizado que permite realizar operaciones de canje entre cualquier token ERC20 y ETH, sin entes intermediarios y con una comisión de apenas el 0.3%.
Cualquier token pueden ser intercambiado dentro de esta plataforma, gracias a que cualquier usuario puede abrir un nuevo mercado de canje, agregando su propio token ERC20 al catálogo a través de un contrato de intercambio que la plataforma permite generar.
De igual modo, la plataforma permite cambiar cualquier ERC20 a ETH o viceversa en una sola operación, pero para intercambios entre tokens se necesita un paso extra, ya que primero se realiza la transacción de cambio del ERC20 a ETH, y posteriormente de ETH a ERC20. Esto conlleva a que se deba pagar el 0.6% de comisión correspondiente a las dos operaciones realizadas.
Debido a que estamos utilizando un mercado descentralizado, necesitamos una reserva tanto en ERC20 como en ETH, con la finalidad de contar con la liquidez suficiente y posteriormente fijar una tasa de cambio. Para que esto sea posible, Uniswap hace uso de un contrato inteligente (funciona como una piscina o pool) que agrupa todas las reservas en ERC20 y ETH de un intercambio en particular, y donde todos los usuarios de la red pueden realizar depósitos 50% ETH y 50% ERC20 (en este caso, el monto a depositar en ERC20 se calcula a la tasa de cambio actual sobre el ether) que permitirán aumentar la liquidez de un token y a su vez recibir ganancias por este tipo de depósitos.
Tabla de Contenidos
- Arbitraje para regular el precio
- Contratos inteligentes para los intercambios
- Primeros pasos con Uniswap
- Realiza intercambios con Uniswap
- Intercambios a terceros
- Agregar y retirar liquidez
- Crear mercados de intercambio en Uniswap
- Conclusiones
Arbitraje para regular el precio
Las piscinas son conformadas por el primer usuario que crea el intercambio y realiza el primer depósito de 50% ERC20 y 50% ETH. También, quien crea el contrato de intercambio, es quien fija la tasa inicial de cambio. Pero cabe preguntar cómo se regula esta tasa. Esta se fija de forma arbitraria y a gusto total del usuario, lo cual puede suscitar una tasa elevada o injusta con respecto al mercado.
Para que esta tasa se regule, se hace uso de un concepto del trading llamado arbitraje. Es decir, los usuarios buscarán beneficiarse entre las diferentes tasas de cambio de los distintos mercados existentes –ya sean centralizados o descentralizados- en los cuales se cotiza ese par ERC20/ETH en particular, haciendo que la tasa de cambio se autorregule sin ningún tipo de intermediario, además de la propia comunidad de usuarios.
Contratos inteligentes para los intercambios
Como ya mencionaba, cada mercado de intercambio dentro de Uniswap se basa en un contrato inteligente de la red de Ethereum. Por ejemplo, cuando abres un nuevo mercado de cambio se genera un contrato inteligente desde donde se fijará el depósito y la tasa de cambio inicial, que servirá para organizar la piscina de reserva de liquidez del token.
Tabla de contenidos
- Arbitraje para regular el precio
- Contratos inteligentes para los intercambios
- Primeros pasos con Uniswap
- Realiza intercambios con Uniswap
- Intercambios a terceros
- Agregar y retirar liquidez
- Crear mercados de intercambio en Uniswap
- Conclusiones
Primeros pasos con Uniswap
Para poder ingresar a la plataforma debemos tener instalada previamente la cartera Metamask, ya que estamos hablando de una aplicación descentralizada de Ethereum, y es a través de ella que podremos interactuar con Uniswap.
Así que, con la cartera instalada, iremos al portal principal de Uniswap.
Al abrir se nos pedirá confirmar la conexión entre Metamask y Uniswap, de modo que presionaremos sobre Conectar.
Lo que vemos en la imagen anterior es el portal de intercambios de Uniswap, específicamente la sección Swap (intercambios). Como pueden ver, es un portal bastante sencillo que solamente cuenta con 3 secciones: Swap (intercambiar), Send (enviar) y Pool (piscina)
Antes de continuar, es necesario que se fijen en el siguiente mensaje que se muestra en la imagen anterior.
Aquí se nos hace advierte a este un proyecto en fase de desarrollo, y por eso debemos usarlo bajo nuestro propio riesgo.
Por otro lado, con respecto al funcionamiento de las diferentes secciones, tenemos las siguiente funciones:
El apartado Swap (intercambiar)
Desde aquí podremos intercambiar ETH o tokens ERC20 que se encuentren disponibles dentro de Uniswap.
El apartado Send (enviar)
Tiene la misma configuración que el apartado Swap, es decir, podremos realizar intercambios, aunque con una particularidad: quien recibirá el resultado de la operación será una dirección externa a la nuestra, que tendremos que ingresar al momento del intercambio, mientras que desde la sección Swap todo queda en nuestro propio monedero.
El apartado Pool (piscina)
En este apartado podrás darle liquidez a un mercado de intercambio ya creado, retirar la liquidez que anteriormente hayas agregado Y abrir un nuevo mercado de intercambio ETH/ERC20.
Realiza intercambios con Uniswap
Ahora bien, en este punto, y conociendo las funciones que cumplen los diferentes apartados, entenderemos que hay dos formas de realizar un intercambio, aunque básicamente es el mismo, en donde cambia solo quien será el receptor.
Comencemos realizando un intercambio por el apartado Swap.
El primer paso es elegir el par que buscamos intercambiar, y esto lo haremos presionando sobre los botones que se indican en la imagen anterior. Debes de tener en cuenta que arriba vamos a elegir lo que enviaremos y abajo lo que queremos recibir.
Hay ocasiones que veremos la opción Unlock (desbloquear) a lado de algún token que elijamos. Esto se debe a que tendremos que desbloquearlo con la finalidad de que el saldo de este se vea reflejado en la cartera Metamask. Así que, para ello, presionaremos sobre Unlock, y confirmaremos una transacción desde Metamask que permita habilitar este token.
Ahora indicaremos el monto a intercambiar.
Con el monto colocado, veremos cuánto ERC20 o ETH recibiremos a cambio, y en la parte inferior la tasa de cambio actual. Como recomendación, y debido a lo joven que aún es esta plataforma, consulta la tasa actual del mercado en otra casa de cambio, esto con la finalidad de saber si estas realizando un intercambio con una tasa justa.
Para finalizar el intercambio, solo queda presionar sobre Swap, que abrirá nuestra cartera Metamask desde donde confirmaremos la operación. Luego solo hay esperar las confirmaciones de la red sobre el contrato inteligente para recibir los tokens o ethers correspondientes.
Intercambios a terceros
Una de las particularidades que ofrece Uniswap, con respecto a los intercambios, consiste en poder enviar el resultado de una operación a la cartera de un tercero directamente, esto a través del apartado Send.
Aquí haremos exactamente lo mismo que el apartado Swap, donde elegiremos el par a intercambiar junto con el monto. La única excepción es que tendremos que agregar una dirección de destino. Hay que recordar que estas direcciones públicas deben pertenecer a una cartera de Ethereum, ya que, en caso contrario, correremos el riesgo de perder los fondos.
Agregar y retirar liquidez
Vamos a comenzar agregando liquidez a un mercado de intercambio existente: agregaremos fondos 50% ERC20 y 50% ETH a las reservas de este token. Para que este proceso sea rentable, en cada transacción de canje se cobra 0.3% sobre el monto total, y esa comisión es repartida equitativamente sobre todos los que tengan depósitos en esa piscina. Es decir, si tu depósito equivale al 50% de la reserva total, obtendrás la mitad de la comisión sobre la transacción realizada.
Algo a tomar en cuenta acerca de los depósitos es que estos pueden ser retirados en el momento que el usuario lo desee, pero hay que tomar en consideración que, al retirar el depósito, recibiremos el total en ETH, pero los ERC20 serán calculados en la tasa actual al momento del retiro, mas no en la tasa que existía cuando realizaste el depósito.
Para ejemplificar esto mejor, imaginemos que depositamos 1 ETH más su equivalente que serían 20 ERC20, recordando que el depósito es 50% ETH y 50% ERC20, calculado a la tasa de cambio actual, donde cada ERC20 tendrá un valor de 0.05 ethers. Es decir, el depósito en total será por un valor neto de 2 ETH. Ahora bien, si al momento del retiro, la tasa de cambio actual es de 0.1 ETH por cada ERC20, obtendremos 1 ETH más 10 ERC20 que equivaldría a su valor total de 2 ETH, más las ganancias generadas.
Tengan en cuenta que, en ocasiones, las tasas de cambio podrían no ser justas, es por ello que recomiendo verificar la tasa real del mercado. Esto con la finalidad de obtener tanto una tasa justa como la de prevenir una posible pérdida de dinero.
Quizás tengas curiosidad de saber por qué se deposita 50% en ETH y 50% en su equivalente en ERC20. Básicamente, esto se realiza para mantener equilibrada la liquidez del mercado, es decir, no aumentar la oferta ni de un lado ni del otro. Y de esta manera conservar la misma tasa de cambio luego de realizado el depósito.
Ahora bien, comencemos con los pasos para realizar un depósito. Primero iremos al apartado Pool y verificaremos que se encuentre seleccionada la opción Add Liquidity.
Caso contrario, selecciona sobre la opción que se encuentra en el recuadro rojo y elije Add liquidity.
A continuación, tendremos que elegir el token a depositar, junto con el monto. Para el caso de este último, podremos colocar el valor en ETH o en ERC20, debido a que independientemente de cuál coloquemos primero, la otra casilla se rellenará de forma automática, calculando el valor del depósito con respecto a la tasa de cambio actual.
En este punto ya tenemos el valor total que podemos depositar, solo queda entonces presionar sobre Add Liquidity en la parte inferior, donde se abrirá nuestra cartera Metamask solicitando que aprobemos una transacción para la transferencia de fondos. Esperamos las confirmaciones de la red y listo.
Con respecto al retiro, debemos elegir la opción Remove Liquidity
Aquí tendremos que colocar el monto, expresado en ETH, junto con el token correspondiente a retirar. Y veremos cómo se nos muestra el total estimado del retiro tanto en ether como en ERC20. Del mismo modo, en la parte inferior tendremos la tasa de cambio con la cual se estima el total a retirar.
Queda solo entonces presionar sobre Remove Liquidity, confirmar la transacción desde nuestra cartera Metamask y listo. Ya una vez confirmada la transacción, veremos el saldo reflejado en el monedero.
Crear mercados de intercambio en Uniswap
Para crear un mercado de intercambio efectivo dentro de esta plataforma necesitaremos dos cosas: contar con la dirección del contrato inteligente donde se creó el ERC20 y fondos tanto en ETH como en el token que vamos a agregar. Sin embargo, para agregar un mercado a la plataforma, solo basta con la dirección. Aunque, si queremos asignar una tasa de cambio inicial, serán necesario los fondos.
Comencemos entonces yendo al apartado Swap, y eligiendo la opción Create Exchange
Aquí solo hace falta colocar la dirección del token que queremos agregar e inmediatamente veremos algunos detalles de este, como su acrónimo y la cantidad de decimales.
Queda entonces presionar sobre Create Exchange y confirmar la transacción desde Metamask para que el token se agregue al catálogo de Uniswap.
Con el ERC20 listo, ahora necesitamos darle liquidez a este mercado de intercambio recién creado. Seleccionaremos la opción Add Liquidity y luego debemos repetir lo que hicimos cuando agregamos liquidez a algún token. Aunque existe una particularidad: al momento de colocar la cantidad en ETH, la cantidad en ERC20 a agregar no se carga automáticamente, ya que tendremos que colocarla de forma manual debido a que somos los primeros en depositar en esta piscina.
Por lo tanto, dependiendo de la cantidad en ETH y ERC20 que coloquemos, se calculará el valor de la tasa de cambio. Por ejemplo, si depositamos 1 ETH y 100 ERC20, quiere decir entonces que el valor de cada ERC20 será de 0.01 ETH. Donde la tasa irá variando dependiendo de la oferta de ETH y ERC20 que la piscina posea.
Conclusiones
Definitivamente Uniswap es una plataforma que promete en el ámbito de los intercambios. En primer lugar, algo que resulta bastante llamativo es el hecho de la disponibilidad que Uniswap puede poseer, ya que hablamos de que cualquier ERC20 puede ser intercambiado a través de esta, sin importar si eres tú el creador.
Otro punto interesante es que con esta plataforma no solo intercambiaremos ERC20 o ETH, sino que podremos generar dividendos ofreciendo liquidez en las piscinas de reserva de los token, cosa que me parece un punto a favor para aquellos que tienen ahorros en ETH o algún ERC20 y no saben qué hacer.
Uniswap definitivamente es una plataforma con un gran futuro, así que no queda más que invitarte a probarla y a contarnos qué te parece.
Si deseas ver este y otros videos tutoriales, visita nuestro canal de YouTube.