Commit f19ca24b authored by caopingcp's avatar caopingcp Committed by vipwzw

wait lastHeight increase

parent 16d7818b
...@@ -189,13 +189,32 @@ func (client *client) InitBlock() { ...@@ -189,13 +189,32 @@ func (client *client) InitBlock() {
// GetStartSeq get startSeq in mainchain // GetStartSeq get startSeq in mainchain
func (client *client) GetStartSeq(height int64) int64 { func (client *client) GetStartSeq(height int64) int64 {
if height == 0 {
return 0
}
lastHeight, err := client.GetLastHeightOnMainChain() lastHeight, err := client.GetLastHeightOnMainChain()
if err != nil { if err != nil {
panic(err) panic(err)
} }
if lastHeight-height < minBlockNum { if lastHeight < height {
panic(fmt.Sprintf("startHeight(%d) less than %d blocks before lastHeight(%d) in mainchain", height, minBlockNum, lastHeight)) panic(fmt.Sprintf("lastHeight(%d) less than startHeight(%d) in mainchain", lastHeight, height))
}
hint := time.NewTicker(5 * time.Second)
for lastHeight < height+minBlockNum {
select {
case <-hint.C:
plog.Info("Waiting lastHeight increase......", "lastHeight", lastHeight, "startHeight", height)
default:
lastHeight, err = client.GetLastHeightOnMainChain()
if err != nil {
panic(err)
}
time.Sleep(time.Second)
}
} }
hint.Stop()
plog.Info(fmt.Sprintf("lastHeight more than %d blocks after startHeight", minBlockNum), "lastHeight", lastHeight, "startHeight", height)
seq, err := client.GetSeqByHeightOnMainChain(height) seq, err := client.GetSeqByHeightOnMainChain(height)
if err != nil { if err != nil {
......
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