Home / Input Output / mantis
Feb 13, 10-11 AM (0)
Feb 13, 11-12 PM (0)
Feb 13, 12-1 PM (0)
Feb 13, 1-2 PM (0)
Feb 13, 2-3 PM (0)
Feb 13, 3-4 PM (0)
Feb 13, 4-5 PM (0)
Feb 13, 5-6 PM (0)
Feb 13, 6-7 PM (0)
Feb 13, 7-8 PM (0)
Feb 13, 8-9 PM (0)
Feb 13, 9-10 PM (0)
Feb 13, 10-11 PM (0)
Feb 13, 11-12 AM (0)
Feb 14, 12-1 AM (0)
Feb 14, 1-2 AM (0)
Feb 14, 2-3 AM (0)
Feb 14, 3-4 AM (0)
Feb 14, 4-5 AM (0)
Feb 14, 5-6 AM (0)
Feb 14, 6-7 AM (0)
Feb 14, 7-8 AM (0)
Feb 14, 8-9 AM (0)
Feb 14, 9-10 AM (0)
Feb 14, 10-11 AM (0)
Feb 14, 11-12 PM (0)
Feb 14, 12-1 PM (0)
Feb 14, 1-2 PM (1)
Feb 14, 2-3 PM (0)
Feb 14, 3-4 PM (0)
Feb 14, 4-5 PM (0)
Feb 14, 5-6 PM (0)
Feb 14, 6-7 PM (0)
Feb 14, 7-8 PM (0)
Feb 14, 8-9 PM (0)
Feb 14, 9-10 PM (0)
Feb 14, 10-11 PM (0)
Feb 14, 11-12 AM (1)
Feb 15, 12-1 AM (1)
Feb 15, 1-2 AM (0)
Feb 15, 2-3 AM (0)
Feb 15, 3-4 AM (0)
Feb 15, 4-5 AM (0)
Feb 15, 5-6 AM (0)
Feb 15, 6-7 AM (0)
Feb 15, 7-8 AM (0)
Feb 15, 8-9 AM (0)
Feb 15, 9-10 AM (0)
Feb 15, 10-11 AM (0)
Feb 15, 11-12 PM (1)
Feb 15, 12-1 PM (0)
Feb 15, 1-2 PM (0)
Feb 15, 2-3 PM (0)
Feb 15, 3-4 PM (0)
Feb 15, 4-5 PM (0)
Feb 15, 5-6 PM (0)
Feb 15, 6-7 PM (0)
Feb 15, 7-8 PM (0)
Feb 15, 8-9 PM (0)
Feb 15, 9-10 PM (0)
Feb 15, 10-11 PM (0)
Feb 15, 11-12 AM (0)
Feb 16, 12-1 AM (0)
Feb 16, 1-2 AM (0)
Feb 16, 2-3 AM (0)
Feb 16, 3-4 AM (0)
Feb 16, 4-5 AM (0)
Feb 16, 5-6 AM (0)
Feb 16, 6-7 AM (0)
Feb 16, 7-8 AM (0)
Feb 16, 8-9 AM (0)
Feb 16, 9-10 AM (0)
Feb 16, 10-11 AM (0)
Feb 16, 11-12 PM (0)
Feb 16, 12-1 PM (0)
Feb 16, 1-2 PM (0)
Feb 16, 2-3 PM (0)
Feb 16, 3-4 PM (0)
Feb 16, 4-5 PM (0)
Feb 16, 5-6 PM (0)
Feb 16, 6-7 PM (0)
Feb 16, 7-8 PM (0)
Feb 16, 8-9 PM (2)
Feb 16, 9-10 PM (0)
Feb 16, 10-11 PM (2)
Feb 16, 11-12 AM (0)
Feb 17, 12-1 AM (3)
Feb 17, 1-2 AM (0)
Feb 17, 2-3 AM (0)
Feb 17, 3-4 AM (0)
Feb 17, 4-5 AM (0)
Feb 17, 5-6 AM (0)
Feb 17, 6-7 AM (0)
Feb 17, 7-8 AM (0)
Feb 17, 8-9 AM (0)
Feb 17, 9-10 AM (0)
Feb 17, 10-11 AM (0)
Feb 17, 11-12 PM (0)
Feb 17, 12-1 PM (0)
Feb 17, 1-2 PM (0)
Feb 17, 2-3 PM (0)
Feb 17, 3-4 PM (0)
Feb 17, 4-5 PM (0)
Feb 17, 5-6 PM (0)
Feb 17, 6-7 PM (0)
Feb 17, 7-8 PM (0)
Feb 17, 8-9 PM (0)
Feb 17, 9-10 PM (0)
Feb 17, 10-11 PM (0)
Feb 17, 11-12 AM (0)
Feb 18, 12-1 AM (0)
Feb 18, 1-2 AM (0)
Feb 18, 2-3 AM (0)
Feb 18, 3-4 AM (0)
Feb 18, 4-5 AM (0)
Feb 18, 5-6 AM (0)
Feb 18, 6-7 AM (0)
Feb 18, 7-8 AM (0)
Feb 18, 8-9 AM (0)
Feb 18, 9-10 AM (0)
Feb 18, 10-11 AM (0)
Feb 18, 11-12 PM (0)
Feb 18, 12-1 PM (0)
Feb 18, 1-2 PM (1)
Feb 18, 2-3 PM (0)
Feb 18, 3-4 PM (0)
Feb 18, 4-5 PM (0)
Feb 18, 5-6 PM (0)
Feb 18, 6-7 PM (0)
Feb 18, 7-8 PM (0)
Feb 18, 8-9 PM (0)
Feb 18, 9-10 PM (0)
Feb 18, 10-11 PM (0)
Feb 18, 11-12 AM (0)
Feb 19, 12-1 AM (0)
Feb 19, 1-2 AM (0)
Feb 19, 2-3 AM (0)
Feb 19, 3-4 AM (0)
Feb 19, 4-5 AM (0)
Feb 19, 5-6 AM (0)
Feb 19, 6-7 AM (0)
Feb 19, 7-8 AM (0)
Feb 19, 8-9 AM (0)
Feb 19, 9-10 AM (0)
Feb 19, 10-11 AM (0)
Feb 19, 11-12 PM (1)
Feb 19, 12-1 PM (1)
Feb 19, 1-2 PM (0)
Feb 19, 2-3 PM (0)
Feb 19, 3-4 PM (0)
Feb 19, 4-5 PM (0)
Feb 19, 5-6 PM (0)
Feb 19, 6-7 PM (0)
Feb 19, 7-8 PM (0)
Feb 19, 8-9 PM (0)
Feb 19, 9-10 PM (0)
Feb 19, 10-11 PM (0)
Feb 19, 11-12 AM (0)
Feb 20, 12-1 AM (0)
Feb 20, 1-2 AM (0)
Feb 20, 2-3 AM (0)
Feb 20, 3-4 AM (0)
Feb 20, 4-5 AM (0)
Feb 20, 5-6 AM (0)
Feb 20, 6-7 AM (0)
Feb 20, 7-8 AM (0)
Feb 20, 8-9 AM (0)
Feb 20, 9-10 AM (0)
Feb 20, 10-11 AM (0)
14 commits this week Feb 13, 2026 - Feb 20, 2026
feat: enhance mining validation and progress tracking in Fukuii
- Added network discovery configuration for peer discovery in etc.conf files.
- Updated application.ini to increase JVM heap size to 8GB for better performance.
- Enhanced .gitignore to exclude private keys and ad-hoc test scripts.
- Improved SNAPSyncController to track account estimates and storage contract progress.
- Updated AccountRangeCoordinator and StorageRangeCoordinator to handle peer timeouts and contract completion tracking.
- Added comprehensive mining validation script for testing Fukuii on the Mordor testnet.
feat(sync): post-SNAP regular sync and cross-phase performance optimizations
Enable seamless transition from SNAP sync to regular block sync, fixing
15 issues discovered during Mordor testnet validation. Key changes:

