Sui.

Bài viết

Chia sẻ kiến thức của bạn.

article banner.
fomo on Sui.
Jul 08, 2025
Bài Viết

Cách hoán đổi mã thông báo bằng 7k SDK

Trong hướng dẫn này, tôi sẽ hướng dẫn bạn cách cài đặt và sử dụng @7kprotocol/sdk-ts


###Cài đặt

Để bắt đầu, trước tiên hãy cài đặt SDK cùng với các phụ thuộc cần thiết của nó.

1.** Cài đặt SDK**:

Chạy lệnh sau để cài đặt @7kprotocol/sdk-tsgói:

   npm i @7kprotocol/sdk-ts
   ```

2.** Cài đặt sự phụ thuộc ngang ngường**:

SDK yêu cầu `@pythnetwork/pyth-sui-js`phụ thuộc ngang hàng. Nếu bạn chưa cài đặt nó, hãy chạy lệnh sau:

```bash
   npm i @pythnetwork/pyth-sui-js
   ```


###**Set Sui Client**

Để kết nối với blockchain Sui, bạn cần thiết lập Sui client. Điều này có thể được thực hiện như sau:

```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());

Lưu ý: SDK này hiện chỉ hỗ trợ mainnet.


###Thực hiện giao dịch

Một trong những tính năng cốt lõi của SDK này là khả năng hoán đổi mã thông báo và thực hiện các giao dịch. Chúng ta hãy đi qua hai hoạt động chính:

###1. Nhận báo giá cho Swap

Để nhận báo giá cho một giao dịch trao đổi mã thông báo, hãy sử dụng getQuotechức năng. Điều này sẽ cung cấp cho bạn các chi tiết về hoán đổi, chẳng hạn như số tiền bạn có thể nhận được và lộ trình tốt nhất có thể.

Ví dụ:

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)
});

Bạn cũng có thể chỉ định một danh sách các DEX để kéo dấu ngoặc kép. Nếu không được chỉ định, SDK sẽ sử dụng các nguồn được hỗ trợ mới nhất.

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. Xây dựng giao dịch

Khi bạn có báo giá, bước tiếp theo là xây dựng một giao dịch. Bạn có thể sử dụng buildTxchức năng này để tạo giao dịch với các chi tiết cần thiết như trượt giá và hoa hồng.

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 || {};

Lưu ý: Ngay cả khi CommissionBps được đặt thành 0, bạn vẫn cần cung cấp địa chỉ đối tác để theo dõi và phân tích.


###Ví dụ đầy đủ

Dưới đây là một ví dụ đầy đủ kết hợp tất cả lại với nhau:

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
0
Chia sẻ
Bình luận
.

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

394Bài viết554Câu trả lời
Sui.X.Peera.

Kiếm phần của bạn từ 1000 Sui

Tích lũy điểm danh tiếng và nhận phần thưởng khi giúp cộng đồng Sui phát triển.

Chiến dịch phần thưởngTháng Bảy