The State of Sia, May 2024

Skunk_Ink
The Sia Blog
Published in
6 min readMay 22, 2024

Welcome to the May edition of the State of Sia. This past month, our development team has made significant strides in enhancing the stability, functionality, and user experience across various components of the Sia ecosystem.

Key updates include several improvements to renterd, such as bug fixes that ensure more reliable data storage and retrieval. For instance, issues with partial slab uploads and contract renewals during uploads have been addressed, resulting in a more robust storage solution. Additionally, the API has been enhanced to provide more detailed host information, including the amount of data stored on each host, and alert management has been refined to reduce unnecessary notifications.

The coreutils module saw crucial bug fixes that improved stability, including resolving a panic when calculating total inflow and fixing a race condition in block mining. In walletd, database integrity has been improved by removing the chain_indices table, and various UI enhancements have been made to provide a clearer and more user-friendly experience.

Our development efforts also focused on enhancing the user interface and experience. The configuration settings in renterd now include a minimum protocol version option and offer more intuitive recommendations for optimal settings. The renterd and walletd SDKs have been improved to work seamlessly across different environments, including browser and Node.js. Additionally, the desktop app now supports auto-updates, ensuring users always have the latest features and fixes effortlessly.

In April, we proudly sponsored the MIT Bitcoin Expo 2024, showcasing our commitment to community building and engaging with industry leaders and innovators. Looking ahead to the end of May, we are excited to be attending Consensus 2024 in Austin, Texas, where we will be operating a booth and looking to continue building connections within the industry. Later this year, in September, we will be attending Mainnet 2024 in New York, providing another excellent opportunity to connect with the community, share our progress, and explore new collaborations.

Our Grants Program has also seen exciting developments. The Sia-Indexer project, aimed at creating an easy-to-access data explorer platform similar to the deprecated Siastats, has been approved, enhancing data visibility and interaction for users and developers. Additionally, the S5 Ecosystem and Vup Chat project will help extend the functionality of the S5 ecosystem, building on the exceptional work already done by Redsolver. These grants underscore our commitment to supporting innovative projects that enhance the Sia ecosystem’s usability and reliability.

Development Updates

All public repositories can be found here.

renterd

renterd is our new stand-alone renter. The renterd repository is currently public and can be found here, and the v1 app is available on the Sia website.

  • Fixed a bug where partial slabs would only upload once we had enough of them to reach the max buffer size. (View)
  • Allow for downloading from hosts that are gouging as long as they aren’t upload gouging. (View)
  • API responses containing host information contain a storedData field now indicating how much data is stored on a host. (View)
  • Don’t register alerts for failed contract renewals. (View)
  • Fixed a bug in the config evaluation endpoint. (View)
  • Fixed a bug where sectors uploaded to renewed contracts during the upload would not persist. (View)
  • Fixed NDFs in our unit tests, which were mostly caused by pruning slabs asynchronously instead of synchronously. (View)
  • Small CI improvement to speed up our builds. (View)
  • Add threshold to lost sectors alert. (View)
  • Migrated renterd to coreutils type. (View)
  • Fix host sorting on uploads, properly deprioritizing bad hosts, leading to faster uploads. (View)

renterd ui

This is a small collection of monthly changes. A full, detailed changelog can be found here.

  • The configuration now includes the min protocol version option, the value defaults to 1.6.0 when using simple configuration mode. (View)
  • The renterd-js SDK object upload and download now work both in the browser and nodejs. (View)
  • Added dedicated methods to renterd SDKs for each known bus setting, in addition to the generic setting method.
  • Fixed an issue where the daemon would panic while reading the embedded UI files on Windows. (View)
  • Configuration settings that the user has not modified will be kept in sync with remote values that change. (View)
  • The configuration page now recommends specific changes to settings to match with more hosts. (View)
  • Fixed an issue where file health slab keys were showing up as repeated and incorrect. (View)
  • Fixed a bug where hovering over the max storage or upload price tooltips would crash the app. (View)
  • Fixed an issue where the recommendations bar was overlapping notifications. (View)
  • Fixed an issue where clearing some configuration fields would crash the app due to how recommendations were being calculated. (View)
  • The configuration recommendations now instruct the user to first fill in all fields. (View)

hostd

hostd is the app you use to rent out your excess storage space to the Sia network. The hostd repository is public, with the v1 app available on the Sia website.

  • Remove renterd dependency. (View)

hostd ui

This is a small collection of monthly changes. A full, detailed changelog can be found here.

  • Fixed an issue where volume resize and delete dialogs were not loading the volumes data. (View)
  • Fixed an issue where the daemon would panic while reading the embedded UI files on Windows. (View)
  • Configuration settings that the user has not modified will be kept in sync with remote values that change. (View)

walletd

walletd is our brand new wallet-only software. Find the public repository here.

  • Remove chain_indices table to get rid of CASCADE deletes. (View)

walletd ui

This is a small collection of monthly changes. A full, detailed changelog can be found here.

  • The profile details now include uptime and version. (View)
  • Added a receive button in addition to the addresses button to make send/receive options more clear. (View)
  • There is now a dedicated rescan dialog that can be opened from the wallet list and wallet context menus. (View)
  • Address generation and addition dialogs now have the option to rescan from a specified height. (View)
  • Rescan progress and status, including errors, are now shown in a sticky status bar. (View)
  • Updated wallet events to include maturityHeight and renamed val to data. (View)
  • The events list now shows the maturity height, transactions that have not reached this height are shown as locked. (View)

coreutils

coreutils is a newly created repository meant to hold implementations of Sia components that will be reused across our various nodes. The full repository is public and can be found here.

  • Fixed a small bug in applyChainState that led to a panic when calculating the total inflow (View)
  • Fixed a small race when mining blocks (View)

explored

The explored repository is a private repository currently under development.

  • Refactoring to reuse more code/ideas from walletd. (View)
  • Encode revision number as uint64. (View)
  • Store miner fees, transaction signatures, and storage proofs. (View)
  • Add events endpoint. (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

--

--