Beitrag
Teile dein Wissen.
So tauschen Sie Token mit dem 7k SDK aus
In diesem Handbuch werde ich Ihnen erklären, wie Sie das installieren und verwenden @7kprotocol/sdk-ts
###Installation
Installieren Sie zunächst das SDK zusammen mit den erforderlichen Abhängigkeiten.
1.Installieren Sie das SDK:
@7kprotocol/sdk-ts
Führen Sie den folgenden Befehl aus, um das Paket zu installieren:
npm i @7kprotocol/sdk-ts
```
2.**Peer Dependency**installieren:
Das SDK erfordert `@pythnetwork/pyth-sui-js`als Peer-Abhängigkeit. Wenn Sie es noch nicht installiert haben, führen Sie den folgenden Befehl aus:
```bash
npm i @pythnetwork/pyth-sui-js
```
###**Set Sui Client**
Um eine Verbindung mit der Sui-Blockchain herzustellen, müssen Sie den Sui-Client einrichten. Das kann wie folgt geschehen:
```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());
Hinweis: Dieses SDK unterstützt derzeit nur das Mainnet.
###Transaktionen durchführen
Eine der Kernfunktionen dieses SDK ist die Möglichkeit, Token auszutauschen und Transaktionen auszuführen. Lassen Sie uns zwei wichtige Operationen durchgehen:
###1. Angebot einholen für Swap
getQuote
Verwenden Sie die Funktion, um ein Angebot für einen Token-Swap zu erhalten. Dadurch erhalten Sie die Details des Swaps, z. B. den Betrag, den Sie erhalten können, und die bestmögliche Route.
Beispiel:
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)
});
Sie können auch eine Liste von DEXs angeben, aus denen Anführungszeichen abgerufen werden sollen. Wenn nicht angegeben, verwendet das SDK die neuesten unterstützten Quellen.
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. Transaktion erstellen
Sobald Sie das Angebot erhalten haben, besteht der nächste Schritt darin, eine Transaktion zu erstellen. Sie können die buildTx
Funktion verwenden, um die Transaktion mit den erforderlichen Details wie Slippage und Provision zu erstellen.
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 || {};
Hinweis: Auch wenn CommissionBPS auf 0 gesetzt ist, müssen Sie dennoch eine Partneradresse für Tracking und Analysen angeben.
###Vollständiges Beispiel
Hier ist ein vollständiges Beispiel, das alles zusammenfasst:
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.
Verdiene deinen Anteil an 1000 Sui
Sammle Reputationspunkte und erhalte Belohnungen für deine Hilfe beim Wachstum der Sui-Community.
- Warum benötigt BCS eine genaue Feldreihenfolge für die Deserialisierung, wenn Move-Strukturen benannte Felder haben?53
- Fehler bei der Überprüfung mehrerer Quellen“ in den Veröffentlichungen des Sui Move-Moduls — Automatisierte Fehlerbehebung43
- Sui-Transaktion schlägt fehl: Objekte sind für eine andere Transaktion reserviert25
- Wie interagieren Fähigkeitsbeschränkungen mit dynamischen Feldern in heterogenen Sammlungen?05