Ropsten
奇怪的 Ropsten 錯誤 - transactionsRoot 和 recieptsRoot 具有相同的值
我正在 Ropsten 網路上測試一些東西,我發現了奇怪的塊:
4138624 當我執行時(使用在 Metamask 中註入的 web3):
web3.eth.getBlock(4138624,function(err,res){
控制台.log(res);
})
我得到奇怪的結果
transactionsRoot 和 recieptsRoot 具有相同的值
我也在reddit上發布了問題 https://www.reddit.com/r/ethdev/comments/9jz5cm/strange_ropsten_bug/
我注意到了他們,因為對於那些
data = []; data.push(res.parentHash); data.push(res.sha3Uncles); data.push(res.miner); data.push(res.stateRoot); data.push(res.transactionsRoot); data.push(res.receiptsRoot); data.push(res.logsBloom); data.push(addPrefix(parseInt(res.difficulty).toString(16))); data.push(addPrefix(res.number.toString(16))); data.push(addPrefix(res.gasLimit.toString(16))); data.push(addPrefix(res.gasUsed.toString(16))); data.push(addPrefix(res.timestamp.toString(16))); data.push(res.extraData); data.push(res.mixHash); data.push(res.nonce);
if(res.hash===“0x”+utils.keccak256(rlp.encode(data)){ // OK }else{ //出了點問題 }
返回不正確的雜湊(雖然對於大多數工作都很好)
這是一個沒有交易https://ropsten.etherscan.io/block/4138624的塊,所以這些欄位是一個空字節數組的 keccak256。
如果您查看其他網路(如 rinkeby 或 mainnet)的塊,它們將具有相同的值