QuarkChain / go-ethereum

Official Go implementation of the Ethereum protocol
https://geth.ethereum.org
GNU Lesser General Public License v3.0
5 stars 2 forks source link

ethstorage mine tranction will fail with "execution reverted" #141

Open ping-ke opened 1 year ago

ping-ke commented 1 year ago

System information branch: `tm_w3q_sstorage_miner_debug testnet: (https://testnet.web3q.io:8545)

Expected behavior runs the node with --sstorage.mine=true, mined one shard and submit a tx, the tx will fail with "execution reverted".

From the node log, we see 16 unmask log as follow. that means the proof verification is pass. should the diff check may cause it fail. WARN [04-16|19:16:48.145] unmask info encodeType=2 chunkIdx=1855 kvHash=0 00000..000000 miner=0xcD21538aF6e33fF6fcF1E2Ca20F771413004CFd3 datalen=4096 mask data=73c00866a5bab84815ff32b77b54c7f3a1db74b7 unmask data=0000000000000000000000000000000000000000

Actual behavior The nine transactions should succeed.

Steps to reproduce the behavior run the node with mine enabled, and wait for mine tx. sample params: --sstorage.mine (--sstorage.shard=128k,0 --sstorage.file="C:\data\weqdata3\ss0.dat" --sstorage.mine=true --sstorage.minercontract="0x0000000000000000000000000000000003330001" --sstorage.txsigner=0xcd21538af6e33ff6fcf1e2ca20f771413004cfd3)

ping-ke commented 1 year ago

this is caused by the diff calculation mismatch, it will be fixed by https://github.com/QuarkChain/go-ethereum/pull/131.