The Sia Blog

The Sia Foundation blog, where we explore the forefront of web3 and decentralized storage. Dive into Sia’s engineering, updates on the ecosystem, and community stories. Join us in shaping the future of digital storage.

Follow publication

The State of Sia, August 2024

Skunk_Ink
The Sia Blog
Published in
9 min readSep 11, 2024

August marked significant progress across various areas of the Sia ecosystem. The ongoing efforts to refine core components, introduce new features, and resolve bugs have improved the platform’s functionality and stability. Here’s an overview of the developments that took place.

Development Progress

This monthhostd saw continued testing and improvements, particularly in regard to the replacement of the siad module and further implementation of the rhp4 protocol. These enhancements aim to ensure a more stable and scalable hosting experience for users of the Sia network and lay the foundation for the upcoming V2 hardfork.

On the renterd side, several updates were implemented to enhance user experience and operational efficiency. Migration alerts were improved to display progress more clearly, and the unhealthy slabs query was updated to provide more accurate results. A new --network CLI flag was added to simplify switching between networks, and pinning settings for pricing now come with default values. The codebase saw further refinement with the isolation of both rhp2 and rhp3 into their respective client modules. Notably, the /wallet/redistribute endpoint is now ready for V2, bringing additional functionality to the Sia ecosystem’s financial components. Bug fixes also featured prominently in the renterd updates, addressing issues like hidden directories and the incorrect handling of placeholder files. This ensures smoother file operations and better directory management for end users.

Several updates were also made to the renterd UI, focusing on improving user interactions. Price pinning is now fully integrated, offering more flexibility for users to set allowances based on pinned values, such as fiat currencies. The file explorer was also enhanced to show newly created directories immediately, making file management more intuitive and responsive. The UI has also received updates related to the new network naming scheme and integration with the Anagami testnet. These changes help users better navigate the network and ensure compatibility with evolving features. Bug fixes, such as addressing pricing configuration crashes, improving max RPC price handling, and enhancing the user experience.

Work on core-rs introduced deserialization capabilities for transaction types and focused on testing signature verifications to ensure the accuracy and reliability of V1 transaction signing and verification processes. This sets the stage for a more robust handling of transactions on the network. Additionally, improvements in coreutils fixed issues with transaction pooling and syncer behavior, enhancing the operational stability of the network’s core utilities. Exposing parameters for the Anagami testnet also increased flexibility for developers and testers working with different network configurations.

Improvements to explored included further enhancements to host scanning, API functionality, and multithreaded scanning capabilities. These improvements bolster the platform’s ability to handle network information efficiently and provide more comprehensive data for users and developers.

Updates were made to the Sia website, fixing broken download links and removing deprecated elements like the siad component. These changes ensure that the site remains up-to-date and provides accurate information for users. New engineering documentation was also published to help developers set up Sia software locally using Docker, further simplifying the development process.

Grants Program Update

August also saw notable developments in Sia’s Grants Program, with several projects reaching important milestones.

DartSia

The DartSia mobile app made significant progress, with core features such as login, network overview, and host research completed. Users can now access real-time network data, manage hosts, and perform essential file operations directly through the app. Although some features, such as active host notifications and file sharing, were delayed due to resource constraints, phase 2 development is set to address these in the coming months. App publication on Google Play and Apple Play is expected soon, alongside planned improvements in UI/UX and file encryption.

DeCast

DeCast reached a major milestone by publishing its decentralized event management extension on Chrome and Firefox. The project has entered the testing phase, focusing on continuous user feedback to improve performance. Plans for a webinar to discuss Sia’s integration and promote DeCast are underway. Visibility and user engagement are expected to grow as the project evolves.

HTLC Upgrade / Atomic Swaps

The integration of Hash Time-Locked Contracts (HTLC) for atomic swaps saw significant progress. Sia Rust now operates as a standalone `walletd` client, with support integrated into Komodo’s AtomicDEX protocol. A public testnet has been established, and a demo showcasing the integration is forthcoming. This upgrade significantly expands Sia’s capabilities, enabling decentralized atomic swaps with other blockchain networks.

