Ethereum 生トランザクションデコーダー

任意の EVM トランザクションの署名済みまたは未署名の RLP hex を貼り付けてください。送信者は署名から復元され、calldata は一般的な ERC-20 や DeFi の関数と照合され、エクスプローラーで探せるようハッシュが計算されます。

署名済みでも未署名でも構いません。デコードはブラウザ内で実行され、どこにも送信されないため、これから署名する未署名トランザクションでも安全です。
例:

ブラウザ内で JavaScript によりデコードされます。アドレスがアップロードまたは保存されることはありません。

生の Ethereum トランザクションとは

生の Ethereum トランザクションは、ウォレットが署名時に生成する RLP エンコードされたバイト列です。型付きトランザクションでは 1 バイトの type プレフィックス(0x01〜0x04)の後に、nonce、手数料フィールド、ガス上限、to、value、data、ECDSA 署名(v、r、s)の RLP リストが続きます。送信者アドレスは保存されず、ノードが署名から復元します。トランザクションハッシュはこのバイト列そのものの Keccak-256 です。

生トランザクションの入手先

フィールドの説明

最大合計手数料はガス上限 × ガスあたり最大手数料で、トランザクションにかかり得る最大額です。実際の手数料は通常これより低くなります。未署名ハッシュは秘密鍵が署名するダイジェストです。アクセスリストはガスを下げるためにストレージキーを事前宣言します。blob トランザクションでは、blob データ自体はここに表示される RLP には含まれず、バージョン付きハッシュだけが含まれます。

トランザクションタイプ一覧

TypeEIP手数料フィールド追加フィールド
0(レガシー)v に EIP-155 チェーン IDgasPriceなし
1EIP-2930gasPriceaccessList
2EIP-1559maxPriorityFeePerGas、maxFeePerGasaccessList
3EIP-4844type 2 と同じ + maxFeePerBlobGasblobVersionedHashes
4EIP-7702type 2 と同じauthorizationList

具体例

ガス上限 21,000、maxFeePerGas 30 gwei、maxPriorityFeePerGas 2 gwei の type 2 トランザクションでは、最大合計手数料は 21,000 × 30 gwei = 630,000 gwei = 0.00063 ETH と表示されます。ブロックの base fee が 12 gwei なら実効価格は 12 + 2 = 14 gwei、実際の手数料は 294,000 gwei = 0.000294 ETH で、残りの 0.000336 ETH は課金されません。to が USDT コントラクトで calldata が a9059cbb で始まるならトークン送金であり、その value フィールドは 0 です。

calldata をエンコードしたり未知の関数をデコードしたりするには、ABI エンコーダー / デコーダーとセレクタ逆引きを使ってください。

よくある質問

送信者はどうやって復元されますか?

Ethereum のトランザクションは from アドレスを保存していません。デコーダーは署名対象のペイロードを Keccak-256 でハッシュし、r、s、v の値から公開鍵を復元してアドレスを導出します。これはすべてのノードが行うのと同じ方法です。したがって未署名のトランザクションでは送信者は表示されません。

トランザクションタイプの意味は?

Type 0 はガス価格が 1 つだけの元の形式です。Type 1(EIP-2930)はアクセスリストを追加します。Type 2(EIP-1559)はガス価格を max fee と priority fee に置き換えます。Type 3(EIP-4844)はロールアップ向けの blob コミットメントを運びます。Type 4(EIP-7702)は authorization list によって EOA がコントラクトコードに委任できるようにします。

送った覚えのないコントラクトアドレスが 'to' に表示されるのはなぜですか?

トランザクションに受取先がない場合はコントラクトを作成します。デコーダーは、送信者と nonce から計算した、そのコントラクトが得るアドレスを表示します。

トークンの金額はどう読めばいいですか?

ERC-20 の送金は value が 0 ETH で、金額は calldata の中にあります。デコーダーは transfer(address,uint256) の引数を生の単位で表示するので、コンバーターでトークンの小数桁で割ってください。

未署名ハッシュとトランザクションハッシュの違いは何ですか?

未署名ハッシュは署名を除いたトランザクションの Keccak-256(レガシートランザクションでは EIP-155 に従い v、r、s の代わりにチェーン ID を入れたもの)で、秘密鍵が署名する対象です。トランザクションハッシュは完全に署名されたエンコーディングの Keccak-256 で、エクスプローラーが表示する ID です。

BNB Chain、Polygon、L2 でも動作しますか?

はい。すべての EVM チェーンは同じエンコーディングを使います。主要なネットワークについては、チェーン ID が名前と一緒に表示されます。