以太坊原始交易解码器

粘贴任意 EVM 交易的已签名或未签名 RLP 十六进制。从签名中恢复发送方,把 calldata 与常见 ERC-20 和 DeFi 函数匹配,并计算哈希以便你在区块浏览器中查找。

已签名或未签名均可。解码在你的浏览器中进行;不会向任何地方发送数据,因此即将签名的未签名交易也可以安全粘贴。
示例:

由浏览器中的 JavaScript 解码。地址不会被上传或存储。

什么是以太坊原始交易?

以太坊原始交易是钱包签名时生成的 RLP 编码字节串:对于类型化交易,先是一个字节的类型前缀(0x01 到 0x04),随后是由 nonce、费用字段、gas 上限、to、value、data 和 ECDSA 签名(v、r、s)组成的 RLP 列表。发送方地址并不存储在其中;节点从签名中恢复它,交易哈希则是这些字节的 Keccak-256。

从哪里获取原始交易

字段说明

最大总费用是 gas 上限 × 每单位 gas 最高费用:交易可能花费的最大值;实际费用通常更低。未签名哈希是私钥签署的摘要。访问列表预先声明存储键以降低 gas。对于 blob 交易,blob 数据本身不属于这里显示的 RLP,只包含其版本化哈希。

交易类型一览

类型EIP费用字段额外字段
0(legacy)EIP-155,链 ID 编码在 v 中gasPrice无
1EIP-2930gasPriceaccessList
2EIP-1559maxPriorityFeePerGas、maxFeePerGasaccessList
3EIP-4844同类型 2,另加 maxFeePerBlobGasblobVersionedHashes
4EIP-7702同类型 2authorizationList

实例演示

一笔类型 2 的交易,gas 上限 21,000,maxFeePerGas 30 gwei,maxPriorityFeePerGas 2 gwei,显示的最大总费用为 21,000 × 30 gwei = 630,000 gwei = 0.00063 ETH。如果区块基础费用为 12 gwei,则有效价格为 12 + 2 = 14 gwei,实际费用为 294,000 gwei = 0.000294 ETH;剩余的 0.000336 ETH 不会被收取。若 to 等于 USDT 合约且 calldata 以 a9059cbb 开头,则这是一笔代币转账,其 value 字段为 0。

需要编码 calldata 或解码未知函数?请使用 ABI 编码 / 解码器和选择器查询。

常见问题

发送方是如何恢复的?

以太坊交易不存储 from 地址。解码器用 Keccak-256 对已签名载荷做哈希,利用 r、s 和 v 恢复公钥,再派生出地址,与每个节点的做法完全相同。因此未签名交易不会显示发送方。

各交易类型是什么意思?

类型 0 是最初的格式,只有单一 gas 价格。类型 1(EIP-2930)增加了访问列表。类型 2(EIP-1559)用最高费用和优先费用取代 gas 价格。类型 3(EIP-4844)为 rollup 携带 blob 承诺。类型 4(EIP-7702)允许 EOA 通过授权列表委托给合约代码。

为什么 'to' 显示了一个我没有发送过的合约地址?

如果交易没有接收方,它会创建一个合约,解码器显示的是该合约将获得的地址,由发送方和 nonce 计算得出。

代币转账的金额怎么看?

ERC-20 转账的 value 为 0 ETH;金额在 calldata 里。解码器以原始单位显示 transfer(address,uint256) 的参数;请用换算器除以代币的小数位数。

未签名哈希和交易哈希有什么区别?

未签名哈希是不含签名的交易的 Keccak-256(对于 legacy 交易,按 EIP-155 用链 ID 代替 v、r、s);它是私钥签署的内容。交易哈希是完整签名编码的 Keccak-256,也是区块浏览器显示的 ID。

支持 BNB Chain、Polygon 和 L2 吗?

支持。所有 EVM 链使用相同的编码。常见网络的链 ID 会连同名称一起显示。