Polkadot is a networking protocol that reduces development time for blockchain developers. Launching and securing a new blockchain used to take years. With Polkadot it will take weeks or maybe even days.

This guide will walk you through the steps you can take today to get started building your vision with Polkadot. It will explain the difference between a parachain and a smart contract (and why one may be better suited for your application over the other). It will lay out the resources that are available now and the ones that are coming soon so that you can get started creating your application in anticipation of the Polkadot mainnet launch later this year.

Where are we now?

For a full introduction to Polkadot and Substrate I strongly urge you to read this article, which gives an up-to-date overview on these two technologies.

What you need to know: Polkadot is currently on the PoC-4 release with a running testnet named Alexander. This testnet has been live for 3 months through the entire PoC-3 release cycle. The PoC-4 release happened earlier this week and brought some new features. Polkadot is being built on Substrate, a blockchain development framework. Substrate can be employed by developers to create their own custom state transitions for their own chains. Substrate is nearing the first 1.0 stable release, which will settle its API.

In summary, there hasn’t been a better time to get started preparing for Polkadot’s release. Before you jump into the code, you should understand the different paradigms that will be offered to developers interested in building on Polkadot.

What is the difference between building a parachain and a smart contract?

Polkadot provides two ways for you to deploy your application: as a smart contract on an existing parachain, or as your own parachain. There are trade-offs when working with either one of these and reading this section will help you understand them.

Parachains are individual chains containing their own runtime logic that benefit from the shared security and the interchain messaging provided by the Polkadot relay chain. Parachains permit a high degree of flexibility and customization but will require more effort to create.

On the Polkadot mainnet, there will be one or more parachains that act as smart contract platforms. Smart contracts are executable programs that exist on only a single chain and are limited in complexity. Because they exist on a single chain, they have smooth interoperability with other smart contracts. However, they will always be constrained and limited by the inherent characteristics of their host chain.

If there is a need to have a large amount of control over the design and features of your application, a parachain is a better choice. Keep in mind, smart contracts can be used as a testing ground before later being turned into full-fledged parachains. Smart contract platforms will usually have more convenient tooling like IDEs to facilitate quick iterations. A smart contract MVP could be created to gauge user interest before putting in the fuller work to build out a parachain.

Parachains will grant the creators more space to build the monetary system of the chain from the ground up. They will allow for more succinct and efficient execution of complex logic than could ever be offered by a smart contract platform. Parachains also offer more in the form of governance and can perform complete upgrades in a less controversial way than the current process of hard-forks.

Some examples of features you can have on a parachain:

Custom fee structure (for example, pay a flat fee for transactions or pay by byte)

Custom inflation policy for the native token

Treasury to be funded through transitions in your state function

A governance mechanism that could manage a DAO that is responsible for allocating your on-chain treasury

Parachains are connected to the relay chain, while smart contracts will exist inside a parachains runtime.

Parachains open possibilities to construct complex runtimes that would be too expensive to execute with smart contracts. Parachains in comparison lack a gas metering system entirely and could potentially be vulnerable to bugs that cause infinite loops (something that is prevented in smart contracts).

You may also decided to harness a combination of parachain and smart contract. If you have certain logic that requires loops and it cannot be removed, use the native parachain runtime to handle all complex logic and the smart contract to call iteration.

Most likely you’ve already realized that your application is better suited to be one or the other (or a hybrid of the two), but if you need a quick recap to digest the information, you can use this comparison chart as a cheat sheet: