Skip to content
Merged
Show file tree
Hide file tree
Changes from 33 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
ade55b9
Changes to Support `0.69.0` CN Protobuf and Produced blocks
AlfredoG87 Dec 20, 2025
f49f719
Fixed e2e tests by setting simulator craft mode to 0.69
AlfredoG87 Dec 22, 2025
e9b57cc
Removed masking of NoSuchAlgorithmException under a RuntimeException,…
AlfredoG87 Dec 22, 2025
e60c49d
fixing simulator tests after upgrade to 0.69.0 HAPI version
AlfredoG87 Dec 22, 2025
00be04f
Improving BlockProof Selection condition to only use Tss Based proof …
AlfredoG87 Dec 22, 2025
1b4cf7f
improved getSingle error message
AlfredoG87 Dec 22, 2025
3730a02
- Verification plugin now calculates the root of all previous block h…
AlfredoG87 Dec 24, 2025
809b33c
stylefix
AlfredoG87 Dec 24, 2025
c364469
UT latest fixes
AlfredoG87 Dec 25, 2025
0d5b415
Added File Save and Load for All previous hasher
AlfredoG87 Dec 25, 2025
a379a29
Fixing and re-ordering tidy up logic
AlfredoG87 Dec 26, 2025
6c75fc0
Extracted and encapsulated all logic around the rootOfAllPreviousBloc…
AlfredoG87 Dec 27, 2025
255265d
nice QOL code
AlfredoG87 Dec 27, 2025
1a41235
Added Adequate coverage with every conceivable test case including an…
AlfredoG87 Dec 27, 2025
f7fbe22
Used a custom protobuf for enconding the hasher snapshot and optimize…
AlfredoG87 Dec 28, 2025
93e64d2
small codacy and spotless fixes
AlfredoG87 Dec 28, 2025
b106812
more spotless :)
AlfredoG87 Dec 28, 2025
8aab1c8
remove testing debugging leftover code
AlfredoG87 Dec 28, 2025
e590773
UT improvements
AlfredoG87 Dec 28, 2025
cf07a4c
Improved Tests and added lastBlockHash to root_hash_of_all_previous_b…
AlfredoG87 Dec 28, 2025
856fbd6
small nit
AlfredoG87 Dec 28, 2025
69882cf
Small test improvements
AlfredoG87 Dec 28, 2025
54e3ab2
simplifying hasher logic
AlfredoG87 Dec 28, 2025
c683acb
PR review suggestions
AlfredoG87 Jan 12, 2026
161ba93
PR review suggestions
AlfredoG87 Jan 12, 2026
46a797b
removed Typo
AlfredoG87 Jan 12, 2026
06a0d3f
improved script for building the protobuf
AlfredoG87 Jan 12, 2026
e12d575
style fix after rebase due to hiero gradle plugin upgrade on main
AlfredoG87 Jan 12, 2026
d6c1370
Modified the API for VerificationSession, so it receives the previous…
AlfredoG87 Jan 13, 2026
43be259
removed overload for getBlockItemHash(BlockItem) and leaved only for …
AlfredoG87 Jan 13, 2026
dc5a312
PR Review feedback
AlfredoG87 Jan 13, 2026
7a7b26f
Using defined Log Style convention for performance improvements.
AlfredoG87 Jan 13, 2026
618656d
- Improved the config style by disabling spotlessApply for this file.
AlfredoG87 Jan 13, 2026
47f01dc
PR review feedback
AlfredoG87 Jan 15, 2026
04619c0
Collapsed 3-line annotation+parameter declaration to single line
AlfredoG87 Jan 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions block-node/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@ tasks.withType<JavaExec>().configureEach {
environment("FILES_HISTORIC_ROOT_PATH", "${serverDataDir}/files-historic")
environment("FILES_RECENT_LIVE_ROOT_PATH", "${serverDataDir}/files-live")
environment("FILES_RECENT_UNVERIFIED_ROOT_PATH", "${serverDataDir}/files-unverified")
environment(
"VERIFICATION_ALL_BLOCKS_HASHER_FILE_PATH",
"${serverDataDir}/verification/rootHashOfAllPreviousBlocks.bin",
)
}

tasks.register<JavaExec>("runWithCleanStorage") {
Expand All @@ -38,6 +42,11 @@ tasks.register<JavaExec>("runWithCleanStorage") {
environment("FILES_HISTORIC_ROOT_PATH", "${serverDataDir}/files-historic")
environment("FILES_RECENT_LIVE_ROOT_PATH", "${serverDataDir}/files-live")
environment("FILES_RECENT_UNVERIFIED_ROOT_PATH", "${serverDataDir}/files-unverified")

environment(
"VERIFICATION_ALL_BLOCKS_HASHER_FILE_PATH",
"${serverDataDir}/verification/rootHashOfAllPreviousBlocks.bin",
)
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,17 @@ public record SampleBlockInfo(Bytes blockRootHash, Long blockNumber, BlockUnpars
*/
public enum SAMPLE_BLOCKS {
HAPI_0_66_0_BLOCK_10(
"HAPI-0-66-0/000000000000000000000000000000000010.blk.gz",
"HAPI-0-66-0/10.blk.gz",
"30783030", // dummy hash
10),
HAPI_0_68_0_BLOCK_14(
"HAPI-0-68-0/000000000000000000000000000000000014.blk.gz",
"d4924fe896fd32375ced195f29238f36b50f1a04d7b0e34e00b82758a2e9cabd37c98945181788e309d2c9588830bbcb",
14);
"HAPI-0-68-0/14.blk.gz",
"30783030", // dummy hash
14),
HAPI_0_69_0_BLOCK_240(
"HAPI_0-69-0/240.blk.gz",
"325ee93ae5ba606903527674073931d5a33b8900ef720b0d34849b804e39198251995a9e20750ec84ce80e6fc0c361d5",
240);

private final String blockName;
private final Bytes blockHash;
Expand Down
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ void doTenBatches() {
// create 100 sample blocks, this should trigger the plugin to archive them
sendBlocks(START_TIME, 0, 99);
// await archive task to complete
parkNanos(TASK_AWAIT_NANOS * 2);
parkNanos(TASK_AWAIT_NANOS * 3);
// send another persisted notification to trigger the executor service
// cleanup and ensure the task ran
plugin.handlePersisted(new PersistedNotification(0L, true, 0, BlockSource.UNKNOWN));
Expand Down
7 changes: 6 additions & 1 deletion block-node/verification/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
// SPDX-License-Identifier: Apache-2.0
plugins { id("org.hiero.gradle.module.library") }
plugins {
id("org.hiero.gradle.module.library")
id("com.hedera.pbj.pbj-compiler")
}

description = "Hiero Block Node Verification Service"

Expand All @@ -20,3 +23,5 @@ testModuleInfo {
requires("org.mockito")
requires("org.junit.jupiter.params")
}

pbj { generateTestClasses = false }
4 changes: 3 additions & 1 deletion block-node/verification/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,15 @@
com.swirlds.config.extensions,
org.hiero.block.node.app;

requires transitive com.hedera.pbj.runtime;
requires transitive com.swirlds.config.api;
requires transitive org.hiero.block.node.spi;
requires com.hedera.pbj.runtime;
requires com.swirlds.metrics.api;
requires org.hiero.block.common;
requires org.hiero.block.node.base;
requires org.hiero.block.protobuf.pbj;
requires com.github.spotbugs.annotations;
requires org.antlr.antlr4.runtime;

provides org.hiero.block.node.spi.BlockNodePlugin with
VerificationServicePlugin;
Expand Down
Loading
Loading