# 📖 Curriculum

The guidebook provides you all neccessary knowledge to have adequate skills building on top of the Polkadot technology.&#x20;

Below is the structure of the guidebook:&#x20;

## 📕 Rust Programming Language

<figure><img src="https://2688244615-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqpKohKlriBQm0I9cc9k5%2Fuploads%2Fvyrxw6tiWtZ3t5Jq117y%2FOrder%20Banner%20Polkadot%20Open%20Bootcamp.webp?alt=media&#x26;token=e9a260b2-db46-4245-b26c-b3b9f7272156" alt=""><figcaption></figcaption></figure>

{% content-ref url="rust-programming-language" %}
[rust-programming-language](https://bootcamp.openguild.wtf/rust-programming-language)
{% endcontent-ref %}

<table data-full-width="false"><thead><tr><th width="133">Section</th><th data-type="rating" data-max="5">Difficulty</th><th width="611">Name</th><th data-hidden><select><option value="KM4LM5Zph5Fl" label="Polkadot" color="blue"></option><option value="6R525et1jBXM" label="Cumulus" color="blue"></option><option value="Jv09MOyVCfCA" label="XCM" color="blue"></option><option value="B7lhUv0RiksK" label="Substrate" color="blue"></option></select></th></tr></thead><tbody><tr><td>Section 1</td><td>1</td><td><a data-mention href="rust-programming-language/basic-rust/introduction-to-rust">introduction-to-rust</a></td><td></td></tr><tr><td>Section 2</td><td>2</td><td><a data-mention href="rust-programming-language/basic-rust/common-programming-concepts">common-programming-concepts</a></td><td><span data-option="Jv09MOyVCfCA">XCM</span></td></tr><tr><td>Section 3</td><td>2</td><td><a data-mention href="rust-programming-language/basic-rust/program-life-cycle">program-life-cycle</a></td><td></td></tr><tr><td>Section 4</td><td>3</td><td><a data-mention href="rust-programming-language/basic-rust/ownership-and-borrow-checker">ownership-and-borrow-checker</a></td><td></td></tr><tr><td>Section 5</td><td>3</td><td><a data-mention href="rust-programming-language/basic-rust/common-data-structures">common-data-structures</a></td><td></td></tr><tr><td>Section 6</td><td>3</td><td><a data-mention href="rust-programming-language/advanced-rust/generic-types-trait-extension-and-advanced-types">generic-types-trait-extension-and-advanced-types</a></td><td></td></tr><tr><td>Section 7</td><td>3</td><td><a data-mention href="rust-programming-language/advanced-rust/lifetime-notation">lifetime-notation</a></td><td></td></tr><tr><td>Section 8</td><td>4</td><td><a data-mention href="rust-programming-language/advanced-rust/smart-pointers-and-macros">smart-pointers-and-macros</a></td><td></td></tr><tr><td>Section 9</td><td>2</td><td><a data-mention href="rust-programming-language/advanced-rust/common-design-patterns-in-rust">common-design-patterns-in-rust</a></td><td></td></tr><tr><td>Section 10</td><td>2</td><td><a data-mention href="rust-programming-language/advanced-rust/package-management-and-how-to-structure-your-rust-project">package-management-and-how-to-structure-your-rust-project</a></td><td></td></tr><tr><td>Section 11</td><td>2</td><td><a data-mention href="rust-programming-language/advanced-rust/overview-of-the-rust-ecosystem">overview-of-the-rust-ecosystem</a></td><td></td></tr></tbody></table>

## 📘 Building a blockchain with Polkadot SDK

<figure><img src="https://2688244615-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqpKohKlriBQm0I9cc9k5%2Fuploads%2FFLTzDAol1FeYD3WvhXy5%2FPolkadot%20Open%20Bootcamp%20Banner.webp?alt=media&#x26;token=a5c95f3f-db56-4280-a9dc-2e7acb6a338f" alt=""><figcaption></figcaption></figure>

{% content-ref url="building-a-blockchain-with-polkadot-sdk" %}
[building-a-blockchain-with-polkadot-sdk](https://bootcamp.openguild.wtf/building-a-blockchain-with-polkadot-sdk)
{% endcontent-ref %}

Learn how to build a blockchain with Polkadot SDK. At the end of this module, you will sucessfully build a functional parachain on Polkadot that allows users to create an onchain community.

<table data-full-width="false"><thead><tr><th width="136">Section</th><th data-type="rating" data-max="5">Difficulty</th><th width="340">Name</th></tr></thead><tbody><tr><td>Prelude</td><td>1</td><td>Introduction to the Developer Bootcamp</td></tr><tr><td>Section 1</td><td>1</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk">polkadot-sdk</a></td></tr><tr><td></td><td>2</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate">substrate</a></td></tr><tr><td></td><td>3</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot/additional-reads/understanding-the-sharded-network-design-of-polkadot">understanding-the-sharded-network-design-of-polkadot</a></td></tr><tr><td>Section 2</td><td>2</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/create-a-new-blockchain">create-a-new-blockchain</a></td></tr><tr><td></td><td>2</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/create-a-new-blockchain/break-down-the-node-architecture">break-down-the-node-architecture</a></td></tr><tr><td>Section 3</td><td>3</td><td>Building a Substrate state machine from scratch</td></tr><tr><td>Section 4</td><td>3</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/adding-a-custom-logic-to-runtime">adding-a-custom-logic-to-runtime</a></td></tr><tr><td></td><td>3</td><td>Substrate storage abstractions &#x26; Common storage data types</td></tr><tr><td></td><td>2</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/common-runtime-modules">common-runtime-modules</a></td></tr><tr><td></td><td>2</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/adding-a-custom-logic-to-runtime/hooks">hooks</a></td></tr><tr><td></td><td>2</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/runtime-api-and-rpc">runtime-api-and-rpc</a></td></tr><tr><td></td><td>2</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/adding-a-custom-logic-to-runtime/extensions/signed-extensions">signed-extensions</a> </td></tr><tr><td></td><td>2</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/adding-a-custom-logic-to-runtime/weights-and-benchmarking">weights-and-benchmarking</a></td></tr><tr><td>Section 5</td><td>2</td><td>Interacting with the Substrate-based blockchain</td></tr><tr><td></td><td>1</td><td>Mainnet, Testnet and Canary Network</td></tr><tr><td>Section 6</td><td>3</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/bump-polkadot-sdk-versions">bump-polkadot-sdk-versions</a></td></tr><tr><td>Section 7</td><td>4</td><td>Path of Parachain Block breakdown</td></tr><tr><td>Section 8</td><td>3</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/cumulus/introduction-to-cumulus">introduction-to-cumulus</a></td></tr><tr><td>Section 9</td><td>4</td><td>Connect a Parachain to Relaychain network<br><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/cumulus/running-a-local-relaychain-network/launch-the-network-and-run-a-collator-node">launch-the-network-and-run-a-collator-node</a><br><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/cumulus/running-a-local-relaychain-network">running-a-local-relaychain-network</a></td></tr><tr><td></td><td>3</td><td><a data-mention href="building-a-blockchain-with-polkadot-sdk/polkadot-sdk/cumulus/agile-coretime">agile-coretime</a></td></tr><tr><td>Section 10</td><td>4</td><td>Introduction to XCM, Transport Protocols &#x26; XCVM | Open Polkadot Bootcamp</td></tr><tr><td></td><td>4</td><td>XCM Fundamentals with Locations &#x26; Assets</td></tr><tr><td></td><td>4</td><td>Transfers and Transact</td></tr></tbody></table>

## 📒 Smart Contract Development

<figure><img src="https://2688244615-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqpKohKlriBQm0I9cc9k5%2Fuploads%2FtgBppvrMlwLgxmzvSuJC%2F2.png%202268x934.webp?alt=media&#x26;token=e6b60260-8baf-4107-8100-8f246d3bc06e" alt=""><figcaption></figcaption></figure>

{% content-ref url="smart-contract-development" %}
[smart-contract-development](https://bootcamp.openguild.wtf/smart-contract-development)
{% endcontent-ref %}

<table data-full-width="false"><thead><tr><th width="133">Section</th><th data-type="rating" data-max="5">Difficulty</th><th width="451">Name</th></tr></thead><tbody><tr><td>Section 1</td><td>1</td><td><a data-mention href="smart-contract-development/introduction/introduction-to-polkavm">introduction-to-polkavm</a></td></tr><tr><td></td><td>1</td><td><a data-mention href="smart-contract-development/introduction/getting-started-with-solidity-development">getting-started-with-solidity-development</a></td></tr><tr><td></td><td>2</td><td><a data-mention href="smart-contract-development/introduction/solidity-file-structure">solidity-file-structure</a></td></tr><tr><td></td><td>2</td><td><a data-mention href="smart-contract-development/introduction/contract-structure">contract-structure</a></td></tr><tr><td>Section 2</td><td>2</td><td><a data-mention href="smart-contract-development/basic-solidity/value-types">value-types</a></td></tr><tr><td></td><td>2</td><td><a data-mention href="smart-contract-development/basic-solidity/reference-types">reference-types</a></td></tr><tr><td></td><td>2</td><td><a data-mention href="smart-contract-development/basic-solidity/mapping-types">mapping-types</a></td></tr><tr><td></td><td>3</td><td><a data-mention href="smart-contract-development/basic-solidity/simple-storage">simple-storage</a></td></tr><tr><td>Section 3</td><td>2</td><td><a data-mention href="smart-contract-development/advanced-solidity/units">units</a></td></tr><tr><td></td><td>2</td><td><a data-mention href="smart-contract-development/advanced-solidity/global-variables">global-variables</a></td></tr><tr><td></td><td>2</td><td><a data-mention href="smart-contract-development/advanced-solidity/expression-and-control-structures">expression-and-control-structures</a></td></tr><tr><td></td><td>3</td><td><a data-mention href="smart-contract-development/advanced-solidity/advanced-storage">advanced-storage</a></td></tr><tr><td></td><td>3</td><td><a data-mention href="smart-contract-development/advanced-solidity/contract-tests">contract-tests</a></td></tr><tr><td></td><td>3</td><td><a data-mention href="smart-contract-development/advanced-solidity/contracts">contracts</a></td></tr></tbody></table>
