Introducing cloud storage in the blockchain with Sia and Nextcloud

Post date

April 11, 2017

Author

Jos Poortvliet


Sia is a blockchain-based, decentralized cloud storage technology. Think Bitcoin for your data, providing an encrypted, distributed and affordable storage. Sia developed a Nextcloud external storage app providing its redundant and secure data store to Nextcloud users. Learn more in about this exciting technology in their excellent FAQ. In this blog we will walk through the steps required to integrate Sia in Nextcloud.

Setting up a Sia Node

Running Nextcloud with Sia requires running a full Sia node. This guide will walk you through the process of setting one up on your Nextcloud server, and assumes basic linux system administration knowledge.

Download the latest Sia release that supports Nextcloud, v1.1.2, available from Github. Unpack the release to your preferred installation directory, and start up a node by running siad. You may want to set up siad as a service on your server.

Once you have started a siad instance, you should allow the blockchain to fully synchronize. This can take a fair bit of time, you can view the progress by running siac, the other binary packaged in the release.

After the blockchain has fully synced, create a new wallet by running siac wallet init. Make sure you keep the seed that is displayed after this command executes safe, it’s the passphrase you will use to unlock your wallet and can also be used to recover your wallet if you lose your data. Now that you’ve initialized a wallet, run siac wallet unlock and provide your seed to unlock your wallet.
Now, you’ll want to acquire some Siacoin (SC). The usual process for this is to first get Bitcoin, then use an exchange (Yunbi, Poloniex, Shapeshift.io, and Bitsquare all have Siacoin) to convert from BTC to SC. Once you’ve done this, use siac wallet address to get an address you can receive coins on, and send your SC from your exchange to that address.
The final step is to set an allowance. A Sia allowance is a recurring amount that you allocate to file storage, download, and upload. You can use the siac renter setallowance command to set your allowance. It takes two parameters, amount and period, where amount is the amount of SC you will be setting aside and the period is the duration of the allowance, in blocks. We use 12960 in Sia-UI, which amounts to roughly 3 months. The allowance will automatically renew halfway through the period. After you set your allowance, you’re ready to install the Sia Nextcloud app and start uploading and downloading from the Nextcloud interface.

Setting up your Nextcloud installation

First, you’ll need to enable external storage on your Nextcloud installation, if you haven’t done so already. Nextcloud provides some good docs on how to do that here. After you’ve enabled external storages, you’ll need to install the Sia external storage app, available here. After you’ve installed the Sia app, add a new external storage from the external storage app. From the dropdown, select Sia. In the ‘API Address’ field, input the default api address, localhost:9980. After doing so, you should see the status indicator turn to green, indicating that you’re ready to start uploading files to Sia.

Conclusion

For Nextcloud users, the Sia/Nextcloud integration provides a unique way to expand their storage through an encrypted, distributed, redundant and global storage technology. Sia is fully open source and its blockchain foundations provide an impressive cost saving compared to Amazon, Google and other public clouds. It is great to see such innovative technology integrate into Nextcloud!

Sia is developing an exciting technology and the team welcomes you to check out their source code, report bugs, or request features for the Sia Nextcloud app in their github repo..

Start the discussion at the
Nextcloud forums

Go to Forums