This document lists frequently-asked questions developers about Blockstack application development. If you are new to Blockstack, you should read the general questions first.
For more technical FAQs about Blockstack Core nodes, the Stacks blockchain, and other architectural elements, see the entire set of technical FAQs.
- Who should build with the Blockstack Platform?
- I’m a web developer. Can I build on the Blockstack Platform?
- I’m a non-web developer. Can I build on Blockstack Platform?
- How do I get started using Blockstack to build decentralized applications?
- What’s the difference between a web app and a Blockstack app?
- Do I need to learn any new languages or frameworks?
- What is the general architecture of the Blockstack Platform?
- What is a “serverless” app?
- How does my web app interact with Blockstack?
- What does blockstack.js do?
- How do I use blockstack.js?
- How do I register Blockstack IDs?
- How can I look up names and profiles?
- What kind of scalability and performance can I expect from applications built with Blockstack?
- Is there a limit to the file sizes I can store in a Gaia Storage System
- Can I run a Gaia Storage System commercially?
- Is the platform private or open sourced?
- What programming language can I use to build these apps?
- How is Blockstack different from Ethereum for building decentralized apps?
- Can Blockstack applications interact with Bitcoin? Ethereum? Other blockchains?
- How old is the Blockstack project?
- What is the current development roadmap look like?
- Where are the current core developers based? What are the requirements for being a core developer?
- I heard some companies working on Blockstack have raised venture capital, how does that impact the project?
Who should build with the Blockstack Platform?
I’m a web developer. Can I build on the Blockstack Platform?
Yes! Blockstack is geared primarily towards web developers. All of your existing knowledge is immediately applicable to Blockstack. Anything you can do in a web browser, you can do in a Blockstack app.
I’m a non-web developer. Can I build on Blockstack Platform?
How do I get started using Blockstack to build decentralized applications?
The Zero-to-Dapp Tutorial is the best place to learn to build with Blockstack. The tutorial takes you through key aspects of building with Blockstack and takes less than 60 minutes. If you want something short and sweet, we have a Hello World that takes about 10 minutes. In the end, you’ll have a working demo and even get a free limited edition t-shirt!
What’s the difference between a web app and a Blockstack app?
Blockstack apps are built like single-page web apps — they are, in fact, a type of web application.
Blockstack apps are a subset of web applications that use Blockstack’s technology to preserve the user’s control over their identities and data. As such, they tend to be simple in design and operation, since in many cases they don’t have to host anything besides the application’s assets.
Do I need to learn any new languages or frameworks?
What is the general architecture of the Blockstack Platform?
Applications built with Blockstack are serverless and decentralized. Developers don’t have to worry about running servers, maintaining databases, or building out user management systems.
Under the hood, Blockstack provides a decentralized domain name system, the Blockstack Naming System (BNS). BNS is a decentralized public key distribution system and registry for apps and user identities.
What is a “serverless” app?
The application should not run application-specific functionality on a server. All of its functionality should run on end-points. Serverless can also mean applications where the application developer still writes some amount of server-side logic, but unlike traditional architectures, this logic is run in stateless compute containers that are event-triggered and ephemeral (may only last for one invocation).
However, applications may use some servers with the caveat that they must not be part of the application’s trusted computing base. The Gaia Storage System is part of most DApps’ computing base, but because user data is signed and verified end-to-end, the storage systems are not trusted to always serve correct data.
How does my web app interact with Blockstack?
What does blockstack.js do?
This is the reference client implementation for Blockstack. You use it in your web app to do the following:
- Authenticate users
- Load and store user data
- Reuse users’ public data in your application
How do I use blockstack.js?
Our documentation has several examples you can use to get started.
How do I register Blockstack IDs?
You should use the Blockstack Browser.
How can I look up names and profiles?
What kind of scalability and performance can I expect from applications built with Blockstack?
Blockstack uses the blockchain only for name registration. Data storage is kept off-chain in the Gaia Storage System. This basic application architecture means any application can perform and scale as they do without a blockchain.
Is there a limit to the file sizes I can store in a Gaia Storage System
The file size limit is 25 MB per file.
Can I run a Gaia Storage System commercially?
Yes, you can. Anyone interested in running a Gaia Storage System can run one and make it available to users.
Is the platform private or open sourced?
The project is open-source, and anyone can contribute! The major contributors are mostly employees of Blockstack PBC. You can see the full list of contributors here: https://github.com/blockstack/blockstack-core/graphs/contributors
What programming language can I use to build these apps?
How is Blockstack different from Ethereum for building decentralized apps?
You can think of Ethereum as a “heavy” blockchain that does everything for you. All the complexity is handled on-chain, computations are run there, and all scalability and security concerns must be handled at the blockchain level. Ethereum amounts to a “mainframe” that runs all the applications in the ecosystem.
Blockstack puts minimal logic into a blockchain and handles scalability outside of the blockchain by re-using existing internet infrastructure. Our architectural design mirrors how computing has developed; moving from mainframes to smaller networked entities.
Can Blockstack applications interact with Bitcoin? Ethereum? Other blockchains?
How old is the Blockstack project?
Work on the project started in late 2013. First public commits on the code are from Jan 2014. The first registrar for Blockstack was launched in March 2014, and the project has been growing since then.
What is the current development roadmap look like?
See this page for the current development roadmap.
Where are the current core developers based? What are the requirements for being a core developer?
Our core developers work in various cities, New York City, Seattle, Toronto, Chicago, Minneapolis, NYC, San Francisco Bay Area, Barcelona, and the Netherlands . Developers who’ve contributed to the core open-source software over a long enough period, by default, get included in the list of core developers. There is no formal process for being part of this informal list. Core developers, generally, can write high-quality code, understand distributed systems and applied crypto, and share a vision of building a genuinely decentralized internet and are dedicated to that cause.
I heard some companies working on Blockstack have raised venture capital, how does that impact the project?
Blockstack, like Linux, is an open-source project with a Linux GPLv2 license for the core technology. Just like different companies build apps and services on top of Linux and have different individual business models, some companies are building apps & services for Blockstack on top of the core open-source technology, and these companies have various business models and funding sources respectively. Having more venture-backed companies join the ecosystem for a decentralized internet is a good thing for everyone participating in the ecosystem including users and developers.