Regular sync post-SNAP fixes:
- ETH68 compatibility: SNAP GetTrieNodes fallback for missing state nodes
  since all Mordor peers negotiate ETH68 (GetNodeData removed)
- BlockImporter state machine: proper resolvingMissingNode state with 30s
  ReceiveTimeout, retry-same-blocks on timeout, FetchedStateNode handling
- MissingAccountNodeException + targeted O(12) walkAccountPath for instant
  trie path resolution (replaces O(50K) DFS that blocked for ~72s)
- MissingStorageNodeException with account address context for O(1) pathset
- BlockExecution: catch MPTException around full executeBlock, not just
  payBlockReward. Prevents actor stuck in importing=true forever
- importWith error handler sends ImportDone as fallback on any IO error
- PeersClient: BestNodeDataPeer filters ETH68 peers, adaptMessageForPeer
  handles ETH63/ETH66 GetNodeData conversion
- completeSnapSync uses storeBlock for number-to-hash mapping

SNAP sync performance:
- DeferredWriteMptStorage for healing coordinator (periodic flush)
- Per-peer adaptive byte budgeting across all coordinators (50KB-2MB)
- Per-peer cooldowns on timeout/failure
- Configurable healing concurrency (8 -> 16)
- ByteCode max retries per hash to prevent infinite cycling
- Account coordinator pivot refresh with exponential backoff
- O(n) ReferenceCountNodeStorage.update (was O(n^2) from :+ append)
- Async finalizeTrie with progress reporting
- Trie finalization stagnation timer fix

