GRIDNET Core 1.7.0 Release Notes
A Note on Release Documentation:
Version 1.7.0 introduces significant advancements. For clarity:
-
The Liveness Assurance & Reporting Service (LARS) , a major new component, is detailed separately here.
-
These release notes cover the extensive updates to GRIDNET Core itself.
-
Transparency: As always, you can follow our development process. A detailed Development Timeline Report matching our YouTube LIVE streams (daily since 2017) is included at the end of this document. Live commentary is also available on our Discord here (see #live-development).
Introduction
DOWNLOAD : here
GRIDNET Core 1.7.0 represents a monumental leap forward, introducing the groundbreaking Liveness Assurance & Reporting Service (LARS) , significantly enhancing the Blockchain Explorer API and its integration with UI dApps, and delivering substantial improvements to core stability, performance, and developer tooling. This release culminates weeks of intensive development focused on refining the interaction between the C++ Core and the ECMA6/JavaScript environment, hardening system resilience, and preparing GRIDNET OS for a new generation of decentralized applications. As always, every step of this development journey has been streamed live on YouTube, upholding our unwavering commitment to transparency since 2017.
Critical Highlights
-
Introduction of Liveness Assurance & Reporting Service (LARS): Autonomous node monitoring, crash reporting, and relaunch capabilities.
-
Experimental Blockchain Explorer (EBE) UI dApp Development: A feature-rich, rapidly developed dApp serving as a testbed and developer reference for the Blockchain Explorer API.
-
Comprehensive Blockchain Explorer API Synchronization: Achieved full parity between C++ Core implementations and ECMA6/JavaScript objects (Blocks, Transactions, Domains, Search Filters, Results) using efficient BER encoding.
-
Enhanced Asynchronous API Layer: Simplified UI dApp development with new async wrappers for complex operations like thread management and data retrieval.
-
Core Stability & Performance Enhancements: Major revisions to internal Mongoose library (WebSockets, memory management), RocksDB optimizations, and introduction of BlobDB integration for large data structures.
-
GridScript VM Security Hardening: Refined execution contexts and permissions for GridScript commands, enhancing overall system security.
-
Advanced Data Handling & Visualization: Implemented robust pagination, client/node-side sorting synchronization, and dynamic data visualization (charts, tables) within the EBE dApp.
-
Refined Meta-Data Exchange Protocol: Improved support for strongly-typed data exchange, array handling, and request identifier propagation between Core and web clients.
Liveness Assurance & Reporting Service (LARS): The Immune System of the Digital Organism
-
Autonomous Monitoring & Relaunch: LARS constantly monitors the GRIDNET Core process, automatically relaunching it after crashes or failures without operator intervention, significantly improving node uptime.
-
Intelligent Crash Analysis: Utilizes Microsoft Sysinternals procdump64.exe for precise memory dump capture at the moment of failure.
-
Secure & Resilient Reporting: Crash dumps and comprehensive system information (OS, hardware, network config) are packaged, compressed (miniz), and securely uploaded via the TUS protocol (chunked, resumable, checksummed) over HTTPS to the GRIDNET Emergency Response Team.
-
Automated Updates: LARS can autonomously download and install the latest versions of GRIDNET Core, ensuring nodes stay up-to-date.
-
Seamless Integration: Deployed via the unified GRIDNET OS Installer (CrashUploader.exe), placing a convenient shortcut alongside GRIDNET Core. LARS works silently in the background.
Blockchain Explorer API & UI Integration
-
Comprehensive API Synchronization:
-
Updated all ECMA6 (JavaScript) Blockchain Explorer API objects (CBlockDesc, CTransactionDesc, CDomainDesc, CSearchFilter, CSearchResults, etc.) to perfectly match C++ Core implementations.
-
Refined BER encoding/decoding across both C++ and JavaScript layers for maximum efficiency and cross-platform compatibility.
-
Enhanced CVMContext (main in-web-browser object) with full Blockchain Explorer API method support.
-
Incorporated Operator Security Ranking and Autonomous Threat Level Assessment meta-data into CDomainDesc.
-
-
Experimental Blockchain Explorer (EBE) UI dApp:
-
Developed a fully functional, albeit experimental, Blockchain Explorer UI dApp (EBE) as a rapid development testbed and developer reference.
-
Implemented features including: real-time data updates, advanced search filtering (standard & custom flags), detailed views for Blocks/Transactions/Domains, dynamic data tables (Tabulator.js), interactive charts (Plotly.js), Node-side pagination, and client-side sorting.
-
Integrated sophisticated asynchronous request/response handling and local caching within the dApp.
-
Ensured proper UI isolation using GRIDNET OS Window Manager APIs and Shadow DOM compartmentation.
-
Incorporated GridScript syntax highlighting (highlight.js plugin) for transaction details view.
-
-
UI Component Integration & Shadow DOM Enhancements:
-
Integrated and customized third-party libraries (Tabulator.js, Plotly.js) for data presentation.
-
Developed advanced heuristics for GRIDNET OS Window Manager’s Mutation Observers to correctly handle dynamic DOM updates from these libraries within Shadow DOM, preventing unwanted “Curtain” effect triggers.
-
Refactored Plotly.js internals to ensure proper rendering within Shadow DOM.
-
GridScript & Execution Enhancements
-
Extended context GridScript Command:
-
Added new statistical subcommands (getAverageBlockTime24h, getBlockRewards24h, getBlockSize24h, getNetworkUtilization24h).
-
Added detailed size reporting (Bytes/KB/MB) for blocks and transactions (context getBlockDetails, context getTransactionDetails).
-
Enhanced market subcommand with BER meta-data output and extended sorting capabilities (balance, total received/sent, locked GNC, ingress/egress TX count, total mined GNC).
-
-
GridScript VM Security Hardening:
-
Refined execution context security, distinguishing permissions for commands executed via Terminal vs. Decentralized Processing Threads (DPTs).
-
Performed automated security audits on arithmetic operations across GridScript VM and core data structures.
-
Reviewed and hardened command accessibility based on execution context (e.g., preventing key-chain alterations from remote contexts).
-
-
Decentralized Processing Thread (DPT) Management:
-
Refined DPT lifecycle management and signaling between Core and web clients.
-
Improved handling of ERG limits for ephemeral DPTs used by UI dApps, preventing unexpected thread termination.
-
Enabled thread re-use (‘data thread’) for non-ACID read operations across multiple UI dApps.
-
Asynchronous API & Meta-Data Protocol
-
Enhanced Asynchronous API Layer:
-
Introduced high-level async JavaScript API methods (e.g., createThreadA, ensureBaseThreadsA, requestMarketDataA) simplifying UI dApp development by abstracting away complex event handling and state management.
-
These methods return JavaScript Promises, allowing easy use with await for cleaner asynchronous code.
-
Internally manage request lifecycles, timeouts, node selection, connection setup, and Promise resolution/rejection.
-
-
Refined Meta-Data Exchange Protocol:
-
Improved BER encoding/decoding to robustly handle nested data structures and arrays.
-
Enhanced support for strongly-typed data exchange, allowing JS clients to receive not just data but also the underlying C++ data type identifier.
-
Ensured consistent propagation of unique request identifiers across the entire request/response cycle (UI → Core → UI), aiding correlation and debugging.
-
Optimized protocol for generic request/response patterns for common statistical data, leveraging Core-side caching.
-
Core Stability & Performance
-
Networking & Storage Enhancements:
-
Major internal refactoring of the Mongoose library fork: completely revised low-level memory buffer management and Web-Socket handling mechanics to improve stability and performance under heavy load.
-
Optimized RocksDB integration: Improved random-access read performance via enhanced caching and Bloom filter tuning; refined OS file handle management.
-
Introduced Facebook’s BlobDB integration for efficient storage and retrieval of large data objects (e.g., Chain Proofs, Chain Paths).
-
Improved handling of HTTP connections during early Core bootstrap stages.
-
-
Resilience & Self-Repair:
-
Addressed division-by-zero issues identified during block header instantiation and arithmetic operations within GridScript VM.
-
Incorporated additional self-repair heuristics during bootstrap to handle potential data consistency issues (e.g., corrupted Chain Proofs).
-
Enhanced exception handling (SEH) around critical network components.
-
Improved resilience against potential RocksDB data corruption scenarios.
-
Mitigated issue in net -connections command under heavy connection load.
-
Developer Experience & Tooling
-
GridScript Syntax Highlighting: Developed a custom highlight.js plugin for GridScript 1.0 syntax, integrated into the EBE dApp.
-
Performance Accountability: Incorporated precise timing metrics for GridScript command processing visible in EBE UI.
-
Improved Logging & Debugging: Enhanced log messages across Core and web components, improved error reporting for failed data requests, and refined crash dump analysis capabilities (including PDB reconstruction).
-
Enhanced Crash Reporting (LARS): LARS now collects detailed host information (network interfaces, hostname, CPU, memory, NAT config) alongside crash dumps for faster issue diagnosis.
Final Polishing
-
Enhanced log events throughout the system for improved diagnostics.
-
Fixed various minor typos in code comments and log messages.
-
Improved error reporting messages for clarity.
-
Optimized overall system monitoring capabilities.
-
Refined UI/UX elements in EBE, including animations, hover effects, layout adjustments, and view transitions.
-
Reduced CPU usage during EBE operation through targeted optimizations (~25% reduction observed).
This release represents a significant step towards a more robust, performant, and developer-friendly GRIDNET OS ecosystem, laying a solid foundation for future decentralized applications and services.
Development Log
Date & Time Development Focus Details
Feb 26 2025 Blockchain Explorer API Sync • Aligned JS (ECMA6) data structures (Block/TX/Domain Meta-Data, Search Filter/Results) with C++ Core implementations. • Refined BER encoding/decoding in JS. • Updated CVMContext API stub.
Feb 26 2025 EBE dApp & CVMContext • Integrated updated ECMA6 objects into CVMContext. • Began porting CVMContextStub to real CVMContext. • Added Chromium Dev Tools view to streams.
Feb 27 2025 CVMContext & Event Handling • Incorporated missing pieces into CVMContext for event-driven UI updates. • Added kernel mode methods for signaling meta-data object instantiation and notifying UI dApp instances.
Feb 27 2025 Experimental BE (EBE) dApp Dev • Began rapid development of EBE UI dApp. • Implemented core structure, event sign-up, request/response handling, meta-data processing (Blocks, TXs, Domains, Stats). • Built custom Search Flags HTML component.
Feb 28 2025 EBE dApp Refinement • Finalized EBE core logic (request management, data caching, MVC). • Implemented node-side pagination support. • Integrated GRIDNET OS Window Manager API callbacks for dynamic resizing.
Feb 28 2025 In-Browser API & Meta-Data • Refined in-browser components for Blockchain Explorer API processing. • Enhanced Statistics meta-data handling. • Integrated logging mechanics.
Mar 01 2025 EBE & API Integration • Replaced simple JS intervals in EBE with GRIDNET OS threading. • Improved API to report source node IP for meta-data. • Added node-side pagination controls to EBE UI. • Refined API request formulation.
Mar 01 2025 Meta-Data Handling & Partial Data • Enhanced processSearchResults to handle partial BER-decoded objects (e.g., blocks missing TXs). • Updated UI notifiers for full/partial meta-data.
Mar 02 2025 EBE UI Isolation & Refactoring • Enforced GRIDNET OS UI dApp design guidelines for EBE. • Eliminated reliance on global window/document. • Ensured usage of CWindow scoped element access and Shadow DOM compartmentation.
Mar 03 2025 EBE Deployment & Debugging • Improved Core firewall mechanics for UI debug mode. • Added EBE components to UI Bootloader preloading. • Debugged ECMA6 double-load prevention stub issue. • Tested EBE installation and initial launch.
Mar 03 2025 EBE Component Integration • Resolved issues with Tabulator.js and Plotly.js integration within Shadow DOM. • Refactored EBE dependency relationships and class structures (CWindow access).
Mar 04 2025 Meta-Data Protocol & Request IDs • Investigated Core C++ issue with large JS-generated request IDs. • Standardized request ID generation using built-in OS mechanics. • Refactored JS API methods to return generated request IDs.
Mar 04 2025 GridScript Execution Context • Debugged GridScript execution flow from EBE -> Core. • Adjusted Core security context flags to allow context command execution from DPTs. • Verified BER meta-data generation and onion routing path.
Mar 04 2025 Meta-Data Processing & DOM • Refined in-browser processing of statistics BER meta-data. • Debugged and improved DOM MutationObserver callbacks for Tabulator.js/Plotly.js compatibility.
Mar 05 2025 EBE Data Display & Async API • Fixed JS BigInt/Timestamp handling issues (ASN.1 lib bug workaround). • Ensured proper data display in EBE tables (TX status, amounts). • Implemented async overlay API for easier development.
Mar 06 2025 EBE Data Flow & TX Status • Optimized Transaction meta-data state assessment (synchronous updates). • Improved EBE async UI updates and error handling. • Refined multi-stage transaction safety assessment logic (Core -> Web -> UI).
Mar 07 2025 Core Stability (WebSockets) • Investigated Core crash related to Mongoose WebSockets. • Introduced major improvements/fixes to internal Mongoose fork (WebSockets memory management, stability).
Mar 07 2025 EBE UI Polishing • Added on-hover tooltips for truncated values. • Fixed async API warnings. • Improved data pre-processing pipeline for TX status display. • Corrected Base58/Timestamp decoding issues in EBE views.
Mar 08 2025 Domain Meta-Data & Search • Validated deserialization of Domain meta-data (Identity Token, Security Assessment). • Enhanced EBE search results presentation and interaction (dynamic event handlers, hover effects).
Mar 09 2025 EBE Domain View & Navigation • Implemented detailed Domain/Account view with history pagination. • Enabled seamless view traversal (clicking TXs/Blocks/Miner IDs). • Added retractable panels for Identity Token/Security Assessment.
Mar 10 2025 EBE Charting & BER Arrays • Implemented EBE charting capabilities (Plotly.js). • Improved BER protocol support for nested arrays (daily stats). • Fixed ASN.1 JS lib integer decoding issues for timestamps.
Mar 10 2025 Charting & DOM Observers • Offloaded nested BER array decoding to system internals. • Refined Plotly.js DOM element detection heuristics for Curtain API compatibility. • Implemented dual charting (local/remote stats).
Mar 11 2025 Core Statistics & API Refinement • Added new statistical methods/caching to Core (getAverageBlockTime24h, etc.). • Extended context GridScript command for new stats. • Refined Meta-Data protocol for generic request/response.
Mar 11 2025 Async API & Typed Data • Integrated lower-level Meta-Data protocol with async Future/Promise mechanics. • Enabled strongly-typed data responses (JS type + C++ source type). • Validated new async API methods.
Mar 12 2025 API Unification & Threading • Unified sync/async API usage patterns. • Refactored API methods to use process/thread handles consistently. • Integrated kernel-mode thread management with async API. • Introduced shared 'Data Thread'.
Mar 13 2025 EBE Advanced Search • Integrated EBE Advanced Search UI component. • Implemented custom search flag serialization (JS -> BER -> Base58 -> GridScript). • Validated cross-platform CSearchFilter serialization/deserialization.
Mar 13 2025 Core Search Logic & DPT ERG • Refined Core search filter matching logic (transactions, blocks, domains). • Validated advanced search results. • Investigated DPT 'out of ERG' errors during EBE usage, highlighting need for incentives.
Mar 14 2025 EBE UI Polishing & GridScript View • Polished EBE UI (chart axes, legends, column visibility). • Implemented GridScript syntax highlighting view using highlight.js custom plugin. • Enhanced Shadow DOM component styling.
Mar 14 2025 EBE Performance & API Stability • Optimized EBE request pipeline, reducing network round trips. • Refined async API data caching simulation. • Improved DOM Mutation Monitor handling for table clear operations.
Mar 15 2025 EBE API Optimization & Timing • Heavily revised async API for optimal performance (esp. TX retrieval). • Implemented V8 micro/macro task kung-fu for synchronization. • Incorporated precise request timing accountability metrics into EBE.
Mar 15 2025 EBE UI Refinement • Improved handling of view state during search mode toggling. • Investigated DUI release packaging failure (security override). • Debugged DUI bootloader issues (peer discovery).
Mar 16 2025 Core Stability (Mongoose) • Monitored Tier 0 nodes running revised Mongoose implementation. Addressed stability issues identified under load.
Mar 17 2025 EBE Thread Management • Fixed EBE issuing commands before DPT ready (added thread state listener). • Refined kernel/user-mode async thread management API (createThreadA, ensureBaseThreadsA).
Mar 18 2025 Async API & Thread Flags • Improved request ID propagation in async thread management. • Exposed detailed Thread Flags (Main/Data/Child) via ECMA6 getters. • Validated GridScript execution in sub-threads via EBE.
Mar 18 2025 EBE Pagination Fix (Community Ticket) • Investigated and fixed EBE issue showing only 3 pages of TX history. • Ensured Core pagination meta-data (CSearchResults) propagates correctly to UI.
Mar 19 2025 market GridScript Command • Added BER meta-data output support to market command. • Created JS API wrappers (requestMarketData, requestMarketDataA). • Integrated market data retrieval into EBE UI.
Mar 19 2025 Core Security & Market Command • Tightened GridScript VM security for market command execution context. • Improved market command pagination boundary checks and sorting logic in Core.
Mar 21 2025 EBE Market View & Core Stability • Polished EBE Market Data view (sorting, pagination, formatting). • Revised Mongoose memory management & WebSockets integration again based on Tier 0 monitoring. Deployed updates to Tier 0.
Mar 22 2025 EBE Client-Side Sorting • Implemented custom Tabulator.js sorters for BigInt values. • Synchronized client-side sort state with node-side sort requests.
Mar 24 2025 EBE View Synchronization • Refined MVC logic for synchronizing client/node sort states. • Ensured proper cell formatter association when switching views reusing same table.
Mar 24 2025 Core Stability (SEH) • Security team analysis of WebSockets implementation. • Incorporated Structured Exception Handling (SEH) around Mongoose components.
Mar 25 2025 EBE Market Data Refinement • Added total mined GNC & TX counts to Domain meta-data (C++/JS BER). • Extended market GridScript command sorting/filtering options. • Integrated new fields/sorting into EBE Market view.
Mar 27 2025 Block/Transaction Size Reporting • Added serialized size tracking to Core C++ Block/Transaction objects. • Exposed size via BER meta-data and ECMA6 getters. • Integrated size display into context command and EBE views.
Mar 29 2025 EBE Size Reporting Validation • Validated Block/Transaction size reporting in context command and EBE views. • Ensured dynamic byte unit formatting (Bytes/KB/MB).
Mar 30 2025 EBE Final Validation & Polish • Comprehensive testing of all EBE views (Dashboard, Blocks, TXs, Market, Domain). • Verified all navigation, pagination, sorting, and data display elements. • Approved EBE for deployment.
Apr 01 2025 Core Stability (Key-Chain / DB) • Investigated Tier 0 node crash during key-chain loading. • Verified security context for key-chain access. • Identified potential RocksDB data corruption; added fallback resilience.
Apr 03 2025 Core Self-Repair & DB Optimisation • Investigated Live-Net Chain Proof consistency issue. • Added self-repair heuristics to bootstrap sequence for Chain Proofs. • Optimized RocksDB random reads and file handle usage. • Added BlobDB support.
Apr 04 2025 Core Stability (Mongoose Revisions) • Further analysis and patching of Mongoose library internals based on Tier 0 issues. • Revised Core C++ integration with Mongoose WebSockets. Validated fixes.
Apr 05 2025 Crash Dump Analysis • Performed post-mortem analysis of Operator-provided crash dumps (1.6.7/1.6.8). • Identified recurring crash during key-chain loading (division-by-zero). • Reconstructed PDB files for 1.6.8 analysis.
Apr 05 2025 Core Arithmetic Hardening • Patched identified division-by-zero issues (BigInt/Integer interactions) in Core CTools, GridScript VM arithmetic operations, Token Pool, Blockchain Explorer API, market/context commands.
Apr 05 2025 Core Audits & Sync Testing • Performed automated arithmetic security audits (Key-Chain, RocksDB, WebServer). • Performed automated audit of GridScript command accessibility. • Tested 1.6.9 sync performance (observed >1600 blocks/min).
Apr 07 2025 LARS Enhancements • Added detailed host info reporting (Network, Hostname, CPU, Mem, NAT) to LARS crash packages. • Developed dummy Core for LARS testing. • Integrated ProcDump fetching/validation into LARS.
Apr 08 2025 LARS Deployment & Crash Analysis • Added LARS deployment to unified GRIDNET OS Installer. • Analyzed suspicious Tier 0 crash dump (memory corruption pattern). • Fixed net -connections issue under high load. Tested LARS auto-update.