From cd0352f9040991a7a0e2e03c71575bc5b5f5b178d1c44bdb37752cdfd747442c Mon Sep 17 00:00:00 2001 From: AidarKC Date: Tue, 13 Jan 2026 17:34:30 +0300 Subject: [PATCH] 13 01 25 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit мелкие исправления --- ...ODO что бы не забыть - для после выходных | 10 +++++++++- .../main/java/blockchain/BchBlockEntry.java | 3 --- .../java/blockchain/BchCryptoVerifier.java | 3 --- .../src/main/java/blockchain/MsgSubType.java | 2 +- .../java/blockchain/body/BodyHasLine.java | 19 +++++++++++++++++++ .../java/blockchain/body/BodyHasTarget.java | 3 --- .../main/java/blockchain/body/BodyRecord.java | 3 --- .../blockchain/body/BodyRecordParser.java | 3 --- .../java/blockchain/body/ConnectionBody.java | 5 +---- .../main/java/blockchain/body/HeaderBody.java | 3 --- .../java/blockchain/body/ReactionBody.java | 5 +---- .../main/java/blockchain/body/TextBody.java | 5 +---- .../java/blockchain/body/UserParamBody.java | 5 +---- .../java/shine/db/dao/BlockchainStateDAO.java | 3 --- .../src/main/java/shine/db/dao/BlocksDAO.java | 3 --- .../java/shine/db/entities/BlockEntry.java | 3 --- .../db/entities/BlockchainStateEntry.java | 3 --- .../blockchain/Net_AddBlock_Handler.java | 3 --- .../BlockchainWriter.java | 4 ---- .../test/it/cases/IT_03_AddBlock_NoAuth.java | 2 +- 20 files changed, 34 insertions(+), 56 deletions(-) create mode 100644 shine-server-blockchain/src/main/java/blockchain/body/BodyHasLine.java diff --git a/DOC/!!! TODO что бы не забыть - для после выходных b/DOC/!!! TODO что бы не забыть - для после выходных index 3a0af39..af96b91 100644 --- a/DOC/!!! TODO что бы не забыть - для после выходных +++ b/DOC/!!! TODO что бы не забыть - для после выходных @@ -19,7 +19,15 @@ А УНИКАЛЬНЫЙ НОМЕР ЛИНИИ ЭТО ПО СУТИ НОМЕР СООБЩЕНИЯ СОЗДАВШЕГО ЛИНИЮ КАНАЛ (НУ И ФОРМАТ СООБЩЕНИЯ НАЧАЛА ЛИНИИ - КАНАЛА) -2. МОЖЕТ СДЕЛАТЬ АВТОГЕНЕРАЦИЮ ПРОСТЫНЕЙ ДЛЯ ПАРСЕРОВ (И МОЖЕТ И ХЭНДЛЕРОВ(И ТАМ ЖЕ РЕКВЕСТ ПОДГРУЗИТЬСЯ)) + + + + + + + + + 3. СООТВЕТСТВЕННО удалить НАПИСАТЬ/ПЕРОВЕРИТЬ НОРМАЛЬНЫЙ SubscriptionsDAO - ТК СТАРЫЙ РАБОТАЛ НО НА ДРУГОМ ФОРМАТЕ И ТИПО КРИВО diff --git a/shine-server-blockchain/src/main/java/blockchain/BchBlockEntry.java b/shine-server-blockchain/src/main/java/blockchain/BchBlockEntry.java index b233664..ce2c2bc 100644 --- a/shine-server-blockchain/src/main/java/blockchain/BchBlockEntry.java +++ b/shine-server-blockchain/src/main/java/blockchain/BchBlockEntry.java @@ -1,6 +1,3 @@ -// ======================= -// blockchain/BchBlockEntry.java (НОВАЯ ВЕРСИЯ под ТЗ) -// ======================= package blockchain; import blockchain.body.BodyRecord; diff --git a/shine-server-blockchain/src/main/java/blockchain/BchCryptoVerifier.java b/shine-server-blockchain/src/main/java/blockchain/BchCryptoVerifier.java index 0b119a2..e6f5a3c 100644 --- a/shine-server-blockchain/src/main/java/blockchain/BchCryptoVerifier.java +++ b/shine-server-blockchain/src/main/java/blockchain/BchCryptoVerifier.java @@ -1,6 +1,3 @@ -// ======================= -// blockchain/BchCryptoVerifier.java (НОВАЯ ВЕРСИЯ под ТЗ) -// ======================= package blockchain; import utils.crypto.Ed25519Util; diff --git a/shine-server-blockchain/src/main/java/blockchain/MsgSubType.java b/shine-server-blockchain/src/main/java/blockchain/MsgSubType.java index 7e1d9e6..07af644 100644 --- a/shine-server-blockchain/src/main/java/blockchain/MsgSubType.java +++ b/shine-server-blockchain/src/main/java/blockchain/MsgSubType.java @@ -1,4 +1,4 @@ -package shine.db; +package blockchain; /** * MsgSubType — единое место для ВСЕХ subType сообщений (msg_sub_type). diff --git a/shine-server-blockchain/src/main/java/blockchain/body/BodyHasLine.java b/shine-server-blockchain/src/main/java/blockchain/body/BodyHasLine.java new file mode 100644 index 0000000..ebbe72b --- /dev/null +++ b/shine-server-blockchain/src/main/java/blockchain/body/BodyHasLine.java @@ -0,0 +1,19 @@ +package blockchain.body; + +/** + * BodyHasLine — для типов, которые имеют линейные поля в body: + * TEXT / CONNECTION / USER_PARAM + * + * Формат линейных полей (BigEndian) в НАЧАЛЕ bodyBytes: + * [4] prevLineNumber + * [32] prevLineHash32 + * [4] thisLineNumber + */ +public interface BodyHasLine { + + int prevLineNumber(); + + byte[] prevLineHash32(); + + int thisLineNumber(); +} \ No newline at end of file diff --git a/shine-server-blockchain/src/main/java/blockchain/body/BodyHasTarget.java b/shine-server-blockchain/src/main/java/blockchain/body/BodyHasTarget.java index 7bc2324..ea0b976 100644 --- a/shine-server-blockchain/src/main/java/blockchain/body/BodyHasTarget.java +++ b/shine-server-blockchain/src/main/java/blockchain/body/BodyHasTarget.java @@ -1,6 +1,3 @@ -// ======================= -// blockchain/body/BodyHasTarget.java (без изменений, оставляю как есть) -// ======================= package blockchain.body; /** diff --git a/shine-server-blockchain/src/main/java/blockchain/body/BodyRecord.java b/shine-server-blockchain/src/main/java/blockchain/body/BodyRecord.java index 5099f60..bda74f1 100644 --- a/shine-server-blockchain/src/main/java/blockchain/body/BodyRecord.java +++ b/shine-server-blockchain/src/main/java/blockchain/body/BodyRecord.java @@ -1,6 +1,3 @@ -// ======================= -// blockchain/body/BodyRecord.java (ИЗМЕНЁННЫЙ контракт под ТЗ) -// ======================= package blockchain.body; /** diff --git a/shine-server-blockchain/src/main/java/blockchain/body/BodyRecordParser.java b/shine-server-blockchain/src/main/java/blockchain/body/BodyRecordParser.java index 0556081..8c26114 100644 --- a/shine-server-blockchain/src/main/java/blockchain/body/BodyRecordParser.java +++ b/shine-server-blockchain/src/main/java/blockchain/body/BodyRecordParser.java @@ -1,6 +1,3 @@ -// ======================= -// blockchain/body/BodyRecordParser.java (ИЗМЕНЁННЫЙ под новый формат) -// ======================= package blockchain.body; /** diff --git a/shine-server-blockchain/src/main/java/blockchain/body/ConnectionBody.java b/shine-server-blockchain/src/main/java/blockchain/body/ConnectionBody.java index 2ff1088..c2979a1 100644 --- a/shine-server-blockchain/src/main/java/blockchain/body/ConnectionBody.java +++ b/shine-server-blockchain/src/main/java/blockchain/body/ConnectionBody.java @@ -1,9 +1,6 @@ -// ======================= -// blockchain/body/ConnectionBody.java (ИЗМЕНЁННЫЙ: bodyBytes без type/subType/version, + line fields) -// ======================= package blockchain.body; -import shine.db.MsgSubType; +import blockchain.MsgSubType; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/shine-server-blockchain/src/main/java/blockchain/body/HeaderBody.java b/shine-server-blockchain/src/main/java/blockchain/body/HeaderBody.java index c438c36..4f70b1f 100644 --- a/shine-server-blockchain/src/main/java/blockchain/body/HeaderBody.java +++ b/shine-server-blockchain/src/main/java/blockchain/body/HeaderBody.java @@ -1,6 +1,3 @@ -// ======================= -// blockchain/body/HeaderBody.java (ИЗМЕНЁННЫЙ: bodyBytes без type/subType/version) -// ======================= package blockchain.body; import utils.config.ShineSignatureConstants; diff --git a/shine-server-blockchain/src/main/java/blockchain/body/ReactionBody.java b/shine-server-blockchain/src/main/java/blockchain/body/ReactionBody.java index 7213c45..22b2009 100644 --- a/shine-server-blockchain/src/main/java/blockchain/body/ReactionBody.java +++ b/shine-server-blockchain/src/main/java/blockchain/body/ReactionBody.java @@ -1,9 +1,6 @@ -// ======================= -// blockchain/body/ReactionBody.java (ИЗМЕНЁННЫЙ: bodyBytes без type/subType/version, НЕТ линейных полей) -// ======================= package blockchain.body; -import shine.db.MsgSubType; +import blockchain.MsgSubType; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/shine-server-blockchain/src/main/java/blockchain/body/TextBody.java b/shine-server-blockchain/src/main/java/blockchain/body/TextBody.java index f7d7d2d..4c87c4f 100644 --- a/shine-server-blockchain/src/main/java/blockchain/body/TextBody.java +++ b/shine-server-blockchain/src/main/java/blockchain/body/TextBody.java @@ -1,9 +1,6 @@ -// ======================= -// blockchain/body/TextBody.java (ИЗМЕНЁННЫЙ: header содержит type/subType/version, body содержит line fields) -// ======================= package blockchain.body; -import shine.db.MsgSubType; +import blockchain.MsgSubType; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/shine-server-blockchain/src/main/java/blockchain/body/UserParamBody.java b/shine-server-blockchain/src/main/java/blockchain/body/UserParamBody.java index be4331e..852abe1 100644 --- a/shine-server-blockchain/src/main/java/blockchain/body/UserParamBody.java +++ b/shine-server-blockchain/src/main/java/blockchain/body/UserParamBody.java @@ -1,9 +1,6 @@ -// ======================= -// blockchain/body/UserParamBody.java (ИЗМЕНЁННЫЙ: bodyBytes без type/subType/version, + line fields) -// ======================= package blockchain.body; -import shine.db.MsgSubType; +import blockchain.MsgSubType; import java.nio.ByteBuffer; import java.nio.ByteOrder; diff --git a/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java b/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java index 0d08ed2..a19e879 100644 --- a/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java +++ b/shine-server-db/src/main/java/shine/db/dao/BlockchainStateDAO.java @@ -1,6 +1,3 @@ -// ======================= -// shine/db/dao/BlockchainStateDAO.java (ИЗМЕНЁННАЯ: убраны line0..7, last_block_*) -// ======================= package shine.db.dao; import shine.db.SqliteDbController; diff --git a/shine-server-db/src/main/java/shine/db/dao/BlocksDAO.java b/shine-server-db/src/main/java/shine/db/dao/BlocksDAO.java index fc189d0..89701d1 100644 --- a/shine-server-db/src/main/java/shine/db/dao/BlocksDAO.java +++ b/shine-server-db/src/main/java/shine/db/dao/BlocksDAO.java @@ -1,6 +1,3 @@ -// ======================= -// shine/db/dao/BlocksDAO.java (ИЗМЕНЁННЫЙ под новый blocks формат + линейная проверка) -// ======================= package shine.db.dao; import shine.db.SqliteDbController; diff --git a/shine-server-db/src/main/java/shine/db/entities/BlockEntry.java b/shine-server-db/src/main/java/shine/db/entities/BlockEntry.java index 8fe38a1..6a56b04 100644 --- a/shine-server-db/src/main/java/shine/db/entities/BlockEntry.java +++ b/shine-server-db/src/main/java/shine/db/entities/BlockEntry.java @@ -1,6 +1,3 @@ -// ======================= -// shine/db/entities/BlockEntry.java (ИЗМЕНЁННАЯ под новый blocks формат) -// ======================= package shine.db.entities; /** diff --git a/shine-server-db/src/main/java/shine/db/entities/BlockchainStateEntry.java b/shine-server-db/src/main/java/shine/db/entities/BlockchainStateEntry.java index 29651f3..eb6cd0e 100644 --- a/shine-server-db/src/main/java/shine/db/entities/BlockchainStateEntry.java +++ b/shine-server-db/src/main/java/shine/db/entities/BlockchainStateEntry.java @@ -1,6 +1,3 @@ -// ======================= -// shine/db/entities/BlockchainStateEntry.java (ИЗМЕНЁННАЯ: убраны line0..7, переименовано last_block_*) -// ======================= package shine.db.entities; import java.util.Base64; diff --git a/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java b/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java index d521dea..b64b6c6 100644 --- a/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java +++ b/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java @@ -1,6 +1,3 @@ -// ======================= -// server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler.java (ИЗМЕНЁННЫЙ под ТЗ) -// ======================= package server.logic.ws_protocol.JSON.handlers.blockchain; import blockchain.BchBlockEntry; diff --git a/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java b/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java index bc57269..dc344c6 100644 --- a/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java +++ b/shine-server-net-protocol/src/main/java/server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java @@ -1,7 +1,3 @@ -// ======================= -// server/logic/ws_protocol/JSON/handlers/blockchain/Net_AddBlock_Handler_utils/BlockchainWriter.java -// (НОВАЯ ВЕРСИЯ — чтобы AddBlock работал с новым blocks/state) -// ======================= package server.logic.ws_protocol.JSON.handlers.blockchain.Net_AddBlock_Handler_utils; import blockchain.BchBlockEntry; diff --git a/src/test/java/test/it/cases/IT_03_AddBlock_NoAuth.java b/src/test/java/test/it/cases/IT_03_AddBlock_NoAuth.java index bf7fc51..37c7fd9 100644 --- a/src/test/java/test/it/cases/IT_03_AddBlock_NoAuth.java +++ b/src/test/java/test/it/cases/IT_03_AddBlock_NoAuth.java @@ -2,7 +2,7 @@ package test.it.cases; import blockchain.LineIndex; import blockchain.body.*; -import shine.db.MsgSubType; +import blockchain.MsgSubType; import test.it.blockchain.AddBlockSender; import test.it.blockchain.ChainState; import test.it.utils.TestConfig;