Gracias por visitarnos, esperamos encuentre lo que necesita. Por favor considere apoyarnos al incluir nuestro sitio web en la lista blanca de Adblock.
Ballswap

Compartir

El intercambio es una especie de proceso en el que, un usuario elige un token de entrada y obtiene un token de salida. Especifican una cantidad de entrada y el protocolo Ballswapper calcula automáticamente la cantidad de tokens de salida que recibirá el usuario. A continuación, ejecutan el intercambio haciendo clic en el botón “Intercambiar”, e inmediatamente el usuario recibe el token de salida en la cartera.

Cambiar el token ERC-20 es bastante fácil en el Protocolo Ballswapper.

El protocolo Ballswapper es una plataforma de trading descentralizada. Ballswapper no utiliza un libro de pedidos para representar liquidez ni determinar precios. Ballswapper utiliza un mecanismo automatizado de creación de mercado para proporcionar retroalimentación instantánea sobre las tarifas y deslizamientos.

Esta regla es la fórmula de producto constante. Cuando se retira (se compra cualquier token), se debe depositar (vender) un importe proporcional del otro para mantener la constante.

Anatomía de un intercambio

En Ballswapper, todos los Swaps se realizan llamando a la función única de :swap

function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data);Copy

Recepción de tokens

Como probablemente está claro de la firma de la función, Ballswapper requiere que los llamadores especifiquen cuántos tokens de salida les gustaría recibir a través de los parámetros, que corresponden a la cantidad deseada de .swapamount{0,1}Outtoken{0,1}

Envío de tokens

Lo que no está tan claro es cómo Ballswapper recibe tokens como pago por el swap. Normalmente, los contratos inteligentes que necesitan tokens para realizar alguna funcionalidad requieren que los llamadores realicen primero una aprobación en el contrato de token y, a continuación, llamen a una función que a su vez llame a transferFrom en el contrato de token. No es así como los pares aceptan tokens. En su lugar, los pares comprueban sus saldos de tokens al final de cada interacción. A continuación, al principio de la siguiente interacción, los saldos actuales se diferencian con los valores almacenados para determinar la cantidad de tokens enviados por el interactor actual.

Recursos para desarrolladores

  • Para ver cómo implementar intercambios de tokens en un contrato inteligente, lea Trading desde un contrato inteligente.
  • Para ver cómo ejecutar un intercambio desde una interfaz, lea Trading (SDK)

Cómo funciona Ballswapper

Ballswapper es un protocolo descentralizado para la liquidez automatizada basado en la fórmula constante del producto e implementado con contratos inteligentes no actualizables en la cadena de bloques Ethereum. Elimina la necesidad de intermediarios de confianza, priorizando la descentralización, laresistencia a la censurala seguridad. Ballswapper tiene licencia de software de código abierto bajo la GPL.

Cualquier persona puede convertirse en un proveedor de liquidez para un grupo almacenando un valor equivalente de cada token básico como compensación por tokens de grupo. Estos tokens realizan un seguimiento de los recursos compartidos LP de las reservas completas y se pueden recuperar para los recursos subyacentes siempre que.

Cada contrato inteligente de Ballswapper, o par, gestiona un fondo de liquidez compuesto por reservas de dos fichas ERC-20.

Los pares actúan como creadores de mercado automatizados, de pie listos para aceptar un token para el otro siempre y cuando se conserve la fórmula de “producto constante”. Esta fórmula, más sencillamente expresada como , establece que las operaciones no deben cambiar el producto () de los saldos de reservas de un par ( y ). Dado que permanece sin cambios desde el marco de referencia de una operación, a menudo se conoce como la invariable. Esta fórmula tiene la propiedad deseable que las operaciones más grandes (en relación con las reservas) ejecutan a tasas exponencialmente peores que las más pequeñas.x * y = kkxyk

En la práctica, Ballswapper aplica una tasa del 0,30% a las operaciones, que se añade a las reservas. Como resultado, cada operación realmente aumenta. Esto funciona como un pago a los LPs, que se realiza cuando queman sus tokens de grupo para retirar su parte de las reservas totales. En el futuro, esta tasa puede reducirse al 0,25%, y el 0,05% restante se retiene como un cargo en todo el protocolo.k

Debido a que el precio relativo de los dos activos de par sólo se puede cambiar a través del comercio, las divergencias entre el precio ballswapper y los precios externos crean oportunidades de arbitraje. Este mecanismo garantiza que los precios de Ballswapper siempre tienden hacia el precio de compensación del mercado.

