ハウツー

TronNRG APIを使用してUSDT送金手数料を削減する方法: TronNRG APIステップガイド

要約すると、標準的なUSDT TRC-20送金では 65,000 Energyを消費します。ウォレットにEnergyがない場合、 Tronそれを補うために、ウォレット残高から約 13 TRXを消費します。TronNRG APIを使用すると、同じEnergy 4 TRXに委任できます。これは、送信ごとに約 70% の手数料を削減できます。統合TronNRG 、ディスパッチ アドレスにTRXを送信する、所有権メッセージに署名する、/delegate エンドポイントに POST する 3 つの HTTP 操作で構成されます。このガイドでは、コードと本番環境で発生する可能性のある 4 つの一般的なエラーを交えながら、各手順を順を追って説明します。

始める前に

最初のAPI呼び出しを行う前に、以下の3つのものが必要です。

TRXを保有するTronウォレット。委任1件につき最低TRX必要です。本番環境では、送金ごとに料金が発生するため、より多くのTRXが必要になります。ホットウォレットに定期的に資金を補充する方が、送金ごとに少額ずつ資金を補充するよりも簡単です。

Tronメッセージに署名する方法。TronWeb TronWeb tronWeb.trx.signMessageV2()を公開しています。Pythonはtronpyを介してtron.trx.sign_message_v2()を使用します。PHPはiexbase/tron-apiライブラリを使用します。TronNRG APIリファレンスにTronNRG 、これら4つの言語すべてで動作するサンプルコードが掲載されています。

受取人ウォレットアドレス。支払いウォレット自体に委任するか(最もシンプルなケース)、または自分が管理する別のウォレットに委任するか(トレジャリー設定)を事前に決定してください。どちらの方法でも機能します。署名によって両者が結び付けられます。

あなたが実際に構築しているもの

既存のUSDT送金機能をラップするものです。このラップは3つのHTTP操作(支払い、署名、請求)を実行し、 Energy到着を待ってから、既存のUSDT送金ロジックを呼び出します。これが統合の全体像です。以下は各ステップの詳細です。

ステップ1: TRXを発送先住所に送信する

Energyを支払うウォレットから、 TronNRG送金アドレスにTRX送金してください。最低送金量はTRX (65,000 Energy相当、標準的なUSDT送金1回分に相当)です。委任ごとの最大送金量はTRX (1,625万Energy相当)です。その間の価格は、 TRXあたり16,250 Energyで直線的に変動します。

TronWebにて:

ステップ1コード

const DISPATCH = 'TFqUiCu1JwLHHnBNeaaVKH7Csm4aA3YhZx';
const payment = await tronWeb.trx.sendTransaction(DISPATCH, 4 * 1e6);
// payment.txid is what you will sign in Step 2

よくある間違い: TRX SUN単位の整数で送信する際に、変換を忘れてしまうこと。TRXは小数点以下6桁まであります。4 TRXは4_000_000 SUN( 4 * 1e6 )です。これを間違えると、少額しか送信されない(委任額が少なすぎる)か、数百TRX送信さTRX (委任は成功するが、必要以上に支払ってしまう)かのどちらかになります。sendTransactionにsendTransaction前に、必ず金額を2倍にしてください。

ステップ2:承認メッセージに署名する

API 、委任を主張する人物が支払いを行った人物と同一人物であることを証明する必要があります。支払いを行ったウォレットの秘密鍵でメッセージに署名することで、この証明を提供します。メッセージの形式は次のとおりです。

{payment_tx_hash}:{delegate_to_address}

payment_tx_hashはステップ1で返されたtxid、 delegate_to_addressはEnergyを委任したいTronアドレスです。TronWebではTronWeb

ステップ2コード

const message = `${payment.txid}:${delegateTo}`;
const signature = await tronWeb.trx.signMessageV2(message);

この設計の理由: APIキーが不要になり、委任のセキュリティが確保されます。秘密鍵はあなただけが保持しているため、他の誰もあなたの支払いを請求することはできません。また、ウォレットAを管理している限り、ウォレットAから支払いを行い、ウォレットBに委任することも可能です。これは、単一のペイマスターから複数の送信ウォレットにEnergy資金提供する財務機関にとって便利です。

よくある間違い:署名方法を間違えること。Tron Tronは、 signMessage (従来方式)とsignMessageV2 (EIP-191互換方式)という2つのメッセージ署名規格があります。API API V2を想定しています。従来方式を使用すると、一見有効に見える署名が生成されますが、 API署名不一致として拒否します。

ステップ3:委任を申請する

支払いハッシュ、ターゲットウォレット、および署名をJSON形式でapi.tronnrg.com/delegateにPOSTしてください。

