Publication
Partagez vos connaissances.
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-ts
package :
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 getQuote
fonction. 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 buildTx
fonction 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
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
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.

- ... SUIMeaning.Sui+22
- ... SUI0xduckmove+17
- ... SUIMoonBags+11
- ... SUIHaGiang+10
- ... SUI
- ... SUIAliabee+5
- ... SUIBekky+5
- Pourquoi BCS exige-t-il un ordre de champs exact pour la désérialisation alors que les structures Move ont des champs nommés ?53
- « Erreurs de vérification de sources multiples » dans les publications du module Sui Move - Résolution automatique des erreurs43
- Échec de la transaction Sui : objets réservés pour une autre transaction25
- Comment les contraintes de capacité interagissent-elles avec les champs dynamiques dans des collections hétérogènes ?05