# Cómo crear su propio grupo Balancer *Author: Ryan Sean Adams* *Published: Apr 21, 2020* *Source: https://www.bankless.com/es/how-to-create-your-own-balancer-pool* --- *⚠️This es una táctica extra para [Táctica #33-Cómo ganar dinero con Balancer](https://bankless.ghost.io/how-to-make-money-with-balancer). ¡Lee eso primero!* --- ### **TÁCTICA-Martes-Bono:** # Cómo crear tu propio fondo Balancer **Objetivo:** *crear tu propio fondo índice Balancer automatizado en menos de una hora* --- **🙏Patrocinador: **[Aave](https://aave.com/)-gane [altos rendimientos](https://app.aave.com/) en depósitos & ¡pida prestado al mejor tipo posible! --- Esta táctica de bonificación es para los pioneros. Repasa a propósito cada transacción necesaria y para cuando hayas terminado deberías entender lo que realmente sucede bajo el capó. Quizás esto incluso te inspire a crear tus propios juguetes brillantes encima de Balancer. Si te gustan las UIs bonitas y las UXs suaves, por favor espera hasta que Balancer presente una interfaz mejor para crear tu propia piscina con un solo clic. Antes de sumergirte asegúrate de haber [leído primero la Táctica #33](https://bankless.ghost.io/how-to-make-money-with-balancer)! --- **Requisitos:** Necesitarás [Metamask](https://metamask.io/) instalado (o un monedero/navegador Web3 alternativo) y haber adquirido una pequeña cantidad de los tokens deseados para tu pool. Algún conocimiento básico de cómo funciona Ethereum es muy deseable, pero no es un requisito absoluto. --- ## Creación de pools Los pools de balanceo se crean llamando a una función en el contrato BFactory. Así que para empezar vamos a la pestaña "Write Contract" del contrato BFactory en Etherscan para ver las funciones disponibles. 👉[Enlace aquí](https://etherscan.io/address/0x9424b1412450d0f8fc2255faf6046b98213b76bd#writeContract). ![](https://bankless.ghost.io/content/images/public/images/44ecd343-0919-4412-abdc-41131bcebe09_1600x1478.png)Para que nuestro monedero Metamask interactúe con el sitio, hacemos clic en "Conectar a Web3". ![](https://bankless.ghost.io/content/images/public/images/1c727e7f-5767-4476-abd2-7ce61f0848a8_412x170.png)Y ya estamos listos para llamar a la función newBPool haciendo clic en "Write". ![](https://bankless.ghost.io/content/images/public/images/889ba59d-2681-4ffb-a04d-1cc336157139_1364x316.png)Tenga en cuenta que se trata de una operación que consume mucha gasolina, así que preste atención al precio de la gasolina elegido. El gas real gastado en esta operación es un poco menos de 5M de gas, por lo que puede reducir el "Límite de gas" de la operación de metamáscara. Haz clic en "Confirmar". ![](https://bankless.ghost.io/content/images/public/images/490bc1e9-e65f-4aa9-836b-47dc9a6442a1_1504x882.png)Después de que la transacción haya sido minada podemos navegar a su pestaña "Event Logs" para encontrar la dirección de nuestro nuevo pool de Balancer. Hooray! ![](https://bankless.ghost.io/content/images/public/images/e5f41344-8405-4d8b-838a-347e83003429_1494x1571.png) ## Configurando la piscina A partir de ahora, interactuaremos directamente con la nueva piscina. Haz clic en su dirección y navega hasta su pestaña "Escribir contrato" 👉[Enlaza aquí](https://etherscan.io/address/0x75286e183d923a5f52f52be205e358c5c9101b09#writeContract). Necesitaremos: - Enviar tokens al pool, fijando sus respectivos pesos (esta acción se denomina "binding") - Fijar una comisión de swap (la comisión que pagan los traders a los proveedores de liquidez) - Activar el pool para swap Vamos a repasarlas con más detalle. ### Enlazar tokens Hacemos esto token a token. Comprueba el número de decimales del token. En Etherscan, está aquí: ![](https://bankless.ghost.io/content/images/public/images/56de9526-f439-415c-a693-22450208f7b4_1600x943.png)Y como probablemente ya sepas, tendremos que autorizar al fondo común para que saque un cierto saldo de este token de nuestra cartera. Este proceso se llama técnicamente "aprobar una asignación", y a veces se denomina "desbloquear" o "habilitar" el token. Simplemente ve a la página de contrato de ese token y encuentra la pestaña "Contrato - Escribir" o "Contrato - Escribir como Proxy". 👉[Link here.](https://etherscan.io/address/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48#writeProxyContract) Aprobaremos una asignación de 20 USDC al fondo común, lo que significa que estamos confiando este contrato con esta cantidad de saldo (aunque los tokens no salgan de tu cartera inmediatamente). Ahora llamamos a approve(pool_address, desired_allowance_in_base_units). Para nuestra asignación deseada, el campo numérico se establecerá en 20 USDC x 106 decimales = 20000000 unidades base. Tendrá este aspecto: ![](https://bankless.ghost.io/content/images/public/images/68f9d97c-5162-4dc6-a771-76abddb2fc69_769x469.png)Metamask te preguntará si esto: ![](https://bankless.ghost.io/content/images/public/images/6256ae59-d6a1-4781-b809-aa1c3285d5f9_564x444.png)Pero Etherscan no está gastando nada. En realidad Metamask debería preguntar: ¿Confías en el contrato de la dirección 0x7528...1b09 para sacar hasta 20 USDC de tu cartera? Sí, lo hacemos. Ahora volvamos al contrato de nuestro pool. El peso (porcentaje) de un token dentro del pool se elige con el campo "denorm". Es una variable desnormalizada, lo que significa que la suma de todos los valores denorm no tiene que ser igual a un número específico. Como requisito del protocolo, el valor de denorm debe oscilar entre 1 x 1018 y 50 x 1018. Una buena regla general es elegir un valor que sea la mitad del porcentaje deseado multiplicado por 1018. De esta forma el pool permitirá que cada token tenga cualquier porcentaje entre 2% y 98%. Primero determinamos con cuánto dinero empezará el pool. Digamos que son 10$. Supongamos que nuestra intención es tener el 15% del valor total del pool en USDC, es decir 1,50$. Deberíamos entonces vincular 1,50 USDC al fondo (saldo = 1,5 * 10decimales), con un denorm de 7,5 x 1018. ![](https://bankless.ghost.io/content/images/public/images/f3be9925-bfc5-479f-95e4-eef4bd7c6262_772x592.png)Click “Write”. Después de minar la transacción, comprueba que la cantidad de tokens enviados coincide con lo que esperabas. ![](https://bankless.ghost.io/content/images/public/images/bc8d4bcb-1e64-4edf-bcd5-95cd521f05e3_1600x329.png)Ahora tenemos que unir el 85% restante de la reserva: 8,50 dólares y 42,5 x 1018 de denorm. Nuestro segundo token será DAI, con un peso del 20%. 👉[Enlace aquí.](https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f) Siendo el pionero DeFi que eres, ya sabes qué hacer: - Aprobar una asignación de DAI al pool. - Enlazar 2$ de DAI (actualmente alrededor de 1.975 DAI) con un denorm de 10 x 1018. Así es como debería ser nuestra segunda llamada a enlazar: ![](https://bankless.ghost.io/content/images/public/images/06ca8e36-7eab-4ba6-b2b1-90a9593595b5_728x579.png)Nuestro tercer y último token será el BTC++ de PieDAO. 👉[Link here.](https://etherscan.io/token/0x0327112423f3a68efdf1fcf402f6c5cb9f7c33fd) Primero aprobamos una asignación de BTC++ a nuestro fondo común. Apuntando al 65% restante del valor del fondo común, deberíamos unir 6,50$ (alrededor de 0,000965 BTC++, o 9,65 x 10-4 x 1018 = 9,65 x 1014), con una denorm de 32,5 x 1018. Easy peasy: ![](https://bankless.ghost.io/content/images/public/images/2baebf3a-87e9-4714-a34e-007532e6a52d_728x577.png)Para asegurarnos de que todo va bien, podemos ir a la pestaña "Contrato - Lectura" del pool y comprobar los tokens vinculados: ![](https://bankless.ghost.io/content/images/public/images/2ef596be-f54d-48ac-9d37-a8aa012087ea_765x255.png)Y también podemos consultar los saldos de tokens del pool, en: 👉[Link here.](https://etherscan.io/tokenholdings?a=0x75286e183d923a5f52f52be205e358c5c9101b09) ![](https://bankless.ghost.io/content/images/public/images/b3aad568-e7dd-41c2-8932-d925baa157a8_746x551.png)Tiene buena pinta. ### Configuración de la tarifa de intercambio En su primera versión, el protocolo Balancer no cobra una tarifa a nivel de protocolo. Sin embargo, los proveedores de liquidez sí cobran una comisión de intercambio a los operadores. Cuando se crea un pool, su comisión de intercambio se inicializa con el valor mínimo permitido por el protocolo: 0,0001% (también conocido como 0,000001 o la centésima parte de un punto básico). Dado que una comisión de 1 se expresa en 1018 unidades base, nuestro valor inicial es de 1012 unidades base: ![](https://bankless.ghost.io/content/images/public/images/5d0754ea-8da9-4681-a854-322014d1a81c_767x189.png)Por regla general, cuando los activos del fondo tienen ratios de precios más estables (entre sí), las comisiones deberían ser más bajas, y viceversa. De esta manera el pool tiende a tener una mejor oportunidad de ser lo suficientemente atractivo tanto para los traders como para los proveedores de liquidez. Digamos que para este pool queremos una comisión del 0,29%. Podemos lograr esto con una simple llamada a setSwapFee(0,0029 x 1018 = 2.9 x 1015): ![](https://bankless.ghost.io/content/images/public/images/8cd00da4-e33f-4a82-b101-a84ec3ed5c68_766x341.png) ### Rebinding tokens ¿Por fin estamos listos para poner esto en marcha? Bueno... el precio de BTC++ en el mercado externo ha cambiado mientras tanto, en relación con estas stablecoins. Si hacemos el pool negociable ahora, estamos regalando oportunidades de arbitraje. Para evitar eso, podríamos practicar cómo cambiar algunas de las propiedades del pool. Vamos allá. 😁 Por cierto, aún podemos solicitar cambios en el pool porque aún no está finalizado. Una vez que lo finalizamos, perdemos el control sobre él: el pool se vuelve inmodificable y cualquiera puede empezar a añadirle liquidez. Volvamos al rebinding. Digamos que queremos mantener la distribución del pool ya configurada (65/20/15), por lo que no cambiaremos ningún peso. Esto significa que la variable denorm debería mantenerse. Con pesos constantes, para ajustar los ratios de precios necesitamos ajustar los balances. Hagamos BTC++ más caro (contra DAI y USDC) haciéndolo más escaso en el pool: ajustando su balance a 0.0009636. Sólo tenemos que volver a vincularlo con los valores deseados: ![](https://bankless.ghost.io/content/images/public/images/7be45605-5d37-475a-a28f-57bf86a2cce7_764x584.png)Con esta acción, el pool extrae automáticamente una cantidad de tokens de nuestra cartera o nos devuelve una cantidad, lo que sea necesario para compensar la diferencia entre el estado vinculado anterior y el nuevo estado vinculado. En este caso, 0.000965 BTC++ estaba vinculado, por lo que para volver a vincular este token a un saldo de 0..0009636 el pool escupirá el exceso de 0.0000014 BTC++. ![](https://bankless.ghost.io/content/images/public/images/68c39964-bde7-4887-9392-75e654df5495_1600x461.png) ### Permitir el comercio En el momento en que se creó este pool, no había ningún pool que contuviera tanto BTC++ como DAI. Así que en la dapp de intercambio de Balancer cuando se seleccionó BTC++ como el token a vender, el selector "Token to Buy" no pudo encontrar un pool con el que satisfacer el comercio contra DAI. Esto [tenía este aspecto](https://balancer.exchange/#/swap): ![](https://bankless.ghost.io/content/images/public/images/7acc63d2-93d7-4c71-8e25-a4977722d3cd_997x616.png)Pero podemos cambiar esto. Procedemos con una llamada a setPublicSwap(true): ![](https://bankless.ghost.io/content/images/public/images/cb22105d-20e9-45ab-ba35-88c4650dad1a_768x340.png)Y... "¡Hola, mundo!" 📡 Ya hemos creado con éxito nuestro propio creador de mercado automatizado hecho a medida. Y está en vivo en Ethereum! Los tokens subyacentes dentro del pool son ahora directamente negociables entre sí por cualquiera que llame a las funciones de negociación de este pool: - comerciantes minoristas que utilizan dapps que ya han integrado el protocolo Balancer, - agregadores como 1inch, - bots de arbitraje, - y así sucesivamente. Y por supuesto.... El trade BTC++/DAI ahora encuentra un pool en la dapp Exchange de Balancer. 😅 ![](https://bankless.ghost.io/content/images/public/images/6757a23f-af52-4955-9343-ee4931f18e3f_920x775.png) ## Finalizando la piscina Este es un paso opcional. Si dejamos el pool sin finalizar, es un **pool privado**, y su creador puede seguir llamando libremente a funciones que cambian el comportamiento del pool, como "rebind" y "setSwapFee". Muy importante: finalizar el pool es un camino de ida. No puedes volver atrás. ![](https://bankless.ghost.io/content/images/public/images/f33e9deb-f70a-4865-871a-77b7d4c763d7_765x217.png)Cuando llamas a finalize(), pierdes cualquier privilegio sobre el pool. Ahora es inmutable: un **pool compartido**, y cualquiera puede añadirle liquidez. Nos dirigimos a la dapp Balancer Pool Management y la encontramos listada junto con el resto de pools compartidos. A continuación, podemos seleccionarlo y echar un vistazo con orgullo a nuestra creación: 👉Link here. ![](https://bankless.ghost.io/content/images/public/images/5b1536fa-44b6-4a46-ab3f-59842ff418e8_1600x931.png) --- ### ***Propaganda-autor*** *[Fernando](https://twitter.com/fcmartinelli?lang=en) es el idealizador del Protocolo Balancer, CEO y cofundador de Balancer Labs.* *[Nodar Janashia](https://twitter.com/nodarj) es el cofundador de [DeFiZap](http://defizap.com/). También realiza [Tutoriales DeFi](http://email.mg1.substack.com/c/eJxVUEtuxSAQO01YRgQoJAsW_V4jgjB5QSWAYFCV25f0rSqNZmHPx_ZmEB6pXBqhImkVyuqdJk5TxTZlia_rXgBO44MmudngN4M-xXtKTlySQ8-7Y0ou3FqrKFWTnTmTDARTfBGGAsmp4mqa8xA30CmGa83GOxL0gZjrwF8H9tXLwe6xYSrehDpu6ewY8ZrRaaEL752LFzpOo5LyXUk-y883LuXHMgh6PqaxNlvRbN_3Jim6XCbezIVH6tdM9mjCbWHt_Nmix2uFaGwAp7E0IPjM4E8tXhl0hJ8aABHKE-yWJy7EIkl_5VLPJOp_mn8Bx5RxCg) para destacar los mejores casos de uso y los riesgos que conlleva el uso de herramientas de Open Finance.* --- ### **Pasos-acción** - Crea tu propio fondo de Balancer (¡tu primer creador de mercado automatizado!) --- Ve a [Bankless](https://bankless.ghost.io/about). $12 / mo. Incluye [acceso al archivo](https://bankless.ghost.io/archive), [Inner Circle](https://bankless.ghost.io/welcome-to-the-inner-circle-wave) & [Deals](https://bankless.ghost.io/the-deal-sheet)-[(pay with/ crypto)](https://commerce.coinbase.com/checkout/33c9a628-6af7-460e-9e00-c20114f1433d) [Suscríbete ahora](#/portal/signup) --- #### **🙏Gracias a nuestro patrocinador: Aave Protocol** [Aave protocol](https://aave.com/) es un protocolo de mercado monetario descentralizado, de código abierto y sin custodia para ganar intereses sobre depósitos y tomar prestados activos. También cuenta con acceso a Flash Loans, un innovador bloque de construcción DeFi para que los desarrolladores construyan autoliquidaciones, intercambios de garantías, ¡y mucho más! Compruébelo [aquí](https://aave.com/). ![](https://bankless.ghost.io/content/images/public/images/f2c6ed0c-ca92-469f-bf64-ff1032e36d09_1400x800.png) --- ***No es asesoramiento financiero ni fiscal. **Este boletín es estrictamente educativo y no es un consejo de inversión o una solicitud para comprar o vender cualquier activo o para tomar cualquier decisión financiera. Este boletín no es un asesoramiento fiscal. Hable con su contable. Haga su propia investigación.* --- ***Divulgación. **De vez en cuando puedo añadir enlaces en este boletín a productos que utilizo. Es posible que reciba una comisión si realiza una compra a través de uno de estos enlaces. Siempre revelaré cuando este sea el caso.*