Building decentralized apps

Overview and guides for getting started building decentralized applications.

Introduction

Prefer to jump right in? Get started with this tutorial where you’ll create a decentralized to-do list app.

Graphic for: Building a Todo app
Building a Todo app
tutorial
Learn how to integrate authentication and data storage.

What are decentralized apps?

Decentralized apps are apps that don’t depend on a centralized platform, server or database. Instead, they use a decentralized network, built on the Stacks blockchain, for authentication, data storage, and backend logic. Just like Bitcoin, a decentralized network of applications is accessible to anyone and not controlled by any central authority.

To learn more about the Blockstack network and decentralization, read the Blockstack overview.

User-owned data

Data is stored with the user and encrypted with a key that only they own. Developers aren’t responsible for, or have to host, their users’ data. This protects users against security breaches and keeps their data private.

Smart contracts

Decentralized apps can use smart contracts to make their backend logic public, open, and permissionless. Once published on the blockchain, no one really owns or controls a smart contract. They will execute when the terms are met, regardless of who interacts with it.

Compatible and extendable

Decentralized apps are compatible by nature because they use the same data and shared state. You can build on top of other apps without requiring permission or fear of being shut out.

Getting started

To build your decentralized app, you’ll use authentication, data storage, data indexing (optional), and smart contracts (optional). Get started with the documentation and tutorials below.

Authentication and data storage

Like a regular app, yours will require user authentication and data storage — but decentralized. Get started with the documentation below or try the tutorial.

Graphic for: Authentication
Authentication
Blockstack Auth provides single sign on and authentication without third parties or remote servers.
Graphic for: A decentralized storage architecture
A decentralized storage architecture
Storing user data with Blockstack
Graphic for: Building a Todo app
Building a Todo app
tutorial
Learn how to integrate authentication and data storage.

Data indexing

If you need to store and index data shared by multiple users, such as messages or a shared document, read the Radiks documentation.

Graphic for: Indexing overview
Indexing overview
Using Radiks you can build multi-player apps that index, store, and query user data.

Smart contracts

You can use smart contracts to decentralize your app’s backend logic, making it open and permissionless. Smart contracts on Blockstack are written in the Clarity language. View the smart contracts documentation or get started with a tutorial.

Graphic for: Write smart contracts
Write smart contracts
Overview and guides for getting started with Clarity
Graphic for: Hello, World!
Hello, World!
Learn the basics of Clarity and write a simple Hello World smart contract.
Graphic for: Counter tutorial
Counter tutorial
tutorial
Learn how to write a simple smart contract in the Clarity language.

Connect

Connect is a JavaScript library developed by Blockstack PBC that makes it easy to integrate authentication, data storage and smart contracts functionality in a user-friendly way.

Graphic for: Blockstack Connect
Blockstack Connect
Learn what Connect is and how to integrate it into an app.