You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求确认交易签名哈希值:指定字段是否为签名哈希?

关于EIP-1559交易哈希与签名哈希的疑问

我有一个以太坊EIP-1559交易对象:

{
  hash: '0xb1c360f441555b43c5c4ae25d4c145465dec04f8e7e454905ca46cffa2878358',
  type: 2,
  accessList: [],
  blockHash: '0xcbdbe7c06917401e961f8af020b24c147c2b0202b78474c1612165b5d94b5507',
  blockNumber: 16629307,
  transactionIndex: 0,
  confirmations: 1,
  from: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
  gasPrice: BigNumber { value: "136380605794" },
  maxPriorityFeePerGas: BigNumber { value: "1000000000" },
  maxFeePerGas: BigNumber { value: "271761211588" },
  gasLimit: BigNumber { value: "29025368" },
  to: '0x75b0B516B47A27b1819D21B26203Abf314d42CCE',
  value: BigNumber { value: "0" },
  nonce: 399,
  data: '0xd041723100000000000000000000000090f79bf6eb2c4f870365e785982e1f101e93b9060000000000000000000000000000000000000000000000000de0b6b3a7640000df57089febbacf7ba0bc227dafbffa9fc08a93fdc68e1e42411a14efcf23656f',
  r: '0x45fbb085fc47add41a01b41b85c2866daf7417ee79757f50d7c869f8bb74ab9e',
  s: '0x6ad6776be37df4eb2cd4cfbcbd89b686f0985e9f366d71c0442381924af326d1',
  v: 1,
  creates: null,
  chainId: 31337,
  wait: [Function (anonymous)]
}

请问其中的hash: '0xb1c360f441555b43c5c4ae25d4c145465dec04f8e7e454905ca46cffa2878358'是否为该交易签名的哈希值?我需要准确识别签名对应的哈希值。


答案

这个hash字段不是交易签名直接对应的哈希值,两者是不同的概念:

  • 签名对应的哈希:签名交易时,是对无签名的EIP-1559交易体(包含chainId、nonce、maxPriorityFeePerGas、maxFeePerGas、gasLimit、to、value、data、accessList)按照规则编码后,再进行Keccak-256哈希计算得到的结果,这个哈希才是私钥签名的目标。
  • 交易对象中的hash字段:它是对包含r、s、v签名参数的完整已签名交易进行Keccak-256哈希后的结果,是区块链上唯一标识该交易的交易ID,是签名完成后生成的,并非签名时用的哈希。

如果要获取签名对应的哈希,需要从交易对象中提取无签名的核心字段,按照EIP-1559的编码规则(TransactionType || RLP([chainId, nonce, maxPriorityFeePerGas, maxFeePerGas, gasLimit, to, value, data, accessList]))处理后,再计算Keccak-256哈希。


内容的提问来源于stack exchange,提问作者Hacek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 19:35:45