Ropsten

奇怪的 Ropsten 錯誤 - transactionsRoot 和 recieptsRoot 具有相同的值

  • September 29, 2018

我正在 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)的塊,它們將具有相同的值

引用自:https://ethereum.stackexchange.com/questions/59713