Найти в Дзене
TRON DAO Russian

Создайте CLI-интерфейс для кошелька TRON на Node.js с использованием Tether WDK (Shasta + GasFree на Nile)

В этом документе описывается небольшая демонстрационная версия командной строки Node.js с открытым исходным кодом, использующая комплект разработки кошельков Tether (WDK) для выполнения действий с кошельком TRON. В тестовой сети Shasta поддерживается стандартный поток транзакций через кошелек, а в тестовой сети Nile — поток транзакций GasFree TRC20. GitHub: https://github.com/aziz1975/wdk-tron-cli git клон https://github.com/aziz1975/wdk-tron-cli cd wdk-tron-cli npm install cp .env.sample .env Shasta (cli.js) SEED_PHRASE=“seed phrase goes here” TRON_PROVIDER=“https://api.shasta.trongrid.io” TRANSFER_MAX_FEE_SUN=9000000 Примечания: 1 TRX = 1 000 000 sun. Параметр TRANSFER_MAX_FEE_SUN является необязательным и служит в качестве защитного лимита комиссии. Nile GasFree (gasfree-nile.js) GASFREE_NILE_API_KEY=”your key” GASFREE_NILE_API_SECRET=”your secret” Вы можете создать ключ и секрет API на панели управления GasFree: https://developer.gasfree.io/dashboard Как запустить Shasta CLI (cli.j
Оглавление

Обзор

В этом документе описывается небольшая демонстрационная версия командной строки Node.js с открытым исходным кодом, использующая комплект разработки кошельков Tether (WDK) для выполнения действий с кошельком TRON.

В тестовой сети Shasta поддерживается стандартный поток транзакций через кошелек, а в тестовой сети Nile — поток транзакций GasFree TRC20.

Репозиторий

GitHub: https://github.com/aziz1975/wdk-tron-cli

git клон https://github.com/aziz1975/wdk-tron-cli

cd wdk-tron-cli

Что там внутри

  • cli.js: Команды Shasta (адрес, баланс, TRX отправить + комиссия, TRC20 баланс, TRC20 отправить + комиссия, подписать/подтвердить).
  • gasfree-nile.js: Демонстрационный перевод TRC20 без газа от Nile с помощью @tetherto/wdk-wallet-tron-gasfree.
  • package.json: Проект ESM и npm-скрипты.
  • .env.sample: шаблон переменной среды.

Требования

  • Node.js 20+ (recommended)
  • npm

npm install

cp .env.sample .env

Переменные среды

Shasta (cli.js)

SEED_PHRASE=“seed phrase goes here”

TRON_PROVIDER=“https://api.shasta.trongrid.io

TRANSFER_MAX_FEE_SUN=9000000

Примечания: 1 TRX = 1 000 000 sun. Параметр TRANSFER_MAX_FEE_SUN является необязательным и служит в качестве защитного лимита комиссии.

Nile GasFree (gasfree-nile.js)

GASFREE_NILE_API_KEY=”your key”

GASFREE_NILE_API_SECRET=”your secret”

Вы можете создать ключ и секрет API на панели управления GasFree: https://developer.gasfree.io/dashboard

Как запустить Shasta CLI (cli.js)

Выполняйте команды через npm следующим образом:

npm start — <command> [args…]

Основные команды

  • npm start — address
  • npm start — balance
  • npm start — quote-trx <toAddress> <trxAmount>
  • npm start — send-trx <toAddress> <trxAmount>
  • npm start — token-balance [tokenAddress]
  • npm start — quote-token <tokenAddress> <toAddress> <tokenAmountBase>
  • npm start — send-token <tokenAddress> <toAddress> <tokenAmountBase>
  • npm start — sign “message”
  • npm start — verify “message” “<signature>”

Примеры команд, использованных во время тестирования

npm start — address

npm start — balance

npm start — send-trx TQGfKPHs3AwiBT44ibkCU64u1G4ttojUXU 0.01

npm start — sign “hello shasta”

npm start — verify “hello shasta” “0x…”

