Sui.

Publicación

Comparte tu conocimiento.

Vens.sui.
Apr 29, 2025
P&R expertos

AMM Bot en el ecosistema Sui

¿Cuáles son las principales características y funcionalidades de los bots AMM dentro del ecosistema de Sui? ¿Cómo mejoran los mecanismos comerciales tradicionales y qué ventajas ofrecen a los usuarios que utilizan los protocolos DeFi en la red Sui?

¿Necesito construir uno o puedo usar Turbos Finance, por ejemplo

  • Sui
9
3
Cuota
Comentarios
.

Respuestas

3
MiniBob.
Apr 29 2025, 08:36

Si estás buscando una forma rápida y eficiente de interactuar con las funcionalidades de AMM en el ecosistema de Sui, no es necesario que construyas tu propio bot. Plataformas como Turbos Finance ya ofrecen funciones avanzadas de AMM, como la negociación automatizada y la provisión de liquidez, que están diseñadas para mejorar la experiencia del usuario. Aprovechar las soluciones existentes, como Turbos Finance, le permite aprovechar las herramientas optimizadas y probadas sin la complejidad del desarrollo.

Pero mi favorita es esta https://github.com/OmniBTC/Sui-AMM-swap

cmd para pruebas

$ issue XBTC and USDT test coins
XBTC="0x985c26f5edba256380648d4ad84b202094a4ade3::coins::XBTC"
USDT="0x985c26f5edba256380648d4ad84b202094a4ade3::coins::USDT"
SUI="0x2::sui::SUI"

$ sui client publish --gas-budget 10000
package=0xc6f8ce30d96bb9b728e000be94e25cab1a6011d1
global=0x28ae932ee07d4a0881e4bd24f630fe7b0d18a332

$ sui client objects
sui_coin=0x525c0eb0e1f4d8744ae21984de2e8a089366a557
usdt_coin=0x8e81c2362ff1e7101b2ef2a0d1ff9b3c358a1ac9

$ sui client call --gas-budget 10000 \
  --package=$package \
  --module=interface \
  --function=add_liquidity \
  --args $global $sui_coin 1 $usdt_coin 1 \
  --type-args $SUI $USDT
  
lp_sui_usdt=0xdf622fddc8447b0c1d15f8418e010933dd5f0a6c 
pool_sui_usdt=0x5058b90e728df97c4cb5cade5e5c77fcb662a4b9

$ sui client split-coin --gas-budget 10000 \
  --coin-id $lp_sui_usdt \
  --amounts 100000
  
lp_sui_usdt2=0x6cde2fe9277c92e196585fb12c6e3d5aaa4eab34

$ sui client call --gas-budget 10000 \
  --package=$package \
  --module=interface \
  --function=remove_liquidity \
  --args $global $lp_sui_usdt2 \
  --type-args $SUI $USDT

new_usdt_coin=0xc090e45f9461e39abb0452cf3ec297a40efbfdc3
new_sui_coin=0x9c8c1cc38cc61a94264911933c69a772ced07a09

# sui -> usdt
$ sui client call --gas-budget 10000 \
  --package=$package \
  --module=interface \
  --function=swap \
  --args $global $new_sui_coin 1  \
  --type-args $SUI $USDT
  
out_usdt_coin=0x80076d95c8bd1d5a0f97b537669008a1a369ce12

# usdt -> sui
sui client call --gas-budget 10000 \
  --package=$package \
  --module=interface \
  --function=swap \
  --args $global $out_usdt_coin 1 \
  --type-args $USDT $SUI

out_sui_coin=0xaa89836115e1e1a4f5fa990ebd2c7be3a5124d07


$ sui client call --gas-budget 10000 \
  --package=$package \
  --module=interface \
  --function=add_liquidity \
  --args $global $out_sui_coin 100 $new_usdt_coin 1000 \
  --type-args $SUI $USDT
8
Mejor Respuesta
Comentarios
.
harry phan.
Apr 30 2025, 03:03

Hola, Vens, si quieres conectarte a módulos nativos de la interfaz de usuario, como DeepBook. Los Turbos y AMM similares ya proporcionan la infraestructura de contratos inteligentes y las interfaces de interfaz, lo que significa que puedes poner en marcha un bot (por ejemplo, en Rust o TypeScript con el SDK de Sui) para hacer cosas como intercambiar automáticamente, ejecutar arbitrajes o gestionar posiciones de LP. Sin embargo, si quieres tener más control, crea directamente con DeepBook, ya que la capa de liquidez nativa de Sui te permite crear un DEX con la lógica de la cartera de pedidos, la personalización de las comisiones y el control de la custodia.

Por ejemplo, puedes: • Crear un objeto de pool compartido con create_pool, especificando los niveles tick_size, lot_size y fee. • Configurar cuentas de custodia mediante create_account para gestionar los saldos de activos con niveles altos, como Create a Pool en DeepBook

sui client call \ --package <DEEPBOOK_PACKAGE_ID> \ --module deepbook \ --function create_pool \ --type-args 0x2::sui::SUI 0x2::usdc::USDC \ --args 1000000 1000000 <CREATION_FEE_OBJECT> \ --gas-budget 10000000

Antes de realizar pedidos limitados, tu bot debe configurar una cuenta de custodio:

sui client call \
  --package <DEEPBOOK_PACKAGE_ID> \
  --module deepbook \
  --function create_account \
  --gas-budget 5000000

Depósito SUI (activo base):

