The State of Sia, October 2023

Steve
The Sia Blog
Published in
6 min readOct 11, 2023

--

We’re back with the State of Sia, a monthly installment looking at development and team updates for The Sia Foundation.

The Foundation is heading into the last quarter of 2023 with a larger team, more active grants, and a heck of a lot of progress on our app suite. We’re making a push to get significant work done before the holiday lull, and part of that involves the first full-team get together the Foundation has ever had. Remote work is great, but occasional face time can go a long way. The in-person meetings to sync up on initiatives and lay out the path forward will be important for the team.

Beyond that, we’re doing big things with renterd, hostd, and walletd as they progress towards v1 releases.

There’s a new face getting ready to join the team as well, and we’ll have more to report on that next month. It’s a Technical Writer role that will have a lot to say, and importantly will get our content calendar filled up with engaging content to help spread the Sia word.

Finally, we just published the October Community Town Hall for those that missed.

Development

All public repos can be found here.

renterd

renterd will be our new stand-alone renter. The renterd repo is currently public and can be found here, and the app is available in beta.

A common theme for the month was S3 and integrity checks. The S3 related PRs lay the groundworks for caching related features that we hope to add soon.

  • S3 | pagination (Link)
  • S3 | ETag (Link)
  • S3 | ModTime (Link)
  • S3 | MimeType (Link)
  • Did some small refactors to our upload code (Link), (Link)
  • health fixes (Link)
  • buffer setting for upload packing (Link)

The new repo contains a tool that runs integrity checks in production. It essentially manages a data set of ~100GiB using renterd and continuously uploads data, which it then downloads to verify its integrity and whether it's still healthy/accessible on the network.

  • Fixed a bug where uploads fail due to slab buffers being missing from disk (Link)
  • Improved performance of recomputing the health of slabs (Link)
  • Sped up periodic broadcasting of contract revisions (Link)
  • Added persistence for registered webhooks (Link)
  • Optimise upload packing (Link)
  • Basic S3 support (Link)
  • Support for buckets (Link)
  • Endpoint for copying objects (Link)
  • Support for S3 v4 Signature authentication (Link)
  • Support for multipart uploads (Link)
  • Support for making bucket readable without authentication through S3 API (Link)

renterd ui

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

  • Initiated an already active upload or download now shows an error (Link)
  • Alerts can now be filtered and dismissed by type (Link)
  • The not enough active contracts warning no longer flickers (Link)
  • The files feature now supports buckets (Link)
  • File uploads and downloads can now be canceled from the transfers bar (Link)
  • The alert dialog now has a fixed height, so it stays in the same position when an alert is dismissed (Link)
  • Fixed an issue with file transfer progress reporting (Link)
  • Fixed an issue with the alert dismiss button overflowing (Link)

hostd

hostd is the app you’ll be using to rent out your excess storage space to the Sia network. The hostd repo is public, with a beta out now.

  • Improved performance of sector cleanup when contracts expire (Link)
  • Added revenue metrics to track potential and earned revenue from all sources over time (Link)
  • Added cancellation for long-running volume operations. Enables users to cancel in-progress create, resize, and delete operations. (Link)
  • Added release signing for Windows to satisfy Smart Screen to prevent Windows defender from flagging releases (Link)
  • Added active session tracking and event reporting to track active RPC sessions (Link)

hostd ui

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

  • The volume status icon now shows in progress operations more clearly (Link)
  • The contracts table now has a column for “remaining renter funds” (Link)
  • Alerts can now be filtered and dismissed by type (Link)
  • The alert dialog now has a fixed height, so it stays in the same position when an alert is dismissed (Link)
  • In-progress volume operations can now be canceled from the volume context menu (Link)
  • Bandwidth metrics are no longer broken out by protocol (Link)
  • Volume operations are now disabled when one is already in progress (Link)
  • The node block height now shows the estimated network height when syncing (Link)
  • Fixed an issue with the alert dismiss button overflowing (Link)

walletd

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

  • Updated walletd to fully support v2 consensus, including the gateway and txpool (Link)

walletd ui

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

  • Wallet seeds now get cached after an address is successfully generated (Link)
  • Ledger and seed wallets should now use the correct fee when sending transactions with or without the include fee option (Link)
  • walletd now supports Ledger-based wallets (Link)
  • Ledger wallets now support generating a specific address or a range of addresses via Ledger device (Link)
  • Outputs are now properly released when a transaction fails during signing or broadcast (Link)
  • The GPU setting now displays the correct device support text (Link)
  • Fixed an issue with the syncing status staying at 99% (Link)
  • Addresses can now be deleted from the context menu (Link)
  • Both ledger and seed wallets now save public keys in address metadata, this is especially important to streamline Ledger signing (Link)
  • Support for connecting Ledger devices over USB, HID or Bluetooth depending on browser support (Link)

core

The core repo is public and can be found here.

  • Wrote some validation tests for the new v2 consensus code. Also found a bug in the core gateway code when testing the p2p stuff in core. Goal is to get coverage of consensus code to 100%. Will be pushing stuff here over next few days (Link)
  • Added native support for HTLC atomic swaps in v2 consensus (Link)
  • Implemented the v2 gateway protocol, allowing peers to send v2 blocks and transactions to each other (Link)

Other

gofakes3: ETag (Link)

renterd-integrity: (Link)

Looking ahead

hostd

  • Finish the siad migration utility
  • Performance and bug fixes
  • Stable release

renterd

  • Continue building out the integrity checks, ensuring we get notified when it detects files being corrupted or no longer being accessible
  • We’ll try and dig in again and improve contract churn (so the % churn goes down)
  • Support for public buckets via S3 API
  • Improvements related to S3 API
  • Preparations for v1.0 release

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

Steve

--

--