The State of Sia, August 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
client
type. (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.
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.