# Parachain from scratch

{% embed url="<https://github.com/chungquantin/parachain-from-scratch?tab=readme-ov-file>" %}

## Create a Parachain from scratch

<figure><img src="https://2688244615-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqpKohKlriBQm0I9cc9k5%2Fuploads%2Fn9W6ddrQkV4JG72m6uvl%2Fimage.png?alt=media&#x26;token=6a134ac5-1d36-42d4-9abf-5a5ab47bd2b7" alt=""><figcaption></figcaption></figure>

The repository contains two nodes \`parachain-node\` and \`solochain-node\` and one \`runtime\`. The goal of this tutorial is to help you convert your Substrate runtime to be compatible with the \`parachain-node\` and register a new parachain on the PASEO testnet.&#x20;

### Getting started

First step is to follow all the TODOs in the repository and convert your \`solochain-runtime\` to a \`parachain-runtime\` until it works with the \`parachain-node\`. To test the the local relaychain network, run the below command:

```
pop up parachain -f ./network.toml
```

If you are not familiar with the \`pop-cli\` tool, learn more in here: <https://github.com/r0gue-io/pop-cli>&#x20;

{% content-ref url="../../substrate/create-a-new-blockchain/break-down-the-node-architecture" %}
[break-down-the-node-architecture](https://bootcamp.openguild.wtf/building-a-blockchain-with-polkadot-sdk/polkadot-sdk/substrate/create-a-new-blockchain/break-down-the-node-architecture)
{% endcontent-ref %}

#### Sharded network design and block production / finalization mechanism

<figure><img src="https://2688244615-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FqpKohKlriBQm0I9cc9k5%2Fuploads%2FShfb8OfXpRTzuYr2VWZm%2Fimage.png?alt=media&#x26;token=dfcb2071-4b41-4c94-94d1-4981e3811723" alt=""><figcaption></figcaption></figure>
