Commit 6e9e1227 authored by vicotor's avatar vicotor

update sync block

parent 4c3ebd01
......@@ -13,6 +13,6 @@ dev:
go build $(BUILD_FLAGS) -v -o=${GOBIN}/$@ -gcflags "all=-N -l" ./cmd
docker:
docker build -t token-bridge:latest -f ./Dockerfile .
docker build --no-cache -t token-bridge:latest -f ./Dockerfile .
docker tag token-bridge:latest token-bridge:$${TAG:-latest}
.PHONY: docker
......@@ -48,25 +48,21 @@ func NewChainSync(_chain *config.ChainConfig, _d *dao.Dao) (sync *ChainSync) {
func (s *ChainSync) loop() {
defer s.wg.Done()
lastHeight, err := s.d.GetStorageHeight(s.heightKey)
finishedHeight, err := s.d.GetStorageHeight(s.heightKey)
if err != nil {
if err == dao.ErrRecordNotFound {
lastHeight = s.chain.InitialHeight
finishedHeight = s.chain.InitialHeight
} else {
log.WithField("chain", s.name).WithField("chain", s.name).WithError(err).Error("get last block height")
return
}
}
if lastHeight != 1 {
// 数据库里保存的是已完成的区块, 再次同步时+1
lastHeight++
}
log.WithField("chain", s.name).WithField("height", lastHeight).Info("last validator block height")
var latestHeight int64
var beginHeight = lastHeight
var beginHeight = finishedHeight + 1
var endHeight = beginHeight + int64(s.chain.BatchBlock)
log.WithField("chain", s.name).WithField("begin height", beginHeight).Info("last validator block height")
tm := time.NewTicker(time.Second)
defer tm.Stop()
......@@ -79,19 +75,21 @@ func (s *ChainSync) loop() {
latestHeight, err = s.d.GetBlockHeight(s.chain, s.chain.BehindBlock)
if err != nil {
log.WithField("chain", s.name).WithError(err).Error("get latest block height")
time.Sleep(time.Second)
continue
}
if (latestHeight-int64(s.chain.BatchBlock)-1)-beginHeight < int64(s.chain.BatchBlock) {
time.Sleep(2 * time.Second)
if latestHeight <= beginHeight {
continue
}
if latestHeight < endHeight {
endHeight = latestHeight
}
if err := s.SyncLogs(beginHeight, endHeight); err != nil {
log.WithField("chain", s.name).WithFields(log.Fields{
"begin height": beginHeight,
"end height": endHeight,
}).WithError(err).Error("sync logs failed")
time.Sleep(time.Second)
continue
}
......
......@@ -4,7 +4,7 @@ debug = true
name = "hpb"
rpc = "https://hpbnode.com"
initial_height = 23240125
batch_block = 2
batch_block = 100
confirm_block_count = 2
bridge_contract = "0x9a06d0CfAFc19a4bfe0ecd5f8bC20A26a88fA227"
validator_private_key = "fc35cdedfab10b7218ae68b45146736bc66513452000f1fa411ff7a9c1f33439"
......@@ -13,7 +13,7 @@ validator_private_key = "fc35cdedfab10b7218ae68b45146736bc66513452000f1fa411ff7a
name = "bit"
rpc = "https://rpc.mova.bitheart.org"
initial_height = 1123988
batch_block = 2
batch_block = 100
confirm_block_count = 2
bridge_contract = "0x9a06d0CfAFc19a4bfe0ecd5f8bC20A26a88fA227"
validator_private_key = "fc35cdedfab10b7218ae68b45146736bc66513452000f1fa411ff7a9c1f33439"
......
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