From 08d90b6e8e634d529c66b205f30cb5bbfc1b64fb94b712cb1f0621aea93b84cd Mon Sep 17 00:00:00 2001 From: AidarKC Date: Mon, 29 Dec 2025 15:10:14 +0300 Subject: [PATCH] =?UTF-8?q?29=2012=2025=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0?= =?UTF-8?q?=D0=B2=D0=B8=D0=BB=20=D0=BC=D0=B8=D0=BA=D1=80=D0=BE=20=D0=B1?= =?UTF-8?q?=D0=B0=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JSON/handlers/blockchain/BlockchainWriter.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/BlockchainWriter.java b/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/BlockchainWriter.java index dfb9b11..6c3e872 100644 --- a/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/BlockchainWriter.java +++ b/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/BlockchainWriter.java @@ -40,6 +40,9 @@ public final class BlockchainWriter { private static final Logger log = LoggerFactory.getLogger(BlockchainWriter.class); + private static final String ZERO_HASH_64 = + "0000000000000000000000000000000000000000000000000000000000000000"; + private final SqliteDbController db; private final BlocksDAO blocksDAO; private final BlockchainStateDAO stateDAO; @@ -294,7 +297,13 @@ public final class BlockchainWriter { e.setBlockLineIndex(block.lineIndex); e.setBlockLineNumber(block.lineNumber); - e.setBlockLinePreHashe(prevLineHashHex); + + // ✅ минимальная правка: для genesis сохраняем именно "64 нуля", а не пустую строку/NULL + String linePre = prevLineHashHex; + if (block.recordNumber == 0 && (linePre == null || linePre.isBlank())) { + linePre = ZERO_HASH_64; + } + e.setBlockLinePreHashe(linePre); e.setMsgType(block.body.type());