Допис
Діліться своїми знаннями.
Бот AMM в екосистемі Sui
Які ключові особливості та функціональні можливості ботів AMM в екосистемі Sui? Як вони покращують традиційні торгові механізми та які переваги вони пропонують користувачам, які користуються протоколами DeFi в мережі Sui?
Чи потрібно мені будувати його або я можу використовувати Turbos Finance, наприклад
- Sui
Відповіді
2Якщо ви шукаєте швидкий та ефективний спосіб взаємодії з функціями AMM в екосистемі Sui, вам не обов'язково створювати власного бота. Такі платформи, як Turbos Finance, вже пропонують розширені функції AMM, включаючи автоматизовану торгівлю та забезпечення ліквідності, які призначені для покращення досвіду користувачів. Використання існуючих рішень, таких як Turbos Finance, дозволяє скористатися оптимізованими та перевіреними інструментами без складності розробки.
Але мій найулюбленіший - це https://github.com/OmniBTC/Sui-AMM-swap
cmd для тестів
$ 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
Привіт, Венс, якщо ви хочете підключитися до вбудованих модулів SUI, таких як DeepBook. Турбо та подібні AMM вже забезпечують інфраструктуру смарт-контрактів та інтерфейси інтерфейсу, тобто ви можете запустити бота (наприклад, у Rust або TypeScript за допомогою Sui SDK) для таких речей, як автоматична заміна, запуск арбітражу або управління позиціями LP. Однак, якщо ви хочете отримати більше контролю, створюйте безпосередньо за допомогою DeepBook, оскільки власний рівень ліквідності Sui дозволяє створювати DEX з логікою книги ордерів, налаштуванням комісій та контролем зберігання.
Наприклад, ви можете: • Створити об'єкт спільного пулу за допомогою create_pool, вказавши рівні tick_size, lot_size та комісійних рівнів. • Налаштувати облікові записи зберігання через create_account для керування залишками активів з високим рівнем Like Створити пул на 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
Перш ніж розміщувати лімітні ордери, ваш бот повинен створити обліковий запис зберігача:
sui client call \
--package <DEEPBOOK_PACKAGE_ID> \
--module deepbook \
--function create_account \
--gas-budget 5000000
Депозит SUI (базовий актив):
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
Депозит USDC (котируючий актив):
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
Оформити лімітне замовлення
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
Розмістіть ринковий ордер
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
Перемінятися між базою та котируванням
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
Інакше
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
Ви знаєте відповідь?
Будь ласка, увійдіть та поділіться нею.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Зароби свою частку з 1000 Sui
Заробляй бали репутації та отримуй винагороди за допомогу в розвитку спільноти Sui.

- MiniBob... SUI+31
1
- HaGiang... SUI+26
2
- harry phan... SUI+21
3
- ... SUIMarlKey+20
- ... SUI
- ... SUI0xduckmove+15
- ... SUIVens.sui+15
- ... SUICarlkawIy+12
- ... SUI
- ... SUIkryptoschain+10