Skip to content

Commit dd4b3be

Browse files
committed
Merge branch 'master' into nhussein11/fix-foundry-guide
2 parents 81d3eb4 + 7bf160a commit dd4b3be

File tree

90 files changed

+1308
-365
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

90 files changed

+1308
-365
lines changed

.snippets/code/develop/parachains/get-started/install-polkadot-sdk/termynal-2.html

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,9 @@
44
<br />
55
<span data-ty>active toolchain</span>
66
<span data-ty>----------------</span>
7-
<br />
8-
<span data-ty>stable-x86_64-apple-darwin (default)</span>
9-
<span data-ty>rustc 1.81.0 (eeb90cda1 2024-09-04)</span>
10-
<br />
11-
<span data-ty>...</span>
12-
<br />
13-
<span data-ty>active toolchain</span>
14-
<span data-ty>----------------</span>
15-
<br />
16-
<span data-ty>nightly-x86_64-apple-darwin (overridden by +toolchain on the command line)</span>
17-
<span data-ty>rustc 1.83.0-nightly (6c6d21008 2024-09-22)</span>
7+
<span data-ty>name: stable-aarch64-apple-darwin</span>
8+
<span data-ty>active because: it's the default toolchain</span>
9+
<span data-ty>installed targets:</span>
10+
<span data-ty> aarch64-apple-darwin</span>
11+
<span data-ty> wasm32-unknown-unknown</span>
1812
</div>
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
!!! smartcontract "PolkaVM Alpha Release"
2+
PolkaVM smart contracts with Ethereum compatibility are in **early-stage development and may be unstable or incomplete**.