ステップ3コード

const res = await fetch('https://api.tronnrg.com/delegate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
tx_hash: payment.txid,
delegate_to: delegateTo,
signature
})
}).then(r => r.json());

API 、使用する 3 つのフィールドを返しますres.energy (委任されたEnergy量。送信されたTRXに 16,250 を掛けた値)、 res.delegations[0].tx (オンチェーン委任トランザクションのハッシュ。監査ログ用にこれを保存してください)、 res.ref (サポートに関する問い合わせに役立つnrg_d_42のような参照 ID)。

委任は、請求が成功してから約3秒以内にオンチェーンに反映されます。その時点から15分間保持されます。15分経過後、未使用のEnergyは自動的にTronNRGプールに戻されます。部分的な払い戻しはありません。

ステップ4: USDT送金をブロードキャストする

USDT送金をブロードキャストする前に、実際にEnergyが到着したことを確認してください。ターゲットウォレットのtronWeb.trx.getAccountResources()をポーリングし、 EnergyLimit - EnergyUsedが少なくとも65,000になるまで繰り返します。標準的な間隔は500ms、タイムアウトは30秒です。

その後は通常通りUSDTを送金してください。手数料はEnergyが負担します。送金ウォレットからTRXが焼却されることはありません。

ステップ4のパターン

// Wait for Energy to arrive
await pollUntilEnergyAvailable(delegateTo, 65000, { interval: 500, timeout: 30000 });

// Broadcast the USDT transfer
const contract = await tronWeb.contract().at( USDT _CONTRACT);
const txHash = await contract.transfer(recipient, amount).send({ feeLimit: 20_000_000 });

必ず feeLimit を設定してください。何らかの理由でEnergy届かず、それでもコードがブロードキャストされた場合、feeLimit によってネットワークがバーンできる最大TRXが制限されます。20 TRX (20,000,000 SUN に相当) は妥当な上限値です。Energy Energy失敗した場合に 1 回の送金をカバーするのに十分な値であり、バグによってホットウォレットが空になるのを防ぐことができます。

これが実際にあなたにもたらすメリットとは

送金ごとの節約額はTRX単位で固定されており、標準的なUSDT送金1回につき約TRX節約されます( TRXバーンを回避し、 EnergyとしてTRXを支払います)。この数値は市場状況によって変化せず、 Tronネットワークのプロトコルレベルの特性です。変化するのは、このTRXが何ドルに相当するかという点です。

実際の取引量が増えると、節約効果は急速に拡大します。

毎日の送迎年間TRX消費量( APIなし) API経由の年間TRX年間節約TRX削減
10約47,450 14,600約32,850約69%
100約474,500 146,000約328,500約69%
500約237万73万約164万約69%
1,000約475万146万約329万約69%
5,000約2370万730万約1640万約69%

最新のTRX価格における米ドル建ての金額については、 TronNRG手数料計算ツールをご利用ください。日々の取引量を入力すると、リアルタイムで節約できる金額が表示されます。

1日に500回以上の送金を行う場合は、 TRX自己ステーキングして独自のEnergyを生成する方法と比較検討する価値があります。自己ステーキングは送金あたりのコストがほぼゼロですが、多額の資金をロックアップする必要があります。ステーキングの損益分岐点計算ツールを使用すると、特定の取引量におけるAPIと自己ステーキングの損益分岐点がどこで交差するかを確認できます。

トラブルシューティング

4つのエラーは頻繁に発生するため、事前に知っておく価値があります。

署名不一致(最もよくあるケース)。API API V2で署名していますが、あなたは従来のsignMessageメソッドで署名しています。解決策: signMessageV2に切り替えてください。エラーコードの全リストはTronNRGエラーに関するドキュメントに記載されています。

支払いが見つかりませんでした。オンチェーンで支払いトランザクションが確認される前に/delegateを呼び出しました。修正方法:ステップ 1 の後、少なくとも 1 ブロック (約 3 秒) 待ってからステップ 3 を呼び出してください。コードでは、 tronWeb.trx.getTransaction(payment.txid)が結果を返すまでポーリングしてください。

最低支払額を下回っています。4 TRX未満の金額を送金しました。4 TRX未満の送金は無効とみなされ、自動的に返金されます。解決策:送金前に金額を確認してください。最低支払額は厳守です。

Energy届きませんでした。API側では委任は成功しましAPIが、ターゲットウォレットにはまだEnergy表示されません。解決策:別のブロックを待ってから再度確認してください。伝播には3秒ではなく6秒かかる場合があります。30秒経ってもEnergy表示されない場合は、送信したターゲットウォレットアドレスがクエリしているアドレスと一致していることを確認してください(タイプミスが原因であることがほとんどです)。