npm start — token-balance

npm start — quote-token TG3XXyExBkPp9nzdajDZsozEu4BkaSJozs TQGfKPHs3AwiBT44ibkCU64u1G4ttojUXU 1000000

npm start — send-token TG3XXyExBkPp9nzdajDZsozEu4BkaSJozs TQGfKPHs3AwiBT44ibkCU64u1G4ttojUXU 1000000

Как запустить демонстрационный проект Nile GasFree (gasfree-nile.js)

Что делает скрипт GasFree

  • Загружает ваш кошелек из SEED_PHRASE (индекс аккаунта 0).
  • Считывает статус аккаунта GasFree (активна / разрешена отправка).
  • Получает настройки комиссии за использование токенов и вычисляет необходимую комиссию.
  • Проверяет, соответствует ли баланс вашего токена сумме + комиссии.
  • Осуществляет перевод, соблюдая при этом правило безопасности, касающееся максимальной суммы комиссии.

В GasFree (и в кошельке WDK wallet-tron-gasfree) кошелек/аккаунт активируется автоматически во время вашей первой транзакции токенов GasFree (часто называемой разрешительной транзакцией). Если аккаунт еще не активирован, система добавляет комиссию за активацию к обычной комиссии за перевод, и как только эта первая транзакция будет зарегистрирована в блокчейне, кошелек становится «активированным».

Итак, как выглядит «активация» на практике?

  • Перед активацией: active: false

При первом переводе через GasFree отображается комиссия за активацию + комиссия за перевод.

  • После активации: active: true

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

Дополнительные команды GasFree, которые вы можете использовать

Тот же скрипт gasfree-nile.js также включает дополнительные вспомогательные команды для отладки и исследования.

1) Проверьте статус GasFree (активен / разрешить отправку)

node gasfree-nile.js status

2) Пополните свой аккаунт Gasfree:

Вам потребуется вручную перевести некоторое количество USDT на свой аккаунт GasFree.

-2

Выделенный вариант— это ваш аккаунт GasFree.

3) Список поддерживаемых токенов (и настройки комиссий)

node gasfree-nile.js tokens

Необязательно: отфильтровать один токен:

node gasfree-nile.js tokens TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf

4) Список поставщиков услуг GasFree

node gasfree-nile.js providers

5) Проверить баланс (TRX + токен)

node gasfree-nile.js balance

Необязательно: передать контракт токена:

node gasfree-nile.js balance TXYZopYRdj2D9XRtbG411XZZ3kM5VkAeBf

6) Оцените общую стоимость (сумма + комиссия)

node gasfree-nile.js fee <recipient> <amountBase> [tokenContract]

Пример (5.0 токенов, если 6 знаков после запятой -> 5 000 000 базовых единиц):

node gasfree-nile.js fee TQGfKPHs3AwiBT44ibkCU64u1G4ttojUXU 5000000

7) Перевод средств с вашего аккаунта Gasfree на другой кошелек

node gasfree-nile.js transfer <recipient> <amountBase> [tokenContract] [maxFee]

Пример:

node gasfree-nile.js transfer TQGfKPHs3AwiBT44ibkCU64u1G4ttojUXU 5000000

Устранение неисправностей

  • Неверный адрес получателя TRON: убедитесь, что адрес начинается с буквы T и состоит из 34 символов (Base58).
  • Недостаточный баланс токенов (GasFree): у вас должно быть достаточно токенов для суммы перевода плюс комиссия.
  • Сумма комиссии превышает maxFee: укажите более высокое значение maxFee или пропустите его.
  • Ошибка API GasFree: повторная проверка ключа/секрета API, активации/подтверждения аккаунта, поддержки токенов и URL-адреса поставщика.

Примечания по безопасности

  • Используйте тестовые кошельки и тестовые средства в Shasta/Nile.
  • Никогда не раскрывайте свою сид-фразу или API-секрет.
  • Предпочтительнее сначала составить ценовое предложение, а затем отправить его, особенно при отладке комиссий.

Полезные ссылки