Skip to content
This repository was archived by the owner on Aug 27, 2024. It is now read-only.

Commit ef60390

Browse files
committed
add initial runtime migration tutorial draft
1 parent 2753185 commit ef60390

File tree

1 file changed

+40
-0
lines changed
  • docs/tutorials/runtime-migration

1 file changed

+40
-0
lines changed
+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
title: Introduction
3+
---
4+
5+
One of the defining features of the Substrate blockchain development framework is its support for
6+
**forkless runtime upgrades**. Forkless upgrades are a means of enhancing a blockchain runtime in a
7+
way that is supported and protected by the capabilities of the blockchain itself. A blockchain's
8+
[runtime](../../knowledgebase/runtime) defines the [state](../../knowledgebase/runtime/storage) the
9+
blockchain can hold and also defines the logic for effecting changes to that state. Substrate makes
10+
it possible to deploy enhanced runtime capabilities (including _breaking_ changes) without a
11+
[hard fork](../../knowledgebase/getting-started/glossary#fork). These new capabilities expect the
12+
blockchain's state and storage schema to be configured in the correct way for operation, though.
13+
If the expected schema and state are not present a [storage migration](../../knowledgebase/runtime/upgrades.md#storage-migrations) is necessary.
14+
15+
This tutorial will use the Substrate Developer Hub
16+
[Node Template](https://github.com/substrate-developer-hub/substrate-node-template) to explore how to write and perform storage migrations of [FRAME](../../knowledgebase/runtime/frame)-based runtimes.
17+
> TODO: outline of steps
18+
19+
If you have problems with this tutorial, the Substrate community is full of helpful resources. We
20+
maintain an active
21+
[#SubstrateTechnical chat room](https://app.element.io/#/room/!HzySYSaIhtyWrwiwEV:matrix.org) and
22+
monitor the
23+
[`substrate` tag on Stack Overflow](https://stackoverflow.com/questions/tagged/substrate). You can
24+
also use the [`subport` GitHub repository](https://github.com/paritytech/subport/issues/new) to
25+
create an Issue.
26+
27+
## The Node Template
28+
29+
If you haven't already, you should complete the first three tutorials. The
30+
[Create Your First Substrate Chain](../../tutorials/create-your-first-substrate-chain/) tutorial
31+
will guide you through the process of setting up your development environment. The
32+
[Add a Pallet to Your Runtime](../../tutorials/add-a-pallet) tutorial will introduce the FRAME
33+
system for runtime development and guide you through the process of extending the capabilities of a
34+
FRAME runtime by adding a pallet. The [Perform a Forkless Upgrade](../../tutorials/upgrade-a-chain/) tutorial will introduce runtime upgrades.
35+
36+
If you're an experienced developer and wish to skip those
37+
tutorials, you can clone the
38+
[Node Template repository](https://github.com/substrate-developer-hub/substrate-node-template) and
39+
refer to the
40+
[documentation for local development](https://github.com/substrate-developer-hub/substrate-node-template#local-development).

0 commit comments

Comments
 (0)