Lume Web

This project has made headway in its web app, focusing on IPFS integration and billing management. More testing is scheduled, and improvements to the user interface and file management system are planned for the near future.

S5 Ecosystem & Vup Chat

August saw continued work on encrypted chat features using S5 libraries and the resolution of various bugs. Progress was slowed due to delays caused by increased network activity, but the team remains on track to release updates and new features.

Sia Learn

The Sia Learn project, aimed at educating developers on integrating with Sia’s infrastructure, released a final set of tutorial videos and articles. These resources are now live and accessible, providing valuable guidance for future Sia developers.

Sia NFS Gateway

Significant improvements were made to metadata caching and the platform’s io_scheduler. Cross-platform testing and error-handling improvements are planned for next month, moving the project closer to its next milestone.

Final Thoughts

August saw steady progress across the Sia ecosystem. From core infrastructure improvements to ongoing development in the Grants Program, the Sia network continues to evolve and mature. With enhancements in user experience, platform stability, and the introduction of new features, Sia is well-positioned to support its growing community and maintain its place as a leader in decentralized storage solutions. As the team moves into September, we expect more improvements and testing to help ensure a smooth transition during the upcoming V2 hardfork that will further enhance Sia’s capabilities.

Changelog

All public repositories can be found here.

renterd

renterd is our advanced Sia renter designed to cater to both casual users seeking straightforward data storage and developers requiring a robust API for building apps on Sia. The renterd repository is public and can be found here.

  • Re-register migration alerts to show progress. (View)
  • Updated the unhealthy slabs query. (View)
  • Populate pinning settings with default values for unpinned autopilots. (View)
  • --network CLI flag for switching networks. (View)
  • Populate price pinning settings returned by API with default values for unpinned fields. (View)
  • No more gorm dependency. (View)
  • Fixed bug hiding directories. (View)
  • Refactor of RHP2 code into a clienttype. (View)
  • RHP2 code was isolated into a client module. (View)
  • Fixed directories that were created by using empty files as a placeholder from being returned twice when queried. (View)
  • Removed MaxRPCPrice from pin settings. (View)
  • RHP3 code was isolated into a client module. (View)
  • /wallet/redistribute is now ready for V2. (View)
  • The worker cache is now aware of new contracts being added to the bus due to a new webhook event. (View)
  • Fixed NDFs. (View: PR 1, PR 2)
  • Improve repository structure. (View: PR 1, PR 2, PR 3)
  • Improve overall 3rd party dev experience. (View)
  • Investigate and improve ephemeral account drift. (View)
  • Improve uploads by slightly extending the submission buffer. (View)
  • Add contract formation endpoint to bus. (View)
  • Add contract pruning endpoint to bus. (View)
  • Add contract renewal endpoint to bus. (View)
  • Record wallet metrics in bus. (View)
  • DNS response caching. (View)

renterd ui

The renterd UI is a part of the web repository that contains user interfaces for the various components of the Sia ecosystem. The repository is public and can be found here.

  • The file explorer now shows new directories right away when uploading nested files. (View)
  • Added support for the new network naming scheme and the anagami testnet. (View)
  • The allowance configuration now includes “Set max prices to fit current allowance” and “Set allowance to fit current max prices” actions and a status indicating whether or not the current prices fit the current allowance. (View)
  • The max RPC price field now shows a network average tip. (View)
  • Allowance, max storage price, max upload price, max download price, and max RPC price fields now support price pinning. The user can pin any of those values to a fiat currency value. (View)
  • The allowance fitting features now work with pinned prices or a mix of pinned and unpinned prices. (View)
  • The configuration system recommendations now support evaluating and setting pinned fields. (View)
  • Each max pricing field that is factored into the allowance now has (when available) a recommendation for matching with more hosts and an option to fit the current allowance. These are available in both non-pinned Siacoin and pinned fiat modes. (View)
  • All tips and recommendations are now displayed according to the app’s currency setting. (View)
  • The configuration has a new section for enabling pinning, selecting the currency, setting the exchange rate endpoint, and the threshold. (View)
  • Fixed an issue where network averages shown on pinned field tips did not follow the currency display preference. (View)
  • Max RPC price is no longer pinnable. (View)
  • Fixed an issue where the UI would set extremely small pinned max price values because it set values per byte instead of TB. (View)
  • Fixed an issue where the price pinning response was crashing the app. (View)
  • Updated the price pinning configuration structure to support multiple autopilots. (View)

