Bài viết
Chia sẻ kiến thức của bạn.
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-ts
gó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 getQuote
chứ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 buildTx
chứ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
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
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.

- ... SUIMeaning.Sui+22
- ... SUI0xduckmove+17
- ... SUIMoonBags+11
- ... SUIHaGiang+10
- ... SUI
- ... SUIAliabee+5
- ... SUIBekky+5
- Tại sao BCS yêu cầu thứ tự trường chính xác để khử chuỗi khi cấu trúc Move có các trường được đặt tên?53
- Nhiều lỗi xác minh nguồn” trong các ấn phẩm về mô-đun Sui Move - Giải quyết lỗi tự động43
- Giao dịch Sui thất bại: Đối tượng được dành riêng cho giao dịch khác25
- Làm thế nào để các ràng buộc về khả năng tương tác với các trường động trong các bộ sưu tập không đồng nhất?05