develop/interoperability/send-messages.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ For further information about the `send` extrinsic, see the [`pallet-xcm` docume
8686

8787
The [`XcmRouter`](https://paritytech.github.io/polkadot-sdk/master/pallet_xcm/pallet/trait.Config.html#associatedtype.XcmRouter){target=\_blank} is a critical component the XCM pallet requires to facilitate sending XCM messages. It defines where messages can be sent and determines the appropriate XCM transport protocol for the operation.
8888

89-
For instance, the Kusama network employs the [`ChildParachainRouter`](https://paritytech.github.io/polkadot-sdk/master/polkadot_runtime_common/xcm_sender/struct.ChildParachainRouter.html){target=\_blank}, which restricts routing to [Downward Message Passing (DMP)](https://wiki.polkadot.network/docs/learn-xcm-transport#dmp-downward-message-passing){target=\_blank} from the relay chain to parachains, ensuring secure and controlled communication.
89+
For instance, the Kusama network employs the [`ChildParachainRouter`](https://paritytech.github.io/polkadot-sdk/master/polkadot_runtime_common/xcm_sender/struct.ChildParachainRouter.html){target=\_blank}, which restricts routing to [Downward Message Passing (DMP)](https://wiki.polkadot.network/learn/learn-xcm-transport/#dmp-downward-message-passing){target=\_blank} from the relay chain to parachains, ensuring secure and controlled communication.
9090

9191
```rust
9292
--8<-- 'https://raw.githubusercontent.com/polkadot-fellows/runtimes/refs/heads/main/relay/kusama/src/xcm_config.rs:122:125'

develop/interoperability/xcm-channels.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ description: Learn how Polkadot's cross-consensus messaging (XCM) channels conne
77

88
## Introduction
99

10-
Polkadot is designed to enable interoperability between its connected parachains. At the core of this interoperability is the [Cross-Consensus Message Format (XCM)](https://wiki.polkadot.network/docs/learn-xcm), a standard language that allows parachains to communicate and interact with each other.
10+
Polkadot is designed to enable interoperability between its connected parachains. At the core of this interoperability is the [Cross-Consensus Message Format (XCM)](/develop/interoperability/intro-to-xcm/){target=\_blank}, a standard language that allows parachains to communicate and interact with each other.
1111

1212
The network-layer protocol responsible for delivering XCM-formatted messages between parachains is the Cross-Chain Message Passing (XCMP) protocol. XCMP maintains messaging queues on the relay chain, serving as a bridge to facilitate cross-chain interactions.
1313

develop/interoperability/xcm-config.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Each configuration item is explained below, detailing the associated type’s pu
3737
- `Dispatchable` - indicates it can be executed in the runtime
3838
- `GetDispatchInfo` - provides weight details, determining how long execution takes
3939

40-
- [**`XcmSender`**](https://paritytech.github.io/polkadot-sdk/master/staging_xcm_executor/trait.Config.html#associatedtype.XcmSender){target=\_blank} - implements the [`SendXcm`](https://paritytech.github.io/polkadot-sdk/master/staging_xcm/v4/trait.SendXcm.html){target=\_blank} trait, specifying how the executor sends XCMs using transport layers (e.g., UMP for relay chains or XCMP for sibling chains). If a runtime lacks certain transport layers, such as [HRMP](https://wiki.polkadot.network/docs/learn-xcm-transport#hrmp-xcmp-lite){target=\_blank} (or [XCMP](https://wiki.polkadot.network/docs/learn-xcm-transport#xcmp-cross-consensus-message-passing-design-summary){target=\_blank})
40+
- [**`XcmSender`**](https://paritytech.github.io/polkadot-sdk/master/staging_xcm_executor/trait.Config.html#associatedtype.XcmSender){target=\_blank} - implements the [`SendXcm`](https://paritytech.github.io/polkadot-sdk/master/staging_xcm/v4/trait.SendXcm.html){target=\_blank} trait, specifying how the executor sends XCMs using transport layers (e.g., UMP for relay chains or XCMP for sibling chains). If a runtime lacks certain transport layers, such as [HRMP](https://wiki.polkadot.network/learn/learn-xcm-transport/#hrmp-xcmp-lite){target=\_blank} (or [XCMP](https://wiki.polkadot.network/learn/learn-xcm-transport/#xcmp-cross-consensus-message-passing-design-summary){target=\_blank})
4141
```rust
4242
type XcmSender: SendXcm;
4343
```
@@ -126,7 +126,7 @@ Each configuration item is explained below, detailing the associated type’s pu
126126
type PalletInstancesInfo: PalletsInfoAccess;
127127
```
128128
<!-- I think `Holding Register` should be linked to https://wiki.polkadot.network/docs/learn/xcm/reference-glossary#holding-register, but since we will have our own glossary, I’m putting this as a TODO -->
129-
- [**`MaxAssetsIntoHolding`**](https://paritytech.github.io/polkadot-sdk/master/staging_xcm_executor/trait.Config.html#associatedtype.MaxAssetsIntoHolding){target=\_blank} - limits the number of assets in the [Holding register](https://wiki.polkadot.network/docs/learn/xcm/reference-glossary#holding-register){target=\_blank}. At most, twice this limit can be held under worst-case conditions
129+
- [**`MaxAssetsIntoHolding`**](https://paritytech.github.io/polkadot-sdk/master/staging_xcm_executor/trait.Config.html#associatedtype.MaxAssetsIntoHolding){target=\_blank} - limits the number of assets in the [Holding register](https://wiki.polkadot.network/learn/learn-xcm/#holding-register){target=\_blank}. At most, twice this limit can be held under worst-case conditions
130130
```rust
131131
type MaxAssetsIntoHolding: Get<u32>;
132132
```

develop/networks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,4 +271,4 @@ Paseo is a decentralised, community run, stable testnet for parachain and dapp d
271271

272272
## Additional Resources
273273

274-
- [**Polkadot Fellowship runtimes repository**](https://github.com/polkadot-fellows/runtimes){target=\_blank} - find a collection of runtimes for Polkadot, Kusama, and their system-parachains as maintained by the community via the [Polkadot Technical Fellowship](https://wiki.polkadot.network/docs/learn-polkadot-technical-fellowship){target=\_blank}
274+
- [**Polkadot Fellowship runtimes repository**](https://github.com/polkadot-fellows/runtimes){target=\_blank} - find a collection of runtimes for Polkadot, Kusama, and their system-parachains as maintained by the community via the [Polkadot Technical Fellowship](https://wiki.polkadot.network/learn/learn-polkadot-technical-fellowship/){target=\_blank}

develop/parachains/deployment/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ flowchart TD
5555

5656
- **Acquire coretime** - to build on top of the Polkadot network, users need to acquire coretime (either on-demand or in bulk) to access the computational resources of the relay chain. This allows for the secure validation of parachain blocks through a randomized selection of relay chain validators
5757

58-
If you’re building a standalone blockchain (solochain) that won’t connect to Polkadot as a parachain, you can skip the preceding step, as there’s no need to acquire coretime or implement [Cumulus](https://wiki.polkadot.network/docs/build-pdk#cumulus){target=\_blank}.
58+
If you’re building a standalone blockchain (solochain) that won’t connect to Polkadot as a parachain, you can skip the preceding step, as there’s no need to acquire coretime or implement [Cumulus](/develop/parachains/#cumulus){target=\_blank}.
5959

6060
- **Launch and monitor** - once everything is configured, you can launch the blockchain, initiating the network with your chain spec and Wasm runtime. Validators or collators will begin producing blocks, and the network will go live. Post-launch, monitoring is vital to ensuring network health—tracking block production, node performance, and overall security
6161

develop/parachains/deployment/obtain-coretime.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Before obtaining coretime, ensure you have:
5252
Bulk coretime provides several advantages:
5353

5454
- Monthly allocation of resources
55-
- Guaranteed block production slots (every 12 seconds, or 6 seconds with [Asynchronous Backing](https://wiki.polkadot.network/docs/learn-async-backing#asynchronous-backing){target=\_blank})
55+
- Guaranteed block production slots (every 12 seconds, or 6 seconds with [Asynchronous Backing](https://wiki.polkadot.network/learn/learn-async-backing/#asynchronous-backing){target=\_blank})
5656
- Priority renewal rights
5757
- Protection against price fluctuations
5858
- Ability to split and resell unused coretime
@@ -66,7 +66,7 @@ To purchase bulk coretime:
6666

6767
After successfully obtaining coretime, your parachain will automatically start producing blocks at regular intervals.
6868

69-
For current marketplaces and pricing, consult the [Coretime Marketplaces](https://wiki.polkadot.network/docs/learn-guides-coretime-marketplaces){target=\_blank} page on the Polkadot Wiki.
69+
For current marketplaces and pricing, consult the [Coretime Marketplaces](https://wiki.polkadot.network/learn/learn-guides-coretime-marketplaces/){target=\_blank} page on the Polkadot Wiki.
7070

7171
### On-demand Coretime
7272

develop/parachains/install-polkadot-sdk.md

Lines changed: 11 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -95,19 +95,12 @@ To install `openssl` and the Rust toolchain on macOS:
9595
rustup default stable
9696
rustup update
9797
rustup target add wasm32-unknown-unknown
98+
rustup component add rust-src
9899
```
99100

100-
8. Add the `nightly` release and the `nightly` Wasm targets to your development
101-
environment by running the following commands:
101+
8. [Verify your installation](#verifying-installation)
102102

103-
```bash
104-
rustup update nightly
105-
rustup target add wasm32-unknown-unknown --toolchain nightly
106-
```
107-
108-
9. [Verify your installation](#verifying-installation)
109-
110-
10. Install `cmake` using the following command:
103+
9. Install `cmake` using the following command:
111104

112105
```bash
113106
brew install cmake
@@ -201,16 +194,11 @@ To install the Rust toolchain on Linux:
201194
```bash
202195
rustup default stable
203196
rustup update
197+
rustup target add wasm32-unknown-unknown
198+
rustup component add rust-src
204199
```
205200

206-
9. Add the `nightly` release and the `nightly` Wasm targets to your development environment by running the following commands:
207-
208-
```bash
209-
rustup update nightly
210-
rustup target add wasm32-unknown-unknown --toolchain nightly
211-
```
212-
213-
10. [Verify your installation](#verifying-installation)
201+
9. [Verify your installation](#verifying-installation)
214202

215203
## Windows (WSL)
216204

@@ -237,7 +225,7 @@ To prepare a development environment using WSL:
237225

238226
If you have Microsoft Windows 10, version 2004 (Build 19041 and higher), or Microsoft Windows 11, WSL is available by default and you can continue to the next step.
239227

240-
If you have an older version of Microsoft Windows installed, see the [WSL manual installation steps for older versions](https://docs.microsoft.com/en-us/windows/wsl/install-manual){target=\_blank}. If you are installing on an older version of Microsoft Windows, you can download and install WLS 2 if your computer has Windows 10, version 1903 or higher
228+
If you have an older version of Microsoft Windows installed, see the [WSL manual installation steps for older versions](https://learn.microsoft.com/en-us/windows/wsl/install-manual){target=\_blank}. If you are installing on an older version of Microsoft Windows, you can download and install WLS 2 if your computer has Windows 10, version 1903 or higher
241229

242230
2. Select **Windows PowerShell** or **Command Prompt** from the **Start** menu, right-click, then **Run as administrator**
243231

@@ -262,7 +250,7 @@ To prepare a development environment using WSL:
262250

263251
Restarting the computer is required to start the installation of the Linux distribution. It can take a few minutes for the installation to complete after you restart.
264252

265-
For more information about setting up WSL as a development environment, see the [Set up a WSL development environment](https://docs.microsoft.com/en-us/windows/wsl/setup/environment){target=\_blank} docs
253+
For more information about setting up WSL as a development environment, see the [Set up a WSL development environment](https://learn.microsoft.com/en-us/windows/wsl/setup/environment){target=\_blank} docs
266254

267255
### Install Required Packages and Rust {: #install-required-packages-and-rust-windows }
268256

@@ -311,24 +299,18 @@ To install the Rust toolchain on WSL:
311299
```bash
312300
rustup default stable
313301
rustup update
302+
rustup target add wasm32-unknown-unknown
303+
rustup component add rust-src
314304
```
315305

316-
11. Add the `nightly` version of the toolchain and the `nightly` Wasm target to your development environment by running the following commands:
317-
318-
```bash
319-
rustup update nightly
320-
rustup target add wasm32-unknown-unknown --toolchain nightly
321-
```
322-
323-
12. [Verify your installation](#verifying-installation)
306+
11. [Verify your installation](#verifying-installation)
324307

325308
## Verifying Installation
326309

327310
Verify the configuration of your development environment by running the following command:
328311

329312
```bash
330313
rustup show
331-
rustup +nightly show
332314
```
333315

334316
The command displays output similar to the following:

develop/parachains/maintenance/runtime-upgrades.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ description: This page covers how runtime versioning and storage migration suppo
99

1010
One of the defining features of Polkadot SDK-based blockchains is the ability to perform forkless runtime upgrades. Unlike traditional blockchains, which require hard forks and node coordination for upgrades, Polkadot networks enable seamless updates without network disruption.
1111

12-
Forkless upgrades are achieved through WebAssembly (Wasm) runtimes stored on-chain, which can be securely swapped and upgraded as part of the blockchain's state. By leveraging decentralized consensus, runtime updates can be happen trustlessly, ensuring continuous improvement and evolution without halting operations.
12+
Forkless upgrades are achieved through WebAssembly (Wasm) runtimes stored on-chain, which can be securely swapped and upgraded as part of the blockchain's state. By leveraging decentralized consensus, runtime updates can happen trustlessly, ensuring continuous improvement and evolution without halting operations.
1313

1414
This guide explains how Polkadot's runtime versioning, Wasm deployment, and storage migrations enable these upgrades, ensuring the blockchain evolves smoothly and securely. You'll also learn how different upgrade processes apply to solo chains and parachains, depending on the network setup.
1515

0 commit comments

Comments
 (0)