Commit 828bdb6f authored by caopingcp's avatar caopingcp

tendermint use PreExecBlock

parent 5b006881
...@@ -3,7 +3,7 @@ module github.com/33cn/plugin ...@@ -3,7 +3,7 @@ module github.com/33cn/plugin
go 1.12 go 1.12
require ( require (
github.com/33cn/chain33 v0.0.0-20191011025601-06dbefe7d2e8 github.com/33cn/chain33 v0.0.0-20191017025459-6d5c61c7d134
github.com/BurntSushi/toml v0.3.1 github.com/BurntSushi/toml v0.3.1
github.com/NebulousLabs/Sia v1.3.7 github.com/NebulousLabs/Sia v1.3.7
github.com/btcsuite/btcd v0.0.0-20181013004428-67e573d211ac github.com/btcsuite/btcd v0.0.0-20181013004428-67e573d211ac
......
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/33cn/chain33 v0.0.0-20190925142515-31e357c36c74 h1:8PC5TDbLIV5haxz3uhiSS2zrgDwkAFQKOSa6KgNTn9c= github.com/33cn/chain33 v0.0.0-20191017025459-6d5c61c7d134 h1:uglc+qoZXRLxsLn9TdwLV5YDzjnRbLV0QjaxqvVFh4M=
github.com/33cn/chain33 v0.0.0-20190925142515-31e357c36c74/go.mod h1:4I8n+Zyf3t0UKM5jjpqJY627Tub62oXkLsdzIv4r6rQ= github.com/33cn/chain33 v0.0.0-20191017025459-6d5c61c7d134/go.mod h1:4I8n+Zyf3t0UKM5jjpqJY627Tub62oXkLsdzIv4r6rQ=
github.com/33cn/chain33 v0.0.0-20191011025601-06dbefe7d2e8 h1:YorXd8yAS26S49lY8Mdmn7Z5HhGJ1pat9QfXAEZfkw4=
github.com/33cn/chain33 v0.0.0-20191011025601-06dbefe7d2e8/go.mod h1:4I8n+Zyf3t0UKM5jjpqJY627Tub62oXkLsdzIv4r6rQ=
github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7 h1:PqzgE6kAMi81xWQA2QIVxjWkFHptGgC547vchpUbtFo= github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7 h1:PqzgE6kAMi81xWQA2QIVxjWkFHptGgC547vchpUbtFo=
github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8= github.com/AndreasBriese/bbloom v0.0.0-20180913140656-343706a395b7/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
......
...@@ -744,9 +744,9 @@ func (cs *ConsensusState) createProposalBlock() (block *ttypes.TendermintBlock) ...@@ -744,9 +744,9 @@ func (cs *ConsensusState) createProposalBlock() (block *ttypes.TendermintBlock)
baseTx := cs.createBaseTx(block.TendermintBlock) baseTx := cs.createBaseTx(block.TendermintBlock)
block.Data.Txs[0] = baseTx block.Data.Txs[0] = baseTx
block.Data.TxHash = merkle.CalcMerkleRoot(block.Data.Txs) block.Data.TxHash = merkle.CalcMerkleRoot(block.Data.Txs)
pblockNew := cs.client.ExecBlock(block.Data) pblockNew := cs.client.PreExecBlock(block.Data, false)
if pblockNew == nil { if pblockNew == nil {
tendermintlog.Error("createProposalBlock ExecBlock fail") tendermintlog.Error("createProposalBlock PreExecBlock fail")
return nil return nil
} }
block.Data = pblockNew block.Data = pblockNew
...@@ -817,16 +817,16 @@ func (cs *ConsensusState) defaultDoPrevote(height int64, round int) { ...@@ -817,16 +817,16 @@ func (cs *ConsensusState) defaultDoPrevote(height int64, round int) {
return return
} }
// Exec proposal block // PreExec proposal block
blockCopy := *cs.ProposalBlock.Data blockCopy := *cs.ProposalBlock.Data
blockNew := cs.client.ExecBlock(&blockCopy) blockNew := cs.client.PreExecBlock(&blockCopy, true)
if blockNew == nil { if blockNew == nil {
tendermintlog.Error("enterPrevote: Exec ProposalBlock fail") tendermintlog.Error("enterPrevote: PreExec ProposalBlock fail")
cs.signAddVote(ttypes.VoteTypePrevote, nil) cs.signAddVote(ttypes.VoteTypePrevote, nil)
return return
} }
if !bytes.Equal(blockNew.Hash(), cs.ProposalBlock.Data.Hash()) { if !bytes.Equal(blockNew.Hash(), cs.ProposalBlock.Data.Hash()) {
tendermintlog.Error("enterPrevote: Exec ProposalBlock has change") tendermintlog.Error("enterPrevote: PreExec ProposalBlock has change")
cs.signAddVote(ttypes.VoteTypePrevote, nil) cs.signAddVote(ttypes.VoteTypePrevote, nil)
return return
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment