From 2e45a80515da384ea62310c8d9e44b13bf487b89 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicol=C3=A1s=20Hussein?=
<80422357+nhussein11@users.noreply.github.com>
Date: Thu, 12 Dec 2024 13:57:33 -0300
Subject: [PATCH] [FIX] - Adding references to tutorials (#230)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* fix: adding reference to tutorials on asset hub page
* Add xcm channels
* Add runtime upgrades
* Add chain spec
* Add custom parachains
* fix: adding chopsticks
* fix: zombienet
* Update develop/parachains/get-started/build-custom-parachains.md
Co-authored-by: Nicolás Hussein <80422357+nhussein11@users.noreply.github.com>
* fix: xcm channels references
* fix: generate chain specs references
* fix: generate chain specs 'where to go next'
* fix: build custom parachains references
* fix: runtime upgrades references
* fix: chopsticks get started references
* fix: zombienet get started references
* fix: asset hub references
* fix: add existing pallets references
* fix: add smart contract funcionality references
* fix: make custom pallet references
* fix: pallet testing references
* fix: generate chain specs references
* fix: adding comment in build custom parachains
* fix: deploy parachain to polkadot references
* fix: setup references
* fix: consensus get started references removed
* fix: architecture parachains references
---------
Co-authored-by: 0xLucca <0xlucca.dev@gmail.com>
Co-authored-by: 0xLucca <95830307+0xLucca@users.noreply.github.com>
---
develop/interoperability/xcm-channels.md | 21 +++++++++-
.../add-existing-pallets.md | 21 +++++++++-
.../add-smart-contract-functionality.md | 30 ++++++++++++--
.../customize-parachain/make-custom-pallet.md | 28 +++++++++++--
.../customize-parachain/pallet-testing.md | 15 ++++++-
.../deployment/generate-chain-specs.md | 32 +++++++++++++--
.../get-started/build-custom-parachains.md | 3 +-
.../deploy-parachain-to-polkadot.md | 40 +++++++++++++++++--
.../maintenance/runtime-upgrades.md | 12 ++++++
develop/parachains/testing/setup.md | 12 +++++-
.../fork-chains/chopsticks/get-started.md | 12 +++++-
.../spawn-chains/zombienet/get-started.md | 12 ++++++
.../architecture/parachains/consensus.md | 3 +-
.../architecture/parachains/overview.md | 14 ++++++-
.../architecture/system-chains/asset-hub.md | 32 ++++++++++++++-
15 files changed, 261 insertions(+), 26 deletions(-)
diff --git a/develop/interoperability/xcm-channels.md b/develop/interoperability/xcm-channels.md
index e1220c983..3142c177e 100644
--- a/develop/interoperability/xcm-channels.md
+++ b/develop/interoperability/xcm-channels.md
@@ -59,5 +59,22 @@ Parachain developers have a few options for triggering the required extrinsic ca
Explore the following tutorials for detailed, step-by-step guidance on setting up cross-chain communication channels in Polkadot:
-- [Opening HRMP Channels Between Parachains](/tutorials/interoperability/xcm-channels/para-to-para/)
-- [Opening HRMP Channels with System Parachains](/tutorials/interoperability/xcm-channels/para-to-system/)
\ No newline at end of file
+
+
+- Tutorial __Opening HRMP Channels Between Parachains__
+
+ ---
+
+ Learn how to open HRMP channels between parachains on Polkadot. Discover the step-by-step process for establishing uni- and bidirectional communication.
+
+ [:octicons-arrow-right-24: Reference](/tutorials/interoperability/xcm-channels/para-to-para/)
+
+- Tutorial __Opening HRMP Channels with System Parachains__
+
+ ---
+
+ Learn how to open HRMP channels with Polkadot system parachains. Discover the process for establishing bi-directional communication using a single XCM message.
+
+ [:octicons-arrow-right-24: Reference](/tutorials/interoperability/xcm-channels/para-to-system/)
+
+
\ No newline at end of file
diff --git a/develop/parachains/customize-parachain/add-existing-pallets.md b/develop/parachains/customize-parachain/add-existing-pallets.md
index 2d68e4c49..b69044dd1 100644
--- a/develop/parachains/customize-parachain/add-existing-pallets.md
+++ b/develop/parachains/customize-parachain/add-existing-pallets.md
@@ -148,5 +148,22 @@ Finally, to compose the runtime, update the list of pallets in the same file by
With the pallet successfully added and configured, the runtime is ready to be compiled and used. Following this guide’s steps, you’ve integrated a new pallet into the runtime, set up its dependencies, and ensured proper configuration. You can now proceed to any of the following points:
-- Dive deeper by [creating your custom pallet](/develop/parachains/customize-parachain/make-custom-pallet/) to expand the functionality of your blockchain
-- Ensure robustness with [Pallet Testing](/develop/parachains/customize-parachain/pallet-testing/) to verify the accuracy and behavior of your code
\ No newline at end of file
+
+
+- Guide __Make a Custom Pallet__
+
+ ---
+
+ Learn how to create custom pallets using FRAME, allowing for flexible, modular, and scalable blockchain development. Follow the step-by-step guide.
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/customize-parachain/make-custom-pallet/)
+
+- Guide __Pallet Testing__
+
+ ---
+
+ Learn how to efficiently test pallets in the Polkadot SDK, ensuring the reliability and security of your pallets operations.
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/customize-parachain/pallet-testing/)
+
+
\ No newline at end of file
diff --git a/develop/parachains/customize-parachain/add-smart-contract-functionality.md b/develop/parachains/customize-parachain/add-smart-contract-functionality.md
index 7c1da1bb4..76356d781 100644
--- a/develop/parachains/customize-parachain/add-smart-contract-functionality.md
+++ b/develop/parachains/customize-parachain/add-smart-contract-functionality.md
@@ -36,6 +36,30 @@ For a real-world example of how this pallet is implemented in production, you ca
Now that you understand how to enable smart contract functionality in your blockchain, you might want to:
-- Take a step back and learn more about EVM and Wasm contracts by visiting the [Smart Contracts](/develop/smart-contracts/overview) guide
-- Start building with [Wasm (ink!) contracts](/develop/smart-contracts/wasm-ink/)
-- Start building with [EVM contracts](/develop/smart-contracts/evm/)
+
+
+- Guide __Smart Contracts Overview__
+
+ ---
+
+ Learn how developers can build smart contracts on Polkadot by leveraging either Wasm/ink! or EVM contracts across many parachains.
+
+ [:octicons-arrow-right-24: Reference](/develop/smart-contracts/overview/)
+
+- Guide __Wasm (ink!) Contracts__
+
+ ---
+
+ Learn to build Wasm smart contracts with ink!, a Rust-based eDSL. Explore installation, contract structure, and key features.
+
+ [:octicons-arrow-right-24: Reference](/develop/smart-contracts/wasm-ink/)
+
+- Guide __EVM Contracts__
+
+ ---
+
+ Learn how Polkadot parachains such as Moonbeam, Astar, Acala, and Manta leverage the Ethereum Virtual Machine (EVM) and integrate it into their parachains.
+
+ [:octicons-arrow-right-24: Reference](/develop/smart-contracts/evm/)
+
+
\ No newline at end of file
diff --git a/develop/parachains/customize-parachain/make-custom-pallet.md b/develop/parachains/customize-parachain/make-custom-pallet.md
index f1b48ee70..8374e4a31 100644
--- a/develop/parachains/customize-parachain/make-custom-pallet.md
+++ b/develop/parachains/customize-parachain/make-custom-pallet.md
@@ -154,8 +154,30 @@ After following all the previous steps, the pallet is now fully implemented. Bel
With the pallet implemented, the next steps involve ensuring its reliability and performance before integrating it into a runtime. Check the following sections:
-- [**Testing**](/develop/parachains/testing/) - learn how to effectively test the functionality and reliability of your pallet to ensure it behaves as expected
+
-- [**Benchmarking**](/develop/parachains/customize-parachain/benchmarking/) - explore methods to measure the performance and execution cost of your pallet
+- Guide __Testing__
-- [**Add a Pallet to the Runtime**](/develop/parachains/customize-parachain/add-existing-pallets/) - follow this guide to include your pallet in a Polkadot SDK-based runtime, making it ready for use in your blockchain
\ No newline at end of file
+ ---
+
+ Learn how to effectively test the functionality and reliability of your pallet to ensure it behaves as expected.
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/testing/)
+
+- Guide __Benchmarking__
+
+ ---
+
+ Explore methods to measure the performance and execution cost of your pallet.
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/testing/benchmarking)
+
+- Guide __Add a Pallet to the Runtime__
+
+ ---
+
+ Follow this guide to include your pallet in a Polkadot SDK-based runtime, making it ready for use in your blockchain.
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/customize-parachain/add-existing-pallets/)
+
+
\ No newline at end of file
diff --git a/develop/parachains/customize-parachain/pallet-testing.md b/develop/parachains/customize-parachain/pallet-testing.md
index 82989778c..39039f1f3 100644
--- a/develop/parachains/customize-parachain/pallet-testing.md
+++ b/develop/parachains/customize-parachain/pallet-testing.md
@@ -104,5 +104,16 @@ Some key considerations are:
## Where to Go Next
-- Dive into the full implementation of the [`mock.rs`](https://github.com/paritytech/polkadot-sdk/blob/polkadot-stable2412/templates/solochain/pallets/template/src/mock.rs){target=\_blank} and [`test.rs`](https://github.com/paritytech/polkadot-sdk/blob/polkadot-stable2412/templates/solochain/pallets/template/src/tests.rs){target=\_blank} files in the [Solochain Template](https://github.com/paritytech/polkadot-sdk/tree/polkadot-stable2412/templates/solochain){target=_blank}
-- To evaluate the resource usage of your pallet operations, refer to the [Benchmarking documentation](/develop/parachains/customize-parachain/benchmarking/) for guidance on measuring efficiency
\ No newline at end of file
+- Dive into the full implementation of the [`mock.rs`](https://github.com/paritytech/polkadot-sdk/blob/master/templates/solochain/pallets/template/src/mock.rs){target=\_blank} and [`test.rs`](https://github.com/paritytech/polkadot-sdk/blob/master/templates/solochain/pallets/template/src/tests.rs){target=\_blank} files in the [Solochain Template](https://github.com/paritytech/polkadot-sdk/tree/master/templates/solochain){target=_blank}
+
+
+
+- Guide __Benchmarking__
+
+ ---
+
+ Explore methods to measure the performance and execution cost of your pallet.
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/testing/benchmarking)
+
+
diff --git a/develop/parachains/deployment/generate-chain-specs.md b/develop/parachains/deployment/generate-chain-specs.md
index 635194f96..e713098cb 100644
--- a/develop/parachains/deployment/generate-chain-specs.md
+++ b/develop/parachains/deployment/generate-chain-specs.md
@@ -131,6 +131,32 @@ The raw chain specification can be used to initialize the genesis storage for a
After generating a chain specification, you can use it to initialize the genesis storage for a node. Refer to the following guides to learn how to proceed with the deployment of your blockchain:
-- [**Obtain Coretime**](/develop/parachains/deployment/obtain-coretime/) - learn how to obtain the necessary coretime configuration to synchronize your blockchain’s timestamping and enhance its performance
-- [**Deployment**](/develop/parachains/deployment/) - explore the steps required to deploy your chain specification, ensuring a smooth launch of your network and proper node operation
-- [**Maintenance**](/develop/parachains/maintenance/) - discover best practices for maintaining your blockchain post-deployment, including how to manage upgrades and monitor network health
+
+
+- Guide __Obtain Coretime__
+
+ ---
+
+ Learn how to obtain the necessary coretime configuration to synchronize your blockchain’s timestamping and enhance its performance.
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/deployment/obtain-coretime/)
+
+- Guide __Deployment__
+
+ ---
+
+ Explore the steps required to deploy your chain specification, ensuring a smooth launch of your network and proper node operation.
+
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/deployment/)
+
+- Guide __Maintenance__
+
+ ---
+
+ Discover best practices for maintaining your blockchain post-deployment, including how to manage upgrades and monitor network health.
+
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/maintenance/)
+
+
\ No newline at end of file
diff --git a/develop/parachains/get-started/build-custom-parachains.md b/develop/parachains/get-started/build-custom-parachains.md
index df534491d..097314b35 100644
--- a/develop/parachains/get-started/build-custom-parachains.md
+++ b/develop/parachains/get-started/build-custom-parachains.md
@@ -52,8 +52,9 @@ Building a custom blockchain with the Polkadot SDK involves several core steps,
Each of these steps is designed to build on the last, helping ensure that your custom blockchain is functional, optimized, and ready for deployment within the Polkadot ecosystem or beyond.
+
## Where to Go Next
Once your chain is functional locally, depending on your project’s goals, you can deploy to a TestNet to monitor performance and gather feedback or launch directly on a MainNet. To learn more about this process, check the [Deploy a Parachain](/develop/parachains/deployment/) section of the documentation.
-After deployment, regular monitoring and maintenance are essential to ensure that the chain is functioning as expected. Developers need to be able to monitor the chain's performance, identify issues, and troubleshoot problems. Key activities include tracking network health, node performance, and transaction throughput. It's also essential to test the blockchain’s scalability under high load and perform security audits regularly to prevent vulnerabilities. For more information on monitoring and maintenance, refer to the [Maintenance](/develop/parachains/maintenance/) section.
+After deployment, regular monitoring and maintenance are essential to ensure that the chain is functioning as expected. Developers need to be able to monitor the chain's performance, identify issues, and troubleshoot problems. Key activities include tracking network health, node performance, and transaction throughput. It's also essential to test the blockchain’s scalability under high load and perform security audits regularly to prevent vulnerabilities. For more information on monitoring and maintenance, refer to the [Maintenance](/develop/parachains/maintenance/) section.
\ No newline at end of file
diff --git a/develop/parachains/get-started/deploy-parachain-to-polkadot.md b/develop/parachains/get-started/deploy-parachain-to-polkadot.md
index 14c867e28..eec0ef75f 100644
--- a/develop/parachains/get-started/deploy-parachain-to-polkadot.md
+++ b/develop/parachains/get-started/deploy-parachain-to-polkadot.md
@@ -67,7 +67,39 @@ flowchart TD
Deploying a Polkadot SDK-based blockchain is a multi-step process that requires careful planning, from generating chain specs and compiling the runtime to managing post-launch updates. By understanding the deployment process and utilizing the right tools, developers can confidently take their blockchain from development to production. For more on this topic, check out the following resources:
-- [**Generate Chain Specifications**](/develop/parachains/deployment/generate-chain-specs/) - learn how to generate a chain specification for your blockchain
-- [**Building Deterministic Runtimes**](/develop/parachains/deployment/build-deterministic-runtime/) - learn how to build deterministic runtimes for your blockchain
-- [**Infrastructure**](/infrastructure/) - learn about the different infrastructure options available for your blockchain
-- [**Maintenance**](/develop/parachains/maintenance/) - discover how to manage updates on your blockchain to ensure smooth operation
+
+
+- Guide __Generate Chain Specifications__
+
+ ---
+
+ Learn how to generate a chain specification for your blockchain.
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/deployment/generate-chain-specs/)
+
+- Guide __Building Deterministic Runtimes__
+
+ ---
+
+ Learn how to build deterministic runtimes for your blockchain.
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/deployment/build-deterministic-runtime/)
+
+- Guide __Infrastructure__
+
+ ---
+
+ Learn about the different infrastructure options available for your blockchain.
+
+ [:octicons-arrow-right-24: Reference](/infrastructure/)
+
+
+- Guide __Maintenance__
+
+ ---
+
+ Discover how to manage updates on your blockchain to ensure smooth operation.
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/maintenance/)
+
+
diff --git a/develop/parachains/maintenance/runtime-upgrades.md b/develop/parachains/maintenance/runtime-upgrades.md
index 41672574a..d6d7bed35 100644
--- a/develop/parachains/maintenance/runtime-upgrades.md
+++ b/develop/parachains/maintenance/runtime-upgrades.md
@@ -71,4 +71,16 @@ FRAME storage migrations run in this order:
2. System `frame_system::on_runtime_upgrade` functions
3. All `on_runtime_upgrade` functions defined in the runtime starting with the last pallet in the `construct_runtime!` macro
+## Where to Go Next
+
+
+- Tutorial __Upgrade a Running Network__
+
+ ---
+
+ Learn how to perform forkless runtime upgrades on a Polkadot SDK-based blockchain. Add features and modify parameters without network disruption.
+
+ [:octicons-arrow-right-24: Reference](tutorials/polkadot-sdk/parachains/local-chain/upgrade-a-running-network/)
+
+
\ No newline at end of file
diff --git a/develop/parachains/testing/setup.md b/develop/parachains/testing/setup.md
index 6a908f52b..4d1045d4f 100644
--- a/develop/parachains/testing/setup.md
+++ b/develop/parachains/testing/setup.md
@@ -54,4 +54,14 @@ With the mock environment in place, you can now write tests to validate how your
You can view a complete example of an integration test in the [Astar parachain](https://github.com/AstarNetwork/Astar/tree/master/tests/integration){target=\_blank} codebase.
-For more advanced information on runtime testing, please refer to the [Runtime Testing](/develop/parachains/testing/runtime/) article.
\ No newline at end of file
+
+
+- Guide __Pallet Testing__
+
+ ---
+
+ Learn how to test your blockchain functionality using unit tests.
+
+ [:octicons-arrow-right-24: Reference](/develop/parachains/testing/pallet-testing/)
+
+
\ No newline at end of file
diff --git a/develop/toolkit/parachains/fork-chains/chopsticks/get-started.md b/develop/toolkit/parachains/fork-chains/chopsticks/get-started.md
index a694e4aaf..59b371993 100644
--- a/develop/toolkit/parachains/fork-chains/chopsticks/get-started.md
+++ b/develop/toolkit/parachains/fork-chains/chopsticks/get-started.md
@@ -191,4 +191,14 @@ These are the methods that can be invoked and their parameters:
## Where to Go Next
-- Visit the [Fork a Chain with Chopsticks](/tutorials/polkadot-sdk/testing/fork-live-chains/){target=\_blank} guide for step-by-step instructions for configuring and interacting with your forked chain.
\ No newline at end of file
+
+
+- Tutorial __Fork a Chain with Chopsticks__
+
+ ---
+
+ Visit this guide for step-by-step instructions for configuring and interacting with your forked chain.
+
+ [:octicons-arrow-right-24: Reference](/tutorials/polkadot-sdk/testing/fork-live-chains/)
+
+
\ No newline at end of file
diff --git a/develop/toolkit/parachains/spawn-chains/zombienet/get-started.md b/develop/toolkit/parachains/spawn-chains/zombienet/get-started.md
index ddd59c820..cabbcc642 100644
--- a/develop/toolkit/parachains/spawn-chains/zombienet/get-started.md
+++ b/develop/toolkit/parachains/spawn-chains/zombienet/get-started.md
@@ -840,4 +840,16 @@ You can use the `hrmp_channels` keyword to define further parameters for the XCM
- `max_capacity` ++"number"++ - maximum capacity of the HRMP channel
- `max_message_size` ++"number"++ - maximum message size allowed in the HRMP channel
+## Where to Go Next
+
+
+- Tutorial __Spawn a Basic Chain with Zombienet__
+
+ ---
+
+ Learn to spawn, connect to and monitor a basic blockchain network with Zombienet, using customizable configurations for streamlined development and debugging.
+
+ [:octicons-arrow-right-24: Reference](/tutorials/polkadot-sdk/testing/spawn-basic-chain/)
+
+
diff --git a/polkadot-protocol/architecture/parachains/consensus.md b/polkadot-protocol/architecture/parachains/consensus.md
index a11092aa4..f72f7831b 100644
--- a/polkadot-protocol/architecture/parachains/consensus.md
+++ b/polkadot-protocol/architecture/parachains/consensus.md
@@ -113,5 +113,4 @@ It is important to understand that relay chain blocks do not store full parachai
For more technical details, refer to the:
-- [Parachain Wiki](https://wiki.polkadot.network/docs/learn-parachains){target=\_blank} page
-- [Polkadot SDK Implementation Guide](/develop/parachains/get-started) section
\ No newline at end of file
+- [Parachain Wiki](https://wiki.polkadot.network/docs/learn-parachains){target=\_blank} page
\ No newline at end of file
diff --git a/polkadot-protocol/architecture/parachains/overview.md b/polkadot-protocol/architecture/parachains/overview.md
index afacee9a2..2d2aa0cd0 100644
--- a/polkadot-protocol/architecture/parachains/overview.md
+++ b/polkadot-protocol/architecture/parachains/overview.md
@@ -116,4 +116,16 @@ The XCM protocol mitigates common interoperability challenges in isolated blockc
## Where to Go Next
-For further information about the consensus protocol used by parachains, see the [Consensus](/polkadot-protocol/architecture/parachains/consensus/) page.
\ No newline at end of file
+For further information about the consensus protocol used by parachains, see the [Consensus](/polkadot-protocol/architecture/parachains/consensus/) page.
+
+
+
+- Learn __Consensus__
+
+ ---
+
+ Understand how the blocks authored by parachain collators are secured by the relay chain validators and how the parachain transactions achieve finality.
+
+ [:octicons-arrow-right-24: Reference](/polkadot-protocol/architecture/parachains/consensus/)
+
+
\ No newline at end of file
diff --git a/polkadot-protocol/architecture/system-chains/asset-hub.md b/polkadot-protocol/architecture/system-chains/asset-hub.md
index 3c7beab4d..c3c77ce1a 100644
--- a/polkadot-protocol/architecture/system-chains/asset-hub.md
+++ b/polkadot-protocol/architecture/system-chains/asset-hub.md
@@ -200,4 +200,34 @@ Sometimes, XCM transfers may fail due to liquidity or other errors. Failed trans
- **Relay chain to system parachain** - look for the `dmpqueue(ExecutedDownward)` event on the parachain with an `Incomplete` outcome and an error type such as `UntrustedReserveLocation`
- **Parachain to parachain** - monitor for `xcmpqueue(Fail)` on the destination parachain with error types like `TooExpensive`
-For detailed error management in XCM, see Gavin Wood's blog post on [XCM Execution and Error Management](https://www.polkadot.network/blog/xcm-part-three-execution-and-error-management){target=\_blank}.
\ No newline at end of file
+For detailed error management in XCM, see Gavin Wood's blog post on [XCM Execution and Error Management](https://www.polkadot.network/blog/xcm-part-three-execution-and-error-management){target=\_blank}.
+
+## Where to Go Next
+
+
+
+- Tutorial __Register a Local Asset__
+
+ ---
+
+ Comprehensive guide to registering a local asset on the Asset Hub system parachain, including step-by-step instructions.
+
+ [:octicons-arrow-right-24: Reference](/tutorials/polkadot-sdk/system-chains/asset-hub/register-local-asset/)
+
+- Tutorial __Register a Foreign Asset__
+
+ ---
+
+ An in-depth guide to registering a foreign asset on the Asset Hub parachain, providing clear, step-by-step instructions.
+
+ [:octicons-arrow-right-24: Reference](/tutorials/polkadot-sdk/system-chains/asset-hub/register-foreign-asset/)
+
+- Tutorial __Convert Assets__
+
+ ---
+
+ A guide detailing the step-by-step process of converting assets on Asset Hub, helping users efficiently navigate asset management on the platform.
+
+ [:octicons-arrow-right-24: Reference](/tutorials/polkadot-sdk/system-chains/asset-hub/asset-conversion/)
+
+
\ No newline at end of file