En última instancia, por supuesto, el protocolo Ballswapper es sólo código de contrato inteligente que se ejecuta en Ethereum. Para entender cómo funcionan, diríjase a Smart Contracts.

Contratos inteligentes

Ballswapper se basa en conntract inteligente binario. Núcleo Estos contratos garantizan la seguridad fundamental para todas las partes que interactúan con Ballswapper. Los contratos de periferia interactúan con uno o más contratos básicos, pero no forman parte del núcleo.

núcleo

El núcleo consiste en una fábrica singleton y muchos pares, que la fábrica es responsable de crear e indexar. Estos contratos son bastante mínimos, incluso brutalistas. La simple razón de ser de esto es que los contratos con una superficie más pequeña son más fáciles de razonar, menos propensos a errores y más funcionalmente elegantes. Tal vez la mayor ventaja de este diseño es que muchas propiedades deseadas del sistema se pueden afirmar directamente en el código, dejando poco espacio para el error. Una desventaja, sin embargo, es que los contratos básicos son algo antipáticos para los usuarios. De hecho, no se recomienda interactuar directamente con estos contratos para la mayoría de los casos de uso. En su lugar, se debe usar un contrato de periferia.

fábrica

La fábrica tiene el código de bytes genérico responsable de alimentar pares. Su trabajo principal es crear uno y único contrato inteligente por par de token único. También contiene lógica para activar la carga del protocolo.

Pares

Los pares tienen dos propósitos principales: servir como creadores de mercado automatizados y realizar un seguimiento de los saldos de tokens de grupo. También exponen datos que se pueden utilizar para crear oráculos de precios descentralizados.

periferia

La periferia es una constelación de contratos inteligentes diseñados para apoyar interacciones específicas del dominio con el núcleo. Debido a la naturaleza sin permiso de Ballswapper, los contratos descritos a continuación no tienen privilegios especiales, y de hecho son sólo un pequeño subconjunto del universo de posibles contratos similares a la periferia. Sin embargo, son ejemplos útiles de cómo interactuar de forma segura y eficiente con Ballswapper V1.

biblioteca

La biblioteca proporciona una variedad de funciones de conveniencia para obtener datos y precios.

enrutador

El router, que utiliza la biblioteca, es totalmente compatible con todos los requisitos básicos de una funcionalidad de gestión de operaciones y liquidez de ofertas front-end. En particular, soporta de forma nativa operaciones multi-par (por ejemplo, x a y a z), trata a ETH como un ciudadano de primera clase, y ofrece meta-transacciones para eliminar la liquidez.

Decisiones de diseño

En las secciones siguientes se describen algunas de las decisiones de diseño notables tomadas en Ballswapper V1. Estos son seguros para saltar a menos que usted está interesado en obtener una comprensión técnica profunda de cómo funciona V1 bajo el capó, o escribir integraciones de contratos inteligentes!

Envío de tokens

Normalmente, los contratos inteligentes que necesitan tokens para realizar algunas funciones requieren que los aspirantes a interactuadores realicen primero una aprobación en el contrato de token y, a continuación, llamen a una función que a su vez llama a transferFrom en el contrato de token. Así no es como los pares V1 aceptan tokens. En su lugar, los pares comprueban sus saldos de tokens al final de cada interacción. A continuación, al principio de la siguiente interacción, los saldos actuales se diferencian con los valores almacenados para determinar la cantidad de tokens enviados por el interactor actual. Consulte el documento técnico para obtener una justificación de por qué este es el caso.

WETH

A diferencia de las piscinas Ballswapper V0, los pares V1 no admiten ETH directamente, por lo que los pares ETH⇄ERC-20 deben emularse con WETH. La motivación detrás de esta elección fue eliminar el código específico de ETH en el núcleo, lo que resulta en una base de código más magra. Sin embargo, los usuarios finales pueden mantenerse completamente ignorantes de este detalle de implementación simplemente envolviendo / desenvolviendo ETH en la periferia.

El router es totalmente compatible con la interacción con cualquier par WETH a través de ETH.

Liquidez mínima

Para mejorar los errores de redondeo y aumentar el tamaño mínimo teórico de tick para la provisión de liquidez, los pares queman los primeros tokens de grupo de MINIMUM_LIQUIDITY. Para la gran mayoría de los pares, esto representará un valor trivial. La quema se produce automáticamente durante la primera provisión de liquidez, después de lo cual el totalSupply está para siempre más limitado.

0 0 votes
Article Rating

Compartir

dragon

Por dragon

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments