Добавить в корзинуПозвонить
Найти в Дзене
TRON DAO Russian

Как обменять токены на TRON с помощью SunSwap и TronWeb: Практическое руководство

В этой статье мы рассмотрим, как программно обменивать токены (USDT → USDJ) на блокчейне TRON с помощью децентрализованной биржи SunSwap (DEX). Мы будем использовать TronWeb, библиотеку JavaScript, предназначенную для взаимодействия с блокчейном TRON, для обмена USDT на USDJ в тестовой сети TRON Nile. Пошаговое руководство Шаг 1: Настройка проекта Клонируйте и настраивайте репозиторий: git клон https://github.com/aziz1975/sunswap-swap.git cd sunswap-swap npm install Шаг 2: Настройте свою среду Создайте env-файл для безопасного хранения вашего закрытого ключа и URL-адреса Nile RPC: PRIVATE_KEY_NILE=your_private_key_here NILE_RPC=https://nile.trongrid.io Шаг 3: Понимание скрипта обмена (swap.js) Вот разбор ключевых строк в нашем скрипте swap.js: Инициализировать TronWeb: const tronWeb = new TronWeb({ fullNode: ‘https://nile.trongrid.io‘, solidityNode: ‘https://nile.trongrid.io‘, eventServer: ‘https://nile.trongrid.io‘, privateKey: process.env.PRIVATE_KEY_NILE }); Мы используем TronWeb дл
Оглавление

В этой статье мы рассмотрим, как программно обменивать токены (USDT → USDJ) на блокчейне TRON с помощью децентрализованной биржи SunSwap (DEX). Мы будем использовать TronWeb, библиотеку JavaScript, предназначенную для взаимодействия с блокчейном TRON, для обмена USDT на USDJ в тестовой сети TRON Nile.

Что Вам понадобится

  • Node.js (version 20)
  • npm
  • TronWeb
  • SunSwap router ABI

Пошаговое руководство

Шаг 1: Настройка проекта

Клонируйте и настраивайте репозиторий:

git клон https://github.com/aziz1975/sunswap-swap.git

cd sunswap-swap

npm install

Шаг 2: Настройте свою среду

Создайте env-файл для безопасного хранения вашего закрытого ключа и URL-адреса Nile RPC:

PRIVATE_KEY_NILE=your_private_key_here

NILE_RPC=https://nile.trongrid.io

Шаг 3: Понимание скрипта обмена (swap.js)

Вот разбор ключевых строк в нашем скрипте swap.js:

Инициализировать TronWeb:

const tronWeb = new TronWeb({

fullNode: ‘https://nile.trongrid.io‘,

solidityNode: ‘https://nile.trongrid.io‘,

eventServer: ‘https://nile.trongrid.io‘,

privateKey: process.env.PRIVATE_KEY_NILE

});

Мы используем TronWeb для взаимодействия с тестовой сетью Nile. Закрытый ключ безопасно загружается из наших переменных окружения.

Важные адреса:

const routerAddr = ‘TDAQGC5Ekd683GjekSaLzCaeg7jGsGSmbh’; // SunSwap Router

const usdtAddr = ‘TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf’; // USDT token

const usdjAddr = ‘TLBaRhANQoJFTqre9Nf1mjuwNWjCJeYqUL’; // USDJ token

Эти адреса указывают на маршрутизатор SunSwap и контракты на токены в TRON Nile.

Одобрить маршрутизатор для расходования токенов:

await (await tronWeb.contract().at(usdtAddr))

.approve(routerAddr, amountIn)

.send({ feeLimit: 1e8, callValue: 0, shouldPollResponse: true });

Перед обменом мы должны сначала одобрить маршрутизатор SunSwap для использования наших токенов.

Выполнить обмен токенами:

const result = await router

.swapExactInput(path, poolVersion, versionLen, fees, data)

.send({ feeLimit: 1e8, callValue: 0, shouldPollResponse: true });

Этот вызов функции запускает фактическую операцию обмена на SunSwap.

  • path: токены, которые мы обмениваем (USDT → USDJ).
  • poolVersion, versionLen, fees: определяют параметры обмена и комиссии.
  • data: указывает детали транзакции, такие как сумма и получатель.

Проверить баланс токенов:

const balSun = await usdj.balanceOf(me).call();

const decs = await usdj.decimals().call();

console.log(`🎉 You now have ${Number(balSun) / 10 ** Number(decs)} USDJ`);

После обмена мы подтверждаем новый баланс, чтобы убедиться в успешности транзакции.

Шаг 4: Запуск скрипта обмена

Запустите скрипт для выполнения обмена вашими токенами:

node swap.js

Ожидаемый результат

Вы должны увидеть результат, похожий на:

Разрешение маршрутизатору потратить 100 USDT…

✅ Разрешение подтверждено.

Обмен USDT → USDJ…

✅ Обмен завершён, amountsOut: [фактическая сумма на выходе]

Запрос баланса USDJ…

🎉 Теперь у вас [новый баланс] USDJ

Почему это так важно

Добавив децентрализованную биржу, такую как SunSwap, в своё dApp, вы открываете больше возможностей и упрощаете работу с токенами. Использование TronWeb вместе с SunSwap позволяет разработчикам создавать мощные DeFi-инструменты без лишних сложностей. Предоставление тестовых сред для хорошо известных DEX-контрактов, таких как SunSwap, даёт разработчикам надёжную отправную точку, снижает затраты на развертывание и упрощает путь к успешному запуску в основной сети.

Дополнительные ресурсы