Skip to content

Commit

Permalink
Refactor document names
Browse files Browse the repository at this point in the history
  • Loading branch information
lsaether committed Sep 20, 2019
1 parent 9af92f6 commit 37d21b8
Show file tree
Hide file tree
Showing 78 changed files with 693 additions and 1,477 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Expand Up @@ -63,4 +63,5 @@ typings/
# Emacs backup files
*~

build
build
build-script*
@@ -1,12 +1,12 @@
---
id: polkadot-build-build-with-polkadot
id: build-build-with-polkadot
title: Polkadot Builders Starter's Guide
sidebar_label: Polkadot Builders Starter's Guide
---

_This article is the up-to-date version of the blog post: [Everything you Need to Know to Prepare for Polkadot](https://medium.com/polkadot-network/everything-you-need-to-know-to-prepare-for-polkadot-32d08b929735)._

Polkadot is a blockchain protocol with two goals: providing **shared security** among all connected parachains and allowing all connected chains to **interoperate** through [ICMP](polkadot-learn-interchain). With the advent of [PDKs](polkadot-build-pdk) like Parity Substrate and Cumulus, the time it takes to develop and launch a new chain has dropped significantly. Whereas before it would take years to launch a new chain, now it may only take weeks or even days.
Polkadot is a blockchain protocol with two goals: providing **shared security** among all connected parachains and allowing all connected chains to **interoperate** through [ICMP](learn-interchain). With the advent of [PDKs](build-pdk) like Parity Substrate and Cumulus, the time it takes to develop and launch a new chain has dropped significantly. Whereas before it would take years to launch a new chain, now it may only take weeks or 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.

Expand All @@ -19,7 +19,7 @@ This guide will walk you through the steps you can take today to get started bui
- Cumulus: **Initial release: end of September 2019**
- ink!: **Pre-Alpha**

**What you need to know**: Polkadot is currently on the PoC-4 release with a running testnet named Alexander. The Alexander testnet has been live for longer than 3 months through the entire PoC-3 release cycle. Polkadot is being built with [implementations in various programming languages](polkadot-learn-implementations) ranging from Rust to JavaScript. Currently the leading implementation is built in Rust and using the Substrate framework for developing blockchains. Substrate is a library that allows developers to more easily develop entire blockchains by building from a base layer including a networking protocol, consensus, and a Wasm interpreter. An in-development extension to Substrate called Cumulus will allow any Substrate built chain to connect to Polkadot and become a parachain. Substrate is nearing its public 1.0.0 release which will settle its API.
**What you need to know**: Polkadot is currently on the PoC-4 release with a running testnet named Alexander. The Alexander testnet has been live for longer than 3 months through the entire PoC-3 release cycle. Polkadot is being built with [implementations in various programming languages](learn-implementations) ranging from Rust to JavaScript. Currently the leading implementation is built in Rust and using the Substrate framework for developing blockchains. Substrate is a library that allows developers to more easily develop entire blockchains by building from a base layer including a networking protocol, consensus, and a Wasm interpreter. An in-development extension to Substrate called Cumulus will allow any Substrate built chain to connect to Polkadot and become a parachain. Substrate is nearing its public 1.0.0 release which will settle its API.

Substrate chains can have smart contracts by including the provided contracts runtime module from the SRML. The contracts module will allow smart contracts compiled to Wasm to be deployed on chain. To facilitate this, Parity has been developing an domain specific language called ink!.

Expand Down Expand Up @@ -63,7 +63,7 @@ This guide now splits into two sections depending on whether you’ve decided on

Now that you have determined that building a parachain is the right approach for your new project, the next step would be to decide which framework to use. Right now, Substrate is the only framework for developing parachains.

In the future, there will be many [implementations](polkadot-learn-implementations.md) of the Polkadot runtime in various languages ranging through C++, Rust, Go, and JS.
In the future, there will be many [implementations](learn-implementations.md) of the Polkadot runtime in various languages ranging through C++, Rust, Go, and JS.

### Get started with Substrate

Expand All @@ -89,7 +89,7 @@ For this, Parity Technologies has been developing an extension to Substrate call

#### Cumulus

The goal of [Cumulus](polkadot-build-cumulus) is to be an extension of Substrate that will make any Substrate runtime compatible with Polkadot.
The goal of [Cumulus](build-cumulus) is to be an extension of Substrate that will make any Substrate runtime compatible with Polkadot.

It handles the network compatibility overhead that any parachain would need to implement to be connected to Polkadot. This includes:

Expand All @@ -107,7 +107,7 @@ Rob Habermeier, a co-founder of Polkadot, recently gave a talk at EthCC that gav

In order to include your parachain into the Polkadot network, you will need to acquire a parachain slot.

Parachain slots will be sold in open auctions, the mechanics of which can be found on the [parachain auction](polkadot-learn-auction) page of the wiki.
Parachain slots will be sold in open auctions, the mechanics of which can be found on the [parachain auction](learn-auction) page of the wiki.

## So you want to build a smart contract

Expand Down
2 changes: 1 addition & 1 deletion docs/polkadot-build-cumulus.md → docs/build-cumulus.md
@@ -1,5 +1,5 @@
---
id: polkadot-build-cumulus
id: build-cumulus
title: Cumulus
sidebar_label: Cumulus
---
Expand Down
@@ -1,5 +1,5 @@
---
id: polkadot-build-deploy-parachains
id: build-deploy-parachains
title: How to view and deploy parachains
sidebar_label: How to view and deploy parachains
---
Expand Down
@@ -1,5 +1,5 @@
---
id: polkadot-build-dev-roadmap
id: build-dev-roadmap
title: Roadmap For Developers
sidebar_label: Roadmap For Developers
---
Expand Down
@@ -1,5 +1,5 @@
---
id: polkadot-build-examples-index
id: build-examples-index
title: Examples
sidebar_label: Examples
---
Expand Down
@@ -1,5 +1,5 @@
---
id: polkadot-build-exchange-integration
id: build-exchange-integration
title: Exchange integration
sidebar_label: Exchange integration
---
Expand Down
@@ -1,5 +1,5 @@
---
id: polkadot-build-extrinsic-format
id: build-extrinsic-format
title: Polkadot Extrinsic Format aka Transaction Format
sidebar_label: Polkadot Extrinsic Format aka Transaction Format
---
Expand Down
@@ -1,5 +1,5 @@
---
id: polkadot-build-hackathon
id: build-hackathon
title: Hackathon
sidebar_label: Hackathon
---
Expand Down
45 changes: 45 additions & 0 deletions docs/build-index.md
@@ -0,0 +1,45 @@
---
id: build-index
title: Builders Portal
sidebar_label: Builders Portal
---

_Polkadot is under construction, these documents will likely change._

Welcome to the builders section of the Polkadot wiki.

Here you will be able to find the most up-to-date information on the status of the development tools in the Polkadot ecosystem.
We are always adding new tools and frameworks as we learn about them so if you are working on something that should be included please reach out to us on [Riot](https://riot.im/app/#/room/#polkadot-watercooler:matrix.org).

This section of the wiki is divided into three parts: the first
part takes the shape of a technical guide that will get you quickly
up to speed with developing for Polkadot. The second part is an
up-to-date catalogue of developer tooling. The third part is a
resource which will contain some deeper technical information
that is not available to be found elsewhere.

## Development Guide

- [Starter's Guide](build-build-with-polkadot) - High level overview on choosing a parachain or smart contract, and what resources are available today to get started.
- [Development Roadmap](build-dev-roadmap)
- [Parachain Development Kits](build-pdk) - Learn about parachain development kits and create your own parachain.
- [Smart Contracts](build-smart-contracts) - Learn all about smart contracts on Polkadot and Substrate and how to get started today.

## Tools

- [Tools](build-tools-index) - Maintained list of tools.
- [Subkey](build-tools-subkey) - Commandline utility for generating Polkadot/Substrate keys.

## Resources

- [Exchange Integration](build-exchange-integration)
- [Extrinsic Format](build-extrinsic-format)
- [Networks](build-networks)
- [Examples](build-examples-index)
- [Rust Style Guide](build-rust-style-guide)

## Hackathon

- [Resources For Running a Hackathon](build-hackathon)

_More coming soon._
2 changes: 1 addition & 1 deletion docs/polkadot-build-networks.md → docs/build-networks.md
@@ -1,5 +1,5 @@
---
id: polkadot-build-networks
id: build-networks
title: Networks
sidebar_label: Networks
---
Expand Down
10 changes: 5 additions & 5 deletions docs/polkadot-build-pdk.md → docs/build-pdk.md
@@ -1,10 +1,10 @@
---
id: polkadot-build-pdk
id: build-pdk
title: Parachain Development Kits (PDKs)
sidebar_label: Parachain Development Kits (PDKs)
---

Parachain development kits (PDKs) are a set of tools that make it easy for developers to create Polkadot compatible [parachains](polkadot-learn-parachains).
Parachain development kits (PDKs) are a set of tools that make it easy for developers to create Polkadot compatible [parachains](learn-parachains).

## Why create a parachain?

Expand All @@ -15,9 +15,9 @@ A parachain has two major value adds that make it a desirable choice for a devel
- _Shared security_ - removes the necessity of bootstrapping a chain's own validator set.
- _Interchain communication_ - allows parachains to interoperate with each other through the ICMP protocol.

Parachains can [lease the security](polkadot-learn-security) of the Polkadot network by bonding [DOTs](polkadot-learn-DOT) for a parachain slot. This means that the social costs of building a community around your project and convincing validators to participate in your network security are reduced. It is anticipated that Polkadot will have strong security, and decentralized application projects wishing to benefit from this security would want to become a parachain. For more information on the mechanic of leasing a parachain slot through a candle auction see [here](polkadot-learn-auction).
Parachains can [lease the security](learn-security) of the Polkadot network by bonding [DOTs](learn-DOT) for a parachain slot. This means that the social costs of building a community around your project and convincing validators to participate in your network security are reduced. It is anticipated that Polkadot will have strong security, and decentralized application projects wishing to benefit from this security would want to become a parachain. For more information on the mechanic of leasing a parachain slot through a candle auction see [here](learn-auction).

Any decentralized application or chain that wants to enable trustless messaging to other parachains already connected to Polkadot would want to become a parachain. Interoperability between sovereign chains involves certain constraints and complex protocols to enable across a wide breadth of chains. With Polkadot, you will get this feature out of the box if your build your application as a parachain. The [ICMP protocol](polkadot-learn-interchain) will allow any parachains to interoperate by passing messages between them. Furthermore, as bridges to other chains are launched (such as those to Bitcoin or Ethereum) the parachains will be able to operate with these as well.
Any decentralized application or chain that wants to enable trustless messaging to other parachains already connected to Polkadot would want to become a parachain. Interoperability between sovereign chains involves certain constraints and complex protocols to enable across a wide breadth of chains. With Polkadot, you will get this feature out of the box if your build your application as a parachain. The [ICMP protocol](learn-interchain) will allow any parachains to interoperate by passing messages between them. Furthermore, as bridges to other chains are launched (such as those to Bitcoin or Ethereum) the parachains will be able to operate with these as well.

## What is a PDK?

Expand All @@ -28,7 +28,7 @@ As mentioned, a PDK is a set of tools that allows developers to easily create a

The state transition function (STF) can be any abstract way for an application to go from one state to another state. The only constraint that Polkadot places on this STF is that it must be easily verifiable -- usually though what we call a _witness_ or _proof_. It must be so because the relay chain validators will need to check that each state it receives from the collator node is correct without actually running through the entire computation. Some examples of these proofs include the Proof-of-Validity blocks or zk-SNARKs which require less computational resources to verify than they do to generate. The verification asymmetry in proof generation of the STF is one of the integral insights that allows Polkadot to scale while keeping high security guarantees.

A collator node is one of the types of network maintainers in the Polkadot protocol. They are responsible for **keeping availability** of the state of the parachain and the new states returned from iteration of the state transition function. They must remain online in order to keep track of the state and also of the ICMP messages that it will route between itself and other parachains. Collator nodes are responsible for passing the succinct proofs to the relay chain validators, and tracking the latest blocks from the relay chain. In essence, a collator node also acts as a light client for the Polkadot relay chain. For more on collator nodes see [here](polkadot-node-collator).
A collator node is one of the types of network maintainers in the Polkadot protocol. They are responsible for **keeping availability** of the state of the parachain and the new states returned from iteration of the state transition function. They must remain online in order to keep track of the state and also of the ICMP messages that it will route between itself and other parachains. Collator nodes are responsible for passing the succinct proofs to the relay chain validators, and tracking the latest blocks from the relay chain. In essence, a collator node also acts as a light client for the Polkadot relay chain. For more on collator nodes see [here](maintain-collator).

## What kind of PDKs exist?

Expand Down
@@ -1,5 +1,5 @@
---
id: polkadot-build-rust-style-guide
id: build-rust-style-guide
title: Style Guide for Rust in Polkadot
sidebar_label: Style Guide for Rust in Polkadot
---
Expand Down
@@ -1,5 +1,5 @@
---
id: polkadot-build-smart-contracts
id: build-smart-contracts
title: Smart Contracts
sidebar_label: Smart Contracts
---
Expand Down
@@ -1,5 +1,5 @@
---
id: polkadot-build-tools-index
id: build-tools-index
title: Tools
sidebar_label: Tools
---
Expand Down
@@ -1,5 +1,5 @@
---
id: polkadot-build-tools-subkey
id: build-tools-subkey
title: Subkey
sidebar_label: Subkey
---
Expand Down
14 changes: 7 additions & 7 deletions docs/index.md
Expand Up @@ -8,25 +8,25 @@ sidebar_label: Polkadot Wiki

Welcome to the Polkadot wiki, the hub for those interested in learning, building, or running a node on the Polkadot protocol.

If you're looking for an introduction on Polkadot please [see here](polkadot-learn-introduction).
If you're looking for an introduction on Polkadot please [see here](learn-introduction).

## Want to learn more?

- [Explore the Wiki](polkadot-learn-index) - Read the informational section of the wiki.
- [Relevant Links](polkadot-learn-relevant-links) - **Comprehensive links about Polkadot.**
- [Explore the Wiki](learn-index) - Read the informational section of the wiki.
- [Relevant Links](learn-relevant-links) - **Comprehensive links about Polkadot.**

## Want to build on Polkadot?

- [Builders Portal](polkadot-build-index) - Tools, libraries, and resources to help you build.
- [Starters Guide](polkadot-build-build-with-polkadot) - **Overview on how to get started building your project on Polkadot.**
- [Builders Portal](build-index) - Tools, libraries, and resources to help you build.
- [Starters Guide](build-build-with-polkadot) - **Overview on how to get started building your project on Polkadot.**

## Want to run a node?

- [Run a Node](polkadot-node-index) - Information covering running a node on the Polkadot network.
- [Run a Node](maintain-index) - Information covering running a node on the Polkadot network.

## Resources

- [Community / Ecosystem](community) - List of community rooms and channels to talk to others about Polkadot.
- [News](news) - Links to the hottest news about Polkadot, aggregated every week.
- [Sample Applications](polkadot-build-examples-index) - Sample applications that are built on or currently being built for Polkadot.
- [Sample Applications](build-examples-index) - Sample applications that are built on or currently being built for Polkadot.
- [Contributing Guide](contributing) - Rules for contributing to the wiki.

0 comments on commit 37d21b8

Please sign in to comment.