Polkadot: Deploy a Polkadot dApp on Decentralized Storage

Learn how to deploy a Polkadot dApp on decentralized storage.

What is Polkadot?

Polkadot is a blockchain protocol that unites different networks of purpose-built blockchains together, enabling them to integrate seamlessly. Polkadot allows different blockchain networks to exchange data, unlocking a wide variety of possibilities for decentralized applications in fields such as web decentralization, finance, asset management, and identity management. Polkadot’s unique design provides solid advantages such as cross-chain composability, upgradeability, and scalability, over other blockchain networks.

What is Substrate?

Substrate is a multi-chain blockchain framework that is designed specifically to connect and integrate with Polkadot, allowing Polkadot to access a system of parallel transactions and other cross-chain transactions and data transfers.

In this tutorial, we’ll build a Polkadot decentralized application using a template built with Substrate, that is stored and deployed on a mounted Filebase bucket.

Read below to learn how to deploy a Polkadot dApp on decentralized storage.


1. First, we need a Filebase IPFS bucket.

To do this, navigate to console.filebase.com. If you don’t have an account already, sign up, then log in.

2. Select ‘Buckets’ from the left side bar menu, or navigate to console.filebase.com/buckets.

Select ‘Create Bucket’ in the top right corner to create a new bucket.

3. Enter a bucket name and choose the IPFS storage network to create the bucket.

Bucket names must be unique across all Filebase users, be between 3 and 63 characters long, and can contain only lowercase characters, numbers, and dashes.

4. Next, download and install S3FS-FUSE on a Linux or macOS system.

5. Set up an Access Key file for use with S3FS-FUSE.

Set up a credentials file for S3FS at ${HOME}/.passwd-s3fs. You will need to save your Filebase Access and Secret keys to this file and give it owner permissions. You can do so with the following commands:


chmod 600 ${HOME}/.passwd-s3fs

ACCESS_KEY_ID is your Filebase Access key, and SECRET_ACCESS_KEY is your Filebase Secret key. For more information on Filebase access keys, see here.

6. Mount your bucket.

You can mount a Filebase IPFS bucket with the command:

s3fs mybucket /path/to/mountpoint -o passwd_file=${HOME}/.passwd-s3fs -o url=https://s3.filebase.com

  • mybucket: name of your Filebase bucket

  • /path/to/mountpoint

7. Now, navigate into the mounted Filebase bucket.

cd /path/to/mounted/bucket

8. Next, git clone the Polkadot Substrate template:

git clone https://github.com/substrate-developer-hub/substrate-node-template

9. Update Rust and add the Nightly toolchain to integrate Nightly into Rust:

rustup update nightly

rustup target add wasm32-unknown-unknown --toolchain nightly

10. Navigate into the substrate-node-template directory.

cd substrate-node-template

git checkout latest

This repository contains Rust files that you can modify as per the customizations or features that you need for your app.

11. Then compile and run the node template:

cargo build --release

12. After compilation has completed, your app will be running in the terminal.

Open a new terminal window, then download the front-end template for the dApp:

git clone https://github.com/substrate-developer-hub/substrate-front-end-template

13. Navigate into this directory and install the packages:

yarn install

14. Then start the app:

yarn start

If you have any questions, please join our Discord server, or send us an email at hello@filebase.com

Last updated