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
5
2
Cuota
Comentarios
.

Respuestas

2
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
4
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
3
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.

263Publicaciones373Respuestas
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 RecompensasMayo
Usamos cookies para asegurarnos de que obtenga la mejor experiencia en nuestro sitio web.
Más información