sui client call \
  --package <DEEPBOOK_PACKAGE_ID> \
  --module deepbook \
  --function deposit_base \
  --type-args 0x2::sui::SUI 0x2::usdc::USDC \
  --args <POOL_ID> <SUI_COIN_OBJECT> <ACCOUNT_CAP_ID> \
  --gas-budget 3000000

Depositar USDC (activo cotizado):

sui client call \
  --package <DEEPBOOK_PACKAGE_ID> \
  --module deepbook \
  --function deposit_quote \
  --type-args 0x2::sui::SUI 0x2::usdc::USDC \
  --args <POOL_ID> <USDC_COIN_OBJECT> <ACCOUNT_CAP_ID> \
  --gas-budget 3000000

Realizar una orden limitada

sui client call \
  --package <DEEPBOOK_PACKAGE_ID> \
  --module deepbook \
  --function place_limit_order \
  --type-args 0x2::sui::SUI 0x2::usdc::USDC \
  --args <POOL_ID> <CLIENT_ORDER_ID> <PRICE> <QUANTITY> 0 true <EXPIRE_TS> 0 <CLOCK_ID> <ACCOUNT_CAP_ID> \
  --gas-budget 5000000

Colocar una orden de mercado

sui client call \
  --package <DEEPBOOK_PACKAGE_ID> \
  --module deepbook \
  --function place_market_order \
  --type-args 0x2::sui::SUI 0x2::usdc::USDC \
  --args <POOL_ID> <ACCOUNT_CAP_ID> <CLIENT_ORDER_ID> <QUANTITY> true <BASE_COIN_ID> <QUOTE_COIN_ID> <CLOCK_ID> \
  --gas-budget 5000000

Intercambio entre base y cotización

sui client call \
  --package <DEEPBOOK_PACKAGE_ID> \
  --module deepbook \
  --function swap_exact_base_for_quote \
  --type-args 0x2::sui::SUI 0x2::usdc::USDC \
  --args <POOL_ID> <CLIENT_ORDER_ID> <ACCOUNT_CAP_ID> <QUANTITY> <SUI_COIN_OBJECT> <USDC_COIN_OBJECT> <CLOCK_ID> \
  --gas-budget 5000000

De lo contrario

sui client call \
  --package <DEEPBOOK_PACKAGE_ID> \
  --module deepbook \
  --function swap_exact_quote_for_base \
  --type-args 0x2::sui::SUI 0x2::usdc::USDC \
  --args <POOL_ID> <CLIENT_ORDER_ID> <ACCOUNT_CAP_ID> <QUANTITY> <CLOCK_ID> <USDC_COIN_OBJECT> \
  --gas-budget 5000000
4
Comentarios
.
24p30p.
24p30p2042
Jul 9 2025, 05:58

Los bots AMM delecosistema Suison herramientas de negociación automatizadas diseñadas para interactuar con bolsas descentralizadas (DEX) que utilizan modelosautomatizados de creación de mercado (AMM). Estos bots realizan tareas como el intercambio de fichas, la provisión de liquidez, la ejecución de oportunidades de arbitraje y el reequilibrio de los fondos de inversión, todo ello interactuando directamente con los contratos inteligentes de la cadena. Lo que los hace destacar en Sui es su capacidad para utilizar laejecución paralela, su baja latencia y su diseño centrado en objetos para ejecutar operaciones de forma más rápida y eficiente que en muchas otras cadenas. Esto permite a los usuarios realizar operaciones más fluidas, con un menor deslizamiento y un mejor rendimiento de combustible.

En comparación con los mecanismos de negociación tradicionales, en los que se depende de las carteras de pedidos y de los intermediarios centralizados, los bots AMM de Sui DeFi hacen que todo funcione sin permisos y en tiempo real. No estás esperando a que lleguen los compradores o vendedores, sino que operas con fondos de liquidez que siguen cálculos preestablecidos. Por ejemplo, un bot puede detectar automáticamente un desajuste de precios entre dos grupos y ejecutar un arbitraje para sacar provecho de la diferencia, al mismo tiempo que contribuye a mantener los precios alineados en toda la red.

No necesitas crear tu propio bot a menos que quieras una lógica o estrategias personalizadas. Plataformas comoTurbos Financeya ofrecen infraestructura y herramientas de AMM, por lo que puedes operar o proporcionar liquidez utilizando sus contratos inteligentes sin necesidad de escribir código. Si eres desarrollador, puedes crear tu propio bot con el SDK de Sui o los contratos Move para interactuar con protocolos como Turbos, Cetus o DeepBook.

Este es un ejemplo de cómo un bot puede invocar una función de intercambio mediante un bloque de transacciones:

const txb = new TransactionBlock();
txb.moveCall({
  target: '0x...::amm::swap',
  arguments: [
    txb.object('0xYourPoolID'),
    txb.object('0xInputCoin'),
    txb.pure(1000000), // amount in MIST
  ],
});

Esto le permite intercambiar tokens de forma programática en una línea mediante Turbos u el módulo AMM de otro protocolo.

Para explorar cómo funcionan los AMM en Sui y las herramientas disponibles, consulta https://docs.turbos.finance y la descripción general oficial de Sui DeFi en https://docs.sui.io/ecosystem/defi.

0
Comentarios
.

Sabes la respuesta?

Inicie sesión y compártalo.

Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.

637Publicaciones1665Respuestas
Sui.X.Peera.

Gana tu parte de 1000 Sui

Gana puntos de reputación y obtén recompensas por ayudar a crecer a la comunidad de Sui.

Campaña de RecompensasAgosto