From 7f1c8794c30055c49399d8c2ff0409d4b83ebcc5 Mon Sep 17 00:00:00 2001 From: aitbc Date: Tue, 26 May 2026 18:38:24 +0200 Subject: [PATCH] Add ENABLE_BLOCK_PRODUCTION check to PoA proposer start() method - Prevents block production on follower nodes when enable_block_production=false - Fixes issue where proposer_id in secrets was overriding config setting - PoA proposer now respects the enable_block_production configuration --- apps/blockchain-node/src/aitbc_chain/consensus/poa.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/blockchain-node/src/aitbc_chain/consensus/poa.py b/apps/blockchain-node/src/aitbc_chain/consensus/poa.py index 825d83ac..e617a2c4 100755 --- a/apps/blockchain-node/src/aitbc_chain/consensus/poa.py +++ b/apps/blockchain-node/src/aitbc_chain/consensus/poa.py @@ -119,6 +119,11 @@ class PoAProposer: async def start(self) -> None: if self._task is not None: return + # Skip proposer loop if block production is disabled + from ..config import settings + if not getattr(settings, "enable_block_production", True): + self._logger.info("Block production disabled, skipping PoA proposer loop") + return self._logger.info("Starting PoA proposer loop", extra={"interval": self._config.interval_seconds}) await self._ensure_genesis_block()