我们正在建立类似于区块链浏览器的内容,但是我们的Eth fullnode似乎缺少某些区块的交易信息。

例如,我可以查询eth.getTransaction,但是eth.getTransactionReceipt返回null> eth.getTransaction('0x03a05ea076149ae8cff6b0fbc9b1f29c6bf6b7ab04ded92080c54084688456dd'){ blockHash: "0xfd3b78d9b56e9a911beda3ff488c28c9dd83a9ae4961ba676f852e316cffde89", blockNumber: 5035686, from: "0x0ce287cc90601a891e65efda7037f5682cb1ade6", gas: 210000, gasPrice: 40000000000, hash: "0x03a05ea076149ae8cff6b0fbc9b1f29c6bf6b7ab04ded92080c54084688456dd", input: "0x", nonce: 21, r: "0x464f05819d48288db06cac5ff21b49d02a1250df6c4ba1e20ecdb38c558e5b44", s: "0x1f48c4531a3807b987857b99639b51f54e3718b9f1d808d66ad765ee0f71aba0", to: "0xe4bad5a72c04d5473e932f54036376772378b83d", transactionIndex: 72, v: "0x26", value: 98082570000000016}eth.getTransactionReceipt('0x03a05ea076149ae8cff6b0fbc9b1f29c6bf6b7ab04ded92080c54084688456dd')null
有什么理由会发生这种情况吗?除了完全重新同步之外,还有其他解决方案吗?

我确实相信,当我第一次同步区块链时,我使用了--fast,因此可能丢失了一些tx,尽管该参数的文献记载很少。

最佳答案

看来您的节点有问题。收据是从Infura返回的。我建议不使用--fast重新同步。

truffle(liveI)> web3.eth.getTransactionReceipt('0x03a05ea076149ae8cff6b0fbc9b1f29c6bf6b7ab04ded92080c54084688456dd', (e, r) => console.log(r));
undefined
truffle(liveI)> { blockHash: '0xfd3b78d9b56e9a911beda3ff488c28c9dd83a9ae4961ba676f852e316cffde89',
  blockNumber: 5035686,
  contractAddress: null,
  cumulativeGasUsed: 2154783,
  from: '0x0ce287cc90601a891e65efda7037f5682cb1ade6',
  gasUsed: 21000,
  logs: [],
  logsBloom: '0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000',
  status: '0x1',
  to: '0xe4bad5a72c04d5473e932f54036376772378b83d',
  transactionHash: '0x03a05ea076149ae8cff6b0fbc9b1f29c6bf6b7ab04ded92080c54084688456dd',
  transactionIndex: 72 }

关于ethereum - eth.getTransactionReceipt返回null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49992579/

10-12 23:30