Fizz Node & Gateway Improvements, Provider & CLI Enhancements, Smart Contract Optimizations, Console App & Provider App Updates

We are excited to share the latest updates and improvements to the Spheron Protocol, which powers our compute infrastructure and deployments. These updates span the Gateway, Fizz Client, Provider & CLI, Fizz Node App UI, Console App, and Provider Resource Utilization, bringing you improved efficiency, new features, and a more seamless experience.

Gateway Improvements

  • Inventory Management: We’ve added inventory management and resource reservation capabilities, allowing gateway to manage and allocate compute resources for Fizz nodes effectively.

  • Pricing & Region Logic: Deployment logic now considers both pricing and region to ensure deployments are optimally assigned to Fizz nodes, enhancing cost-efficiency and performance.

  • Authorization Layer: A new authorization layer has been added to the Fizz-Gateway connection, enhancing the security of interactions between users and Fizz clients.

Fizz Client Improvements

  • GPU Support: Fizz nodes now support GPU leasing for compute-intensive tasks, but this feature is currently available only on Linux-based systems.

  • Automatic Reconnection: Fizz nodes will now automatically reconnect after waking from system sleep, ensuring deployments can continue without disruption.

  • System Information Display: When setting up Fizz nodes, users will now see their system’s available GPU, CPU, RAM, and storage, allowing for better resource management.

  • Port Conservation: The system now tracks and conserves ports allocated to Fizz nodes, enabling them to reconnect using the same ports and maintain consistent deployment URLs.

Provider & CLI Enhancements

  • Fizz Node Logs & Details: We’ve fixed issues related to fetching Fizz node details and deployment logs, ensuring users can now access accurate and real-time information.

  • Token Field Update: The denom field in YAML has been updated to token. Supported values remain USDT, USDC, WETH, and DAI.

  • Simplified Token Pricing: Users no longer need to account for token precision. For example, you can input `5` instead of `5000000` for USDT, simplifying pricing input for all supported tokens.

Fizz Node App UI Updates

  • macOS CPU Selection: Fizz nodes running on macOS can now select the Apple chipsets they are using (e.g., M1, M2, M1 Ultra) during the node registration process.

  • Resource Requirements: We’ve added minimum and maximum resource requirements for Fizz nodes:

    • CPU: 4 to 32 cores

    • RAM: 8 GB to 128 GB

    • Storage: 100 GB to 2000 GB

  • Auto-generated Node Names: To streamline registration, each Fizz node will now be assigned a unique, auto-generated name, removing the need for users to input one manually.

  • Dashboard Fixes: Fixed issues with displaying the correct number of active leases, total leases, and compute hours on the Fizz Node Dashboard.

  • Performance Enhancements: We’ve optimized the Fizz Node Dashboard for faster load times and smoother navigation.

Smart Contract Optimizations

  • Gas Reduction: Achieved a 30% reduction in gas usage and costs through extensive contract optimization.

  • Registry Contracts: Moved name and region fields into the spec in both FizzRegistry and ProviderRegistry for more efficient data storage.

  • OrderRequest: Removed uptime and metrics fields to minimize unnecessary data processing.

  • Bid Management: Replaced the matched boolean with the BidState enum for better state management and reduced gas consumption.

  • Reward Management: Separated reward contracts for providers and Fizz, enhancing modularity and further reducing gas costs.

  • Access Control: Introduced the AccessControlManager contract to centralize access control, now extending to all contracts for consistent permission management.

  • General Optimization: Streamlined parameters and variables across contracts, merging unnecessary elements to further lower gas usage.

Console App Fixes

  • Enhanced UX for Lease Details: We improved the user experience by simplifying the process of signing messages to retrieve lease details and logs.

  • Persistent Deployment Shell Connections: Fixed issues where connections to deployment service shells were not persistent, ensuring reliable access.

  • Multi-Service ICL YAML Support: Added support for handling multi-service ICL (Infrastructure Composition Language) YAML configurations.

  • Balance & Compute Usage: Fixed issues with user balance and compute usage not refreshing properly, ensuring accurate and up-to-date information.

Resource Utilization on Provider App

The UI now displays both total and utilized resources provided by each provider, including detailed metrics for GPU, CPU, RAM, and storage, helping providers better track their resource allocations.