Validated on Mordor testnet: SNAP sync completes in ~45 min, regular sync
transitions cleanly with 4 missing nodes fetched in ~1.5s via GetTrieNodes,
then tracks chain tip continuously.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
fix(sync): prevent storage stall after pivot refresh
Proof-only StorageRanges responses (0 slot-sets, non-empty proofs) were
treated as servedCount=1, which un-marked peers as stateless and completed
tasks with zero slots. After a pivot refresh, this caused the coordinator
to silently drain all storage tasks as "empty" without triggering further
stateless detection or pivot refreshes, stalling storage sync indefinitely.

Three fixes:
- servedCount=0 when response.slots is empty (proof-only != served)
- Always mark peer stateless on empty response (even if tasks were skipped)
- Exponential backoff on pivot refresh (60s-5min) to prevent rapid loops

Also increases maxEmptyResponsesPerTask from 3 to 5 for more resilience.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
feat(sync): adaptive storage sync throughput optimization
Replace fixed storage sync parameters with dynamic per-peer tuning to
maximize throughput within snap/1 protocol limits:

- Adaptive per-peer response size: ramp from 512KB to 2MB based on fill
  ratio (ported from ByteCodeCoordinator pattern)
- Non-blocking storage persistence: DeferredWriteMptStorage wraps trie
  insertion, chunked self-messages (2000 slots/chunk) prevent actor blocking
- Per-peer batch size: only reduce batching for peers that fail, not globally
- Binary stateless peer detection: instant pivot refresh when all peers are
  stateless (replaces slow 10-empty/2-min global backoff)
- Increase default storage concurrency from 8 to 16
- Reduce verbose per-request hex logging from INFO to DEBUG

Co-Authored-By: Claude Opus 4.6 <[email protected]>
feat(sync): Enhance SNAP sync functionality and performance
- Updated configuration files to switch network from "etc" to "mordor" for testing.
- Enabled fast sync as a fallback in sync configurations for improved reliability.
- Added detailed SNAP sync settings in node3 configuration to optimize performance.
- Introduced a new test script for SNAP sync functionality on a 3-node network.
- Refactored SyncController to utilize StateStorage instead of MptStorage for better management.
- Implemented DeferredWriteMptStorage to defer writes during bulk trie insertions, significantly improving performance.
- Enhanced AccountRangeCoordinator and TrieNodeHealingCoordinator to manage task redispatching more effectively.
- Added error handling and logging improvements for better visibility during SNAP sync operations.