OSDN Git Service

fix_block_exist (#2007)
authorPoseidon <shenao.78@163.com>
Fri, 2 Jul 2021 02:04:34 +0000 (10:04 +0800)
committerGitHub <noreply@github.com>
Fri, 2 Jul 2021 02:04:34 +0000 (10:04 +0800)
config/config.go
protocol/block.go

index 3fbb823..7d4f5a2 100644 (file)
@@ -264,10 +264,10 @@ func DefaultWebsocketConfig() *WebsocketConfig {
 func DefaultFederationConfig() *FederationConfig {
        return &FederationConfig{
                Xpubs: []chainkd.XPub{
-                       xpub("aca17d23cf09d73178a278b59f3cace29ae2a110937f45258da708b593f706908118df74ce6c825821e01dccc325c367ed81619710256c9719f8d728a60331c2"),
-                       xpub("07e65cb38befb4cbfeef92d746d613c85bafc3b3c532c03e72ec0fb5c2b70efb2ef3cd0da10990380c8a82a3f8c886aab99e5df07b44705d26e4da8ab822109a"),
-                       xpub("8ec78877e26ca7ff5dcfe9d11a457c522d7b6ba1971781fe60e82649ba8d52c84bae7a75b04f02b880d67344a975b82eb102b1c8c0b507c927527daaa00c216f"),
-                       xpub("32f4831276cf928699888a616a6711fc869cdde27a578a356e6b867fd34bb46959307667ccebb07215bae7190c6f7b54dc928520c1d87b849ee2c13492571d0c"),
+                       xpub("2e171e9aed46633f3560cf4d207c4edb92e5ad6b6f63daee44aa0ed4c58f76fd4d0081f225d2b119ac398749dbc7aa113603bc7710693c54852d33b6b082daab"),
+                       xpub("896285b552bfe0647c0effaee41e5ce98a77981396455259792300cfbc0988bfb1a723488cedf0e73c3220e273fb6843abfbee025d7401b67bf81641b208dfc1"),
+                       xpub("aa5cb0d5d193a141ce66dd3448e8d74d73bed1131ea05b130c14c95ad04b0295f2d4d3f421ae10a2517f7431e0eca119fea509e0650bd20b4a64b856b5473f35"),
+                       xpub("98e6ab8c654bb31e0c432a2c9ff13a6e3419dcb8a1df94f2839f41d79e94b6ca7a68f60b793d947195f761187b37275fbeb345041d5ea3039c5d328b63e3d489"),
                },
                Quorum: 2,
        }
index 428478e..1886e1a 100644 (file)
@@ -314,7 +314,7 @@ func (c *Chain) blockProcessor() {
 // ProcessBlock is the entry for handle block insert
 func (c *Chain) processBlock(block *types.Block) (bool, error) {
        blockHash := block.Hash()
-       if c.BlockExist(&blockHash) {
+       if c.BlockExist(&blockHash) && c.bestBlockHeader.Height >= block.Height {
                log.WithFields(log.Fields{"module": logModule, "hash": blockHash.String(), "height": block.Height}).Info("block has been processed")
                return c.orphanManage.BlockExist(&blockHash), nil
        }