Sui.

Publication

Partagez vos connaissances.

article banner.
fomo on Sui.
Jul 08, 2025
Article

Comment échanger un jeton à l'aide du SDK 7k

Dans ce guide, je vais vous expliquer comment installer et utiliser @7kprotocol/sdk-ts


###Installation

Pour commencer, installez d'abord le SDK ainsi que ses dépendances requises.

1.Installez le SDK :

Exécutez la commande suivante pour installer le @7kprotocol/sdk-tspackage :

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

2.**Installez Peer Dependency** :

Le SDK nécessite une `@pythnetwork/pyth-sui-js`dépendance entre pairs. Si vous ne l'avez pas encore installé, exécutez la commande suivante :

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


###**Définir comme client**

Pour vous connecter à la blockchain Sui, vous devez configurer le client Sui. Cela peut être fait comme suit :

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

Remarque : Ce SDK ne prend actuellement en charge que le réseau principal.


###Exécution de transactions

L'une des fonctionnalités principales de ce SDK est la possibilité d'échanger des jetons et d'exécuter des transactions. Passons en revue deux opérations clés :

###1. Obtenir un devis pour Swap

Pour obtenir un devis pour un échange de jetons, utilisez la getQuotefonction. Cela vous donnera les détails de l'échange, tels que le montant que vous pouvez recevoir et le meilleur itinéraire possible.

Exemple :

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

Vous pouvez également spécifier une liste de DEX à partir de laquelle vous souhaitez extraire des guillemets. Si cela n'est pas spécifié, le SDK utilisera les dernières sources prises en charge.

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. Créer une transaction

Une fois que vous avez obtenu le devis, l'étape suivante consiste à établir une transaction. Vous pouvez utiliser la buildTxfonction pour créer la transaction avec les détails nécessaires tels que le glissement et la commission.

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

Remarque : Même si CommissionBPS est réglé sur 0, vous devez tout de même fournir l'adresse d'un partenaire à des fins de suivi et d'analyse.


###Exemple complet

Voici un exemple complet qui met tout cela ensemble :

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
Partager
Commentaires
.

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

394Publications554Réponses
Sui.X.Peera.

Gagne ta part de 1000 Sui

Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.

Campagne de RécompensesJuillet