▸ TronNRG API api.tronnrg.comで利用可能です。

ドキュメント全文を読む →

エンタープライズ規模のご注文については、 TelegramでTronNRGまでお問い合わせください。Webhookの確認、大量注文価格、カスタムSLAについてご案内いたします。

関連ガイド:開発者向けTron Energy API · USDT送金の自動化(大規模) · 1ドル未満でUSDTを送金

API呼び出しは3回のみ。USDT USDT手数料は70%オフ。

TronNRGはapi.tronnrg.comで利用可能です。最低TRX 、最大TRXまでリニア価格設定。委任時間は3秒。署名ベースの認証で、 APIキーは不要です。サポート対象言語の完全なドキュメントはsupport.tronnrg.comでご覧いただけます。

エネルギーをレンタルする →

FAQ

USDT送金手数料をプログラムで削減する最も速い方法は何ですか?
Energy委任API使用してください。api.tronnrg.comのTronNRG API 、ネットワークが通常消費する約13 TRXの代わりに、65,000 Energy (1回の標準的なUSDT送金)を4 TRXで委任します。これは約70%の手数料削減になります。統合は3つのHTTP操作で行われます。ディスパッチアドレスにTRX送信し、所有権メッセージに署名し、/delegateにPOSTします。エンドツーエンドの所要時間は約3秒で、その後USDT送金をブロードキャストできます。
api.tronnrg.comを利用するにはAPIキーが必要ですか?
標準の委任フローでは、 APIキーは不要です。認証は、支払いウォレットの秘密鍵でメッセージに署名することで行われます。これにより、オンチェーンでの所有権が証明され、アカウント設定、ダッシュボード、またはローテーションするシークレットなしでAPIリクエストを検証できます。Webhook確認とカスタムSLAを必要とするエンタープライズ規模の取引(1日500件以上の送金)については、TelegramでTronNRGお問い合わせください。
あるウォレットから支払いを行い、別のウォレットにEnergyを委任することはできますか?
はい。署名付きメッセージは、支払いトランザクションのハッシュをdelegate_toウォレットアドレスに紐付けます。支払いウォレットの秘密鍵を保持している限り、結果として得られるEnergy任意のTronアドレスに委任できます。これは、資金提供ウォレットが複数の送信ウォレットに代わってEnergyを支払うような財務管理設定に役立ちます。
料金体系はどうなっていますか?常に4 TRXを支払うことになるのでしょうか?
価格は1 TRXあたり16,250 Energyで、最小4 TRX (65,000 Energy 、標準送金1回分)から最大1,000 TRX (1625万Energy )までとなっています。つまり、8 TRXで標準送金2回分、または新規ウォレットへの送金1回分(料金は2倍)のEnergy購入でき、40 TRXで10回分の送金に必要なEnergyを購入できる、といった具合です。委任は15分間保持されるため、1回の支払いでその時間内に複数のUSDT送金を行うことができます。
既に支払いを済ませた後で委任が失敗した場合はどうなりますか?
TronNRG 、何らかの理由で委任が完了できない場合、 TRX自動的に送信者アドレスにオンチェーンで返金します。資金が滞留するシナリオは発生しません。ただし、本番環境ではフォールバックを実装する必要があります。/delegate呼び出しが失敗した場合、またはEnergy妥当なタイムアウト時間内に届かない場合は、 EnergyなしでUSDT送金をブロードキャストし(ネットワークはTRXをバーンしますが、送金は完了します)、調査のためにイベントをログに記録してください。
TronNRGサービスは非カストディアル型ですか?
はい。 Energyは、 Tronのネイティブプロトコルレベルの委任メカニズムを介して委任されます。TronNRG TronNRG USDTを保有することはなく、ウォレットへの接続も必要とせず、トークンの承認も一切要求しません。サービスは、お客様のウォレットアドレスにEnergy提供します。お客様は、ウォレットアドレスからUSDTを送金します。この2つの操作は完全に独立しています。TronNRG TronNRG扱うトークンは、 Energyを購入するためにお客様が送金するTRXのみです。
どのプログラミング言語に動作するサンプルがありますか?
support.tronnrg.com にあるTronNRG開発者向けドキュメントには、JavaScript ( TronWeb )、Python (tronpy)、PHP (iexbase/ Tron -api)、cURL のコピー&ペースト可能なサンプルが含まれています。Tron メッセージに署名し、HTTP 呼び出しを行うことができる言語であれば、どれでも統合できます。Go、Rust、Java、C# の実装はすべて、このAPI上で本番環境に導入されています。
Telegram WhatsApp