Sui.

Publication

Partagez vos connaissances.

Vens.sui.
Apr 29, 2025
Questions et Réponses avec des Experts

Bot AMM dans l'écosystème Sui

Quelles sont les principales caractéristiques et fonctionnalités des robots AMM au sein de l'écosystème Sui ? Comment améliorent-ils les mécanismes de trading traditionnels et quels avantages offrent-ils aux utilisateurs utilisant les protocoles DeFi sur le réseau Sui ?

Dois-je en construire un ou je peux utiliser Turbos Finance par exemple

  • Sui
9
3
Partager
Commentaires
.

Réponses

3
MiniBob.
Apr 29 2025, 08:36

Si vous recherchez un moyen rapide et efficace d'utiliser les fonctionnalités AMM de l'écosystème Sui, vous n'avez pas nécessairement besoin de créer votre propre bot. Des plateformes telles que Turbos Finance proposent déjà des fonctionnalités AMM avancées, notamment le trading automatisé et la fourniture de liquidités, conçues pour améliorer l'expérience utilisateur. L'exploitation de solutions existantes telles que Turbos Finance vous permet de tirer parti d'outils optimisés et testés sans la complexité du développement.

Mais mon préféré est celui-ci https://github.com/OmniBTC/Sui-AMM-swap

cmd pour les tests

$ 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
Meilleure réponse
Commentaires
.
harry phan.
Apr 30 2025, 03:03

Hey Vens, si vous souhaitez vous connecter à des modules natifs de SUI tels que DeepBook. Les turbos et les AMM similaires fournissent déjà l'infrastructure de contrats intelligents et les interfaces frontales, ce qui signifie que vous pouvez lancer un bot (par exemple, dans Rust ou TypeScript à l'aide du SDK Sui) pour effectuer des tâches telles que l'échange automatique, l'arbitrage ou la gestion des positions LP. Cependant, si vous voulez plus de contrôle, créez directement avec DeepBook, car la couche de liquidité native de Sui vous permet de créer un DEX avec une logique de carnet d'ordres, une personnalisation des frais et un contrôle de conservation.

Par exemple, vous pouvez : • Créer un objet de pool partagé avec create_pool, en spécifiant tick_size, lot_size et les niveaux de frais. • Configurer des comptes de dépôt via create_account pour gérer les soldes d'actifs avec un niveau élevé Like Create a Pool sur 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

Avant de passer des ordres à cours limité, votre bot doit créer un compte dépositaire :

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

Dépôt SUI (actif de 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

Dépôt USDC (actif de cotation) :

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

Passez un ordre à cours limité

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

Passer un ordre de marché

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

Basculer entre la base et le devis

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

Sinon

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
Commentaires
.
24p30p.
24p30p2042
Jul 9 2025, 05:58

Les robots AMM de l'écosystème Suisont des outils de trading automatisés conçus pour interagir avec les échanges décentralisés (DEX) qui utilisent des modèlesde teneur de marché automatisés (AMM). Ces robots effectuent des tâches telles que l'échange de jetons, la fourniture de liquidités, l'exécution d'opportunités d'arbitrage et le rééquilibrage des pools, le tout en interagissant directement avec les contrats intelligents en chaîne. Ce qui les distingue sur Sui, c'est leur capacité à utiliser l'exécution parallèle, une faible latence et une conception centrée sur l'objet pour exécuter les transactions plus rapidement et plus efficacement que sur de nombreuses autres chaînes. Cela permet aux utilisateurs de négocier plus facilement avec un glissement plus faible et de meilleures performances de gaz.

Comparés aux mécanismes de trading traditionnels où vous vous fiez à des carnets d'ordres et à des intermédiaires centralisés, les robots AMM de Sui DeFi rendent tout sans autorisation et en temps réel. Vous n'attendez pas des acheteurs ou des vendeurs, vous négociez sur des pools de liquidités qui suivent des calculs prédéfinis. Par exemple, un bot peut détecter automatiquement une disparité de prix entre deux pools et exécuter un arbitrage pour tirer profit de la différence, tout en aidant à maintenir les prix alignés sur l'ensemble du réseau.

Vous n'avez pas besoin de créer votre propre bot, sauf si vous souhaitez une logique ou des stratégies personnalisées. Des plateformes commeTurbos Financefournissent déjà une infrastructure et des outils AMM, ce qui vous permet de négocier ou de fournir des liquidités en utilisant leurs contrats intelligents sans écrire de code. Si vous êtes développeur, vous pouvez créer votre propre bot à l'aide du SDK Sui ou des contrats Move pour interagir avec des protocoles tels que Turbos, Cetus ou DeepBook.

Voici un exemple de la façon dont un bot peut appeler une fonction d'échange à l'aide d'un bloc de transaction :

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

Cela vous permet d'échanger des jetons par programmation sur une ligne à l'aide de Turbos ou du module AMM d'un autre protocole.

Pour découvrir comment les AMM fonctionnent sur Sui et les outils disponibles, consultez https://docs.turbos.finance et la présentation officielle de Sui DeFi sur https://docs.sui.io/ecosystem/defi.

0
Commentaires
.

Connaissez-vous la réponse ?

Veuillez vous connecter et la partager.

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

637Publications1665Réponses
Sui.X.Peera.

Gagne ta part de 1000 Sui

Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.

Campagne de RécompensesAoût