From 3e52b62203ddb94c630f84a11a36fa7f04fc3300 Mon Sep 17 00:00:00 2001 From: June <2571240520@qq.com> Date: Fri, 28 Jun 2024 10:40:01 +0800 Subject: [PATCH] Bug fix: All nodes temporarily close tx pool when syncing. --- src/main/java/io/xdag/core/BlockchainImpl.java | 5 +++-- src/test/java/io/xdag/core/ExtraBlockTest.java | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/xdag/core/BlockchainImpl.java b/src/main/java/io/xdag/core/BlockchainImpl.java index 33791fa0..5c859dd6 100644 --- a/src/main/java/io/xdag/core/BlockchainImpl.java +++ b/src/main/java/io/xdag/core/BlockchainImpl.java @@ -435,8 +435,9 @@ public synchronized ImportResult tryToConnect(Block block) { // result = ImportResult.IMPORTED_EXTRA; } else { saveBlock(block); - // prohibited non-mining node set Tx pool - if (kernel.getConfig().getEnableGenerateBlock()) { + // 1. prohibited non-mining node set Tx pool, + // 2. all nodes temporarily close tx pool when syncing. + if (kernel.getConfig().getEnableGenerateBlock() && kernel.getPow() != null) { orphanBlockStore.addOrphan(block); } xdagStats.nnoref++; diff --git a/src/test/java/io/xdag/core/ExtraBlockTest.java b/src/test/java/io/xdag/core/ExtraBlockTest.java index 5a283697..c0544e76 100644 --- a/src/test/java/io/xdag/core/ExtraBlockTest.java +++ b/src/test/java/io/xdag/core/ExtraBlockTest.java @@ -29,6 +29,7 @@ import io.xdag.Wallet; import io.xdag.config.Config; import io.xdag.config.DevnetConfig; +import io.xdag.consensus.XdagPow; import io.xdag.crypto.SampleKeys; import io.xdag.crypto.Sign; import io.xdag.db.BlockStore; @@ -102,6 +103,7 @@ public void setUp() throws Exception { kernel.setBlockStore(blockStore); kernel.setOrphanBlockStore(orphanBlockStore); kernel.setWallet(wallet); + kernel.setPow(new XdagPow(kernel)); } @Test