hostd

hostd is our advanced Sia host that has been designed to enhance the experience for storage providers within the Sia network. The hostd repository is public and can be found here.

  • Expose storage.ErrSectorNotFound error. (View)
  • Small fix in the AccountStore interface. (View)

hostd ui

The hostd UI is a part of the web repository that contains user interfaces for the various components of the Sia ecosystem. The repository is public and can be found here.

  • Updated hostd app and libraries with V2 changes. (View)
  • The app has been updated to use the new V2 endpoints and data types. (View)
  • Transaction types have been refined to include new V2 derived transaction types. (View)
  • The wallet balance tip now includes an immature balance. (View)
  • Sync status is now determined by whether the last block’s timestamp is within the last 12 hours. (View)
  • The UI now uses the daemon-configured explorer for exchange rates. (View)

walletd ui

The walletd UI is a part of the web repository that contains user interfaces for the various components of the Sia ecosystem. The repository is public and can be found here.

  • Transaction types have been refined to include new V2 derived transaction types. (View)
  • Event and transaction utility methods have been moved to the units library. (View)

explored

The explored repository is currently private and under development.

  • Add API endpoint to retrieve information about outputs: (View)
  • Simplify file contract types: (View)
  • Improved host scanning. (View)
  • Fix transaction ordering issues. (View)
  • Fix retrieving SpentIndex in block transactions. (View)

explorer ui

The explorer UI is a part of the web repository that contains user interfaces for the various components of the Sia ecosystem. The repository is public and can be found here.

  • Fixed a bug in the average fiat storage cost calculation. (View)

core

The core repository contains the Sia consensus and p2p packages, along with foundational types and functions. The repository is public and can be found here.

  • Fix incorrect length used in index calculation in RevertUpdate.ForEachV2FileContractElement: (View)
  • Add V1 apply/revert coverage. (View)
  • Add V2 apply/revert coverage. (View)

core-rs

core-rs is a Rust implementation of core Sia types. The repository is public and can be found here.

  • Deserialize implemented for Transaction type. (View)
  • Testing for signature verification. (View)
  • Added deserialization to our types. (View: PR 1, PR 2, PR 3)

coreutils

coreutils contains implementations of core Sia components, such as a P2P syncing/relay node, database-backed blockchain state manager, single-address wallet, and more. The repository is public and can be found here.

  • Fixed syncer not closing correctly. (View)
  • Fixed FundTransaction not taking into account V2 tpool. (View)
  • Exposed Anagami testnet parameters. (View)

website

The Sia website is a part of the web repository that contains user interfaces for the various components of the Sia ecosystem. The repository is public and can be found here.

  • Fixed the Sia-UI download links. (The old binary/app assets were lost when we migrated servers during the DDoS). (View)
  • Removed the beta badge for the walletd daemon. (View)
  • Removed siad from the website. (View)

That’s all folks!

Thanks for your continued support and dedication as we build the foundation of the decentralized future.

Take care, and see you next month.

Discord, Email

Published in The Sia Blog

The Sia Foundation blog, where we explore the forefront of web3 and decentralized storage. Dive into Sia’s engineering, updates on the ecosystem, and community stories. Join us in shaping the future of digital storage.

Written by Skunk_Ink

Developer Relations/Technical Writer for The Sia Foundation

No responses yet

Write a response