Допис
Діліться своїми знаннями.
Як поміняти токен за допомогою 7k SDK
У цьому посібнику я розповім вам, як встановити та використовувати @7kprotocol/sdk-ts
###Встановлення
Для початку спочатку встановіть SDK разом з його необхідними залежностями.
1.Встановіть пакет SDK:
Виконайте наступну команду, щоб встановити @7kprotocol/sdk-ts
пакет:
npm i @7kprotocol/sdk-ts
```
2.**Встановіть залежність від однолітків**:
SDK вимагає `@pythnetwork/pyth-sui-js`як однорангової залежності. Якщо у вас його ще не встановлено, виконайте таку команду:
```bash
npm i @pythnetwork/pyth-sui-js
```
###**Налаштування суї-клієнта**
Щоб підключитися до блокчейну Sui, потрібно встановити клієнт Sui. Зробити це можна наступним чином:
```tsx
import { SuiClient, getFullnodeUrl } from "@mysten/sui/client";
import { Config } from "@7kprotocol/sdk-ts";
const network = "mainnet"; // Use "mainnet" for production
const suiClient = new SuiClient({ url: getFullnodeUrl(network) });
Config.setSuiClient(suiClient);
console.log("Sui client", Config.getSuiClient());
Примітка. Цей SDK наразі підтримує лише основну мережу.
###Виконання транзакцій
Однією з основних особливостей цього SDK є можливість обміну токенами та виконання транзакцій. Давайте розглянемо дві ключові операції:
###1. Отримати пропозицію на Swap
Щоб отримати пропозицію на обмін токенами, скористайтеся getQuote
функцією. Це дасть вам деталі свопу, такі як сума, яку ви можете отримати, та найкращий можливий маршрут.
Приклад:
import { getQuote } from "@7kprotocol/sdk-ts";
const quoteResponse = await getQuote({
tokenIn: "0x2::sui::SUI", // Token you're swapping from
tokenOut: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC", // Token you're swapping to
amountIn: "1000000000", // Amount you're swapping (in smallest unit)
});
Ви також можете вказати список DEX, з яких витягнути лапки. Якщо не вказано, SDK використовуватиме останні підтримувані джерела.
const quoteResponse = await getQuote({
tokenIn: "0x2::sui::SUI",
tokenOut: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
amountIn: "1000000000",
sources: [
"suiswap",
"turbos",
"cetus",
"bluemove",
"kriya",
"kriya_v3",
"aftermath",
"flowx",
], // Optional: list of supported sources
});
###2. Створення транзакції
Після того, як у вас є пропозиція, наступним кроком є побудова транзакції. Ви можете використовувати buildTx
функцію для створення транзакції з необхідними деталями, такими як ковзання та комісія.
import { buildTx } from "@7kprotocol/sdk-ts";
const result = await buildTx({
quoteResponse,
accountAddress: "0xSenderAddress", // Your wallet address
slippage: 0.01, // 1% slippage tolerance
commission: {
partner: "<address to receive fee>", // Partner address for commission
commissionBps: 0, // Commission rate in basis points (0 means no fee)
},
});
const { tx, coinOut } = result || {};
Примітка. Навіть якщо CommissionBps встановлено на 0, вам все одно потрібно вказати адресу партнера для відстеження та аналітики.
###Повний приклад
Ось повний приклад, який поєднує все це разом:
import { SuiClient, getFullnodeUrl } from "@mysten/sui/client";
import { getQuote, buildTx, executeTx, BluefinXTx } from "@7kprotocol/sdk-ts";
import { useSignTransaction } from "@mysten/wallet-kit";
// Initialize Sui Client
const network = "mainnet";
const suiClient = new SuiClient({ url: getFullnodeUrl(network) });
Config.setSuiClient(suiClient);
// Get Quote
const quoteResponse = await getQuote({
tokenIn: "0x2::sui::SUI",
tokenOut: "0xdba34672e30cb065b1f93e3ab55318768fd6fef66c15942c9f7cb846e2f900e7::usdc::USDC",
amountIn: "1000000000",
sources: ["bluefinx"],
});
// Build Transaction
const { tx } = await buildTx({
quoteResponse,
accountAddress: "0xSenderAddress",
slippage: 0.01,
commission: {
partner: "<address to receive fee>",
commissionBps: 0,
},
});
// Sign Transaction
const { mutateAsync: signTransaction } = useSignTransaction();
const { signature, bytes } = await signTransaction({
transaction: tx instanceof BluefinXTx ? tx.txBytes : tx,
});
// Execute Transaction
const res = await executeTx(tx, signature, bytes);
console.log(res);
- Sui
- SDKs and Developer Tools
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Зароби свою частку з 1000 Sui
Заробляй бали репутації та отримуй винагороди за допомогу в розвитку спільноти Sui.

- ... SUIMeaning.Sui+22
- ... SUI0xduckmove+17
- ... SUIMoonBags+11
- ... SUIHaGiang+10
- ... SUI
- ... SUIAliabee+5
- ... SUIBekky+5
- Чому BCS вимагає точного порядку полів для десеріалізації, коли структури Move мають названі поля?53
- Помилки перевірки кількох джерел» у публікаціях модуля Sui Move - автоматичне вирішення помилок43
- Невдала операція Sui: об'єкти, зарезервовані для іншої транзакції25
- Як обмеження здібностей взаємодіють з динамічними полями в гетерогенних колекціях?05