You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/md/en/docs/build/genesis-configuration.md
+5
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,11 @@ description:
4
4
keywords:
5
5
---
6
6
7
+
<divclass="warning">
8
+
<strong>⚠️ WARNING:</strong> This page contains outdated information. Please refer to the <ahref="https://paritytech.github.io/polkadot-sdk/master/frame_support/pallet_macros/attr.genesis_build.html">Rust docs</a> for the most up-to-date documentation on this topic.
9
+
</div>
10
+
11
+
7
12
The first block produced by any blockchain is referred to as the genesis block.
8
13
The hash associated with this block is the top-level parent of all blocks produced after that first block.
Copy file name to clipboardExpand all lines: content/md/en/docs/build/origins.md
+4
Original file line number
Diff line number
Diff line change
@@ -5,6 +5,10 @@ keywords:
5
5
- origins
6
6
---
7
7
8
+
<divclass="warning">
9
+
<strong>⚠️ WARNING:</strong> This page contains outdated information. Please refer to the <ahref="https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/reference_docs/frame_origin/index.html">Rust docs</a> for the most up-to-date documentation on this topic.
10
+
</div>
11
+
8
12
The runtime origin is used by dispatchable functions to check where a call has come from.
Copy file name to clipboardExpand all lines: content/md/en/docs/build/pallet-coupling.md
+9
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,15 @@ keywords:
6
6
- pallet design
7
7
---
8
8
9
+
<divclass="warning">
10
+
<p>
11
+
<strong>⚠️ WARNING:</strong> This page contains potentially outdated information. Reading it might still be useful, yet we suggest taking it with a grain of salt.
12
+
</p>
13
+
<p>
14
+
Please refer to the <a href="https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/reference_docs/frame_pallet_coupling/index.html">`polkadot-sdk-docs` crate</a> for the most up-to-date documentation on this topic.
15
+
</p>
16
+
</div>
17
+
9
18
The term **coupling** is often used to describe the degree to which two software modules depend on each other.
10
19
For example, in object-oriented programming tight coupling and loose coupling are used to describe the relationship between objects classes:
Copy file name to clipboardExpand all lines: content/md/en/docs/build/remote-procedure-calls.md
+4
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,10 @@ keywords:
6
6
- frontend
7
7
---
8
8
9
+
<divclass="warning">
10
+
<strong>⚠️ WARNING:</strong> This page may contain outdated information. Please refer to the <ahref="https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/reference_docs/custom_runtime_api_rpc/index.html">Rust docs</a> for the most up-to-date documentation on this topic.
11
+
</div>
12
+
9
13
Remote procedure calls, or RPC methods, are a way for an external program—for example, a browser or front-end application—to communicate with a Substrate node.
10
14
In general, these methods enable an RPC client to connect to an RPC server endpoint to request some type of service.
11
15
For example, you might use an RPC method to read a stored value, submit a transaction, or request information about the chain a node is connected to.
Copy file name to clipboardExpand all lines: content/md/en/docs/deploy/keys-and-network-operations.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -36,12 +36,12 @@ Session keys are private online keys that are used by validators to sign consens
36
36
Session keys must be available online to enable the validator to perform certain network operations.
37
37
38
38
These keys aren't used to control funds and they should only be used for their intended purpose.
39
-
They can be changed regularly
39
+
They can be changed regularly.
40
40
To create session keys, a validator node operator must use a controller account too generate a certificate signed with the session's public key.
41
41
The certificate attests that the key acts on behalf of the validator's staking account and nominators.
42
42
After creating the session key, the validator node operator informs the chain that this key represents the controller key by
43
43
publishing the session certificate in a transaction on the chain.
44
-
In most cases, node operators use the [Session](https://paritytech.github.io/substrate/master/pallet_session/index.html)) pallet to manage their session keys.
44
+
In most cases, node operators use the [Session](https://paritytech.github.io/substrate/master/pallet_session/index.html) pallet to manage their session keys.
45
45
46
46
The [`SessionKeys`](https://paritytech.github.io/substrate/master/sp_session/index.html)
47
47
trait is a generic, indexable type and you can declare any number of session keys in the runtime.
Copy file name to clipboardExpand all lines: content/md/en/docs/learn/accounts-addresses-keys.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ The secret seed phrase is important because it can be used to recover access to
20
20
21
21
For most networks, the **public key** associated with an account is how that account is identified on the network and some form of it is used as the destination address for transactions.
22
22
However, Substrate-based chains use the underlying public key to derive one or more **public addresses**.
23
-
Instead of using the public key directly, Substrate allows you generate multiple addresses and address formats for an account.
23
+
Instead of using the public key directly, Substrate allows you to generate multiple addresses and address formats for an account.
24
24
25
25
## Address encoding and chain-specific addresses
26
26
@@ -74,7 +74,7 @@ For more information about working with generic types, see [Rust for Substrate](
74
74
75
75
## Specialized accounts
76
76
77
-
As a flexible and module framework for blockchain development, Substrate itself doesn't require you define or use any specific type of accounts.
77
+
As a flexible and module framework for blockchain development, Substrate itself doesn't require you to define or use any specific type of accounts.
78
78
However, different chains can implement different rules for how accounts and the keys that control them are used.
79
79
For example, you might implement specialized accounts if your application requires:
If you prefer to explore code directly, you can start building in the [Substrate Playground](/playground/) or consult the API reference to get details about the Rust crates you use.
Copy file name to clipboardExpand all lines: content/md/en/docs/learn/light-clients-in-substrate-connect.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -43,7 +43,7 @@ A few of the key benefits include:
43
43
44
44
You can use Substrate Connect to connect to any Substrate-based blockchain.
45
45
However, you must specify the correct name of the chain that you want to connect to.
46
-
There are a few well-known chain names that are defined for the [`WellKnownChain`](https://paritytech.github.io/substrate-connect/api/enums/connect_src.WellKnownChain.html) enumeration type.
46
+
There are a few well-known chain names that are defined for the [`WellKnownChain`](https://paritytech.github.io/substrate-connect/api/enums/_substrate_connect.WellKnownChain.html) enumeration type.
47
47
48
48
You can connect to the following public blockchain networks using the name listed:
Copy file name to clipboardExpand all lines: content/md/en/docs/learn/offchain-operations.md
+9
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,15 @@ description: Highlights how you can integrate data from offchain sources into th
4
4
keywords:
5
5
---
6
6
7
+
<divclass="warning">
8
+
<p>
9
+
<strong>⚠️ WARNING:</strong> This page contains potentially outdated information. Reading it might still be useful, yet we suggest taking it with a grain of salt.
10
+
</p>
11
+
<p>
12
+
Please refer to the <a href="https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/reference_docs/frame_offchain_workers/index.html">`polkadot-sdk-docs` crate</a> for the most up-to-date documentation on this topic.
13
+
</p>
14
+
</div>
15
+
7
16
There are many use cases where you might want to query data from an offchain source or process data without using on-chain resources before updating the on-chain state.
8
17
The conventional way of incorporating offchain data involves connecting to [oracles](/reference/glossary#oracle) to supply the data from some traditional source.
9
18
Although using oracles is one approach to working with offchain data sources, there are limitations to the security, scalability, and infrastructure efficiency that oracles can provide.
Copy file name to clipboardExpand all lines: content/md/en/docs/learn/rust-basics.md
+2-2
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ Being the language of choice for Substrate, Rust is a highly performant programm
17
17
18
18
## Rust in Substrate
19
19
20
-
In the [Architecture]() section, you will learn that Substrate is made of two distinct architectural components: the outer node and the runtime.
20
+
In the [Architecture](/learn/architecture/) section, you will learn that Substrate is made of two distinct architectural components: the outer node and the runtime.
21
21
While more complex features in Rust such as multithreading and asynchronous Rust are used in the outer node code, they aren't directly exposed to runtime engineers, making it easier for runtime engineers to focus on the business logic of their node.
22
22
23
23
Generally, depending on their focus, developers should expect to know:
@@ -40,7 +40,7 @@ These macros allow you to focus on writing idiomatic Rust and application-specif
40
40
41
41
Rust macros are a powerful tool to help ensure certain requirements are met (without re-writing code) such as the logic to be formatted in a specific way, specific checks are made, or some logic consists of specific data structures.
42
42
This is especially useful to help developers write code that can integrate with the complexity of a Substrate runtime.
43
-
For example, the `#[frame_system::pallet]` macro is required in all FRAME pallets to help you correctly implement certain required attributes-such as storage items or externally callable functions-and make it compatible with the build process in `construct_runtime`.
43
+
For example, the `#[frame_support::pallet]` macro is required in all FRAME pallets to help you correctly implement certain required attributes-such as storage items or externally callable functions-and make it compatible with the build process in `construct_runtime`.
44
44
45
45
Developing Substrate runtimes involves heavy use of Rust's attribute macros, which come in two flavors: derive attributes and custom attributes.
46
46
When you're getting started with Substrate, it isn't so important to know exactly how they work, but rather to know that they exist that they empower you to write correct runtime code.
Copy file name to clipboardExpand all lines: content/md/en/docs/learn/what-can-you-build.md
+4-4
Original file line number
Diff line number
Diff line change
@@ -92,7 +92,7 @@ Individual pallets are typically easy to develop by using FRAME and easy for Sub
92
92
93
93
### Writing correct code
94
94
95
-
It's worth noting that pallets don't inherently provide any of type of protection or safeguards that smart contracts provide.
95
+
It's worth noting that pallets don't inherently provide any type of protection or safeguards that smart contracts provide.
96
96
With pallets, you control the logic available for runtime developers to implement.
97
97
You provide the methods, storage items, events, and errors that your module requires.
98
98
Pallets don't inherently introduce a fee or metering system.
@@ -101,7 +101,7 @@ This lack of built-in safeguards implies that you have a great deal of responsib
101
101
102
102
### Pallets outside of runtime development
103
103
104
-
Often, writing a pallet is the gateway to runtime development, giving you the opportunity to experiment with existing pallets and coding patterns without building a compete blockchain application.
104
+
Often, writing a pallet is the gateway to runtime development, giving you the opportunity to experiment with existing pallets and coding patterns without building a complete blockchain application.
105
105
Individual pallets also provide an alternative way you can contribute to a project without writing your own application.
106
106
107
107
Although writing and testing pallets is typically a stepping stone to building larger scale application, there are many examples of the value individual pallets can have to the ecosystem as a whole.
@@ -170,7 +170,7 @@ The only requirement is that your parachain or parathread must be compatible wit
170
170
171
171
### Planning parachain resource requirements
172
172
173
-
As a parachain, your project can offer functionality to a broader community in a more secure way that a private chain or a solo chain.
173
+
As a parachain, your project can offer functionality to a broader community in a more secure way than a private chain or a solo chain.
174
174
However, if you want to build a production-ready parachain, you should keep the following additional requirements in mind:
175
175
176
176
- You'll need a development team with sufficient skills and experience, whether that means programming in Rust or a background in UX design.
@@ -196,7 +196,7 @@ For example, building a parachain might be the best option for the following use
Copy file name to clipboardExpand all lines: content/md/en/docs/learn/xcm-communication.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -83,7 +83,7 @@ There are several other registers in the XCVM to handle specific tasks.
83
83
For example, there's a surplus weight register to store any overestimation of fees and a refunded weight register to store the portion of surplus weight that has been refunded.
84
84
In general, you can't modify the values stored in the registers directly.
85
85
Instead, values are set when the XCM executor program starts and are manipulated by specific instructions, under certain circumstances, or according to certain rules.
86
-
FOr more information about what's contained in each register, see [XCM reference](/reference/xcm-reference/).
86
+
For more information about what's contained in each register, see [XCM reference](/reference/xcm-reference/).
Copy file name to clipboardExpand all lines: content/md/en/docs/maintain/runtime-upgrades.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ If a runtime upgrade requires changes to the existing state, it is likely to req
19
19
20
20
In [Build process](/main-docs/build/build-process/), you learned that compiling a node generated both a platform-native binary and a WebAssembly binary and that selecting which binary to use at different points in the block production process can be controlled by execution strategy command-line options.
21
21
The component that selects the runtime execution environment to communicate with is called the **executor**.
22
-
Although you can override the default execution strategies for custom scenarios, in most cases, or the executor select the appropriate binary to use by evaluating the following information for both the native and WebAssembly runtime binaries:
22
+
Although you can override the default execution strategies for custom scenarios, in most cases the executor select the appropriate binary to use by evaluating the following information for both the native and WebAssembly runtime binaries:
0 commit comments