From bc8af58f4a2d90c8091bf5be1ff2c557a75eb79c Mon Sep 17 00:00:00 2001 From: 0xlukem Date: Tue, 19 May 2026 14:31:05 -0300 Subject: [PATCH 1/3] fix URL --- node-infrastructure/run-a-node/parachain-rpc.md | 4 ++-- .../onboarding-and-offboarding/start-validating.md | 3 +-- .../cookbook/eth-dapps/uniswap-v3/index.md | 2 +- .../cookbook/eth-dapps/uniswap-v3/periphery-v3.md | 2 +- smart-contracts/precompiles/eth-native.md | 14 +++++++------- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/node-infrastructure/run-a-node/parachain-rpc.md b/node-infrastructure/run-a-node/parachain-rpc.md index 5353e4cb8..acd92bd68 100644 --- a/node-infrastructure/run-a-node/parachain-rpc.md +++ b/node-infrastructure/run-a-node/parachain-rpc.md @@ -215,7 +215,7 @@ System parachain details: !!! note The `parity/polkadot-parachain` image works for system parachains and parachains built with standard Cumulus templates. For parachains with custom runtimes, check the parachain's documentation for their specific Docker image or binary. - Refer to the [Port Mappings](#port-mappings) and [Node Configuration Arguments](#node-configuration-arguments) sections for details on the command's configurations. + Refer to the [Port Mappings](#port-mappings) and [Node Configuration Parameters](#node-configuration-parameters) sections for details on the command's configurations. === "systemd" @@ -345,7 +345,7 @@ System parachain details: WantedBy=multi-user.target ``` - Refer to the [Port Mappings](#port-mappings) and [Node Configuration Arguments](#node-configuration-arguments) sections for details on the command's configurations. + Refer to the [Port Mappings](#port-mappings) and [Node Configuration Parameters](#node-configuration-parameters) sections for details on the command's configurations. 6. Start the service: diff --git a/node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md b/node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md index 1992d735b..b0a7c0f73 100644 --- a/node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md +++ b/node-infrastructure/run-a-validator/onboarding-and-offboarding/start-validating.md @@ -143,7 +143,7 @@ Ensure the following requirements are met before proceeding with the systemd set - Confirm your system meets the [requirements](/node-infrastructure/run-a-validator/requirements/){target=\_blank} for running a validator. - Ensure you meet the [minimum bond requirements](https://wiki.polkadot.com/general/chain-state-values/#minimum-validator-bond){target=\_blank} for validating. -- Verify the Polkadot binary is [installed](#install-the-polkadot-binaries). +- Verify the Polkadot binary is [installed](/node-infrastructure/run-a-validator/onboarding-and-offboarding/set-up-validator/#install-the-polkadot-binaries). ### Create the Systemd Service File @@ -191,4 +191,3 @@ journalctl -f -u polkadot-validator With these steps, you can effectively manage and monitor your validator as a systemd service. Once your validator is active, it's officially part of Polkadot's security infrastructure. For questions or further support, you can reach out to the [Polkadot Validator chat](https://matrix.to/#/!NZrbtteFeqYKCUGQtr:matrix.parity.io?via=matrix.parity.io&via=matrix.org&via=web3.foundation){target=\_blank} for tips and troubleshooting. - diff --git a/smart-contracts/cookbook/eth-dapps/uniswap-v3/index.md b/smart-contracts/cookbook/eth-dapps/uniswap-v3/index.md index bb536527a..cc7bd4d17 100644 --- a/smart-contracts/cookbook/eth-dapps/uniswap-v3/index.md +++ b/smart-contracts/cookbook/eth-dapps/uniswap-v3/index.md @@ -6,7 +6,7 @@ categories: Smart Contracts, Tooling # Uniswap V3 on Polkadot -[Uniswap V3](https://docs.uniswap.org/contracts/v3/overview){target=\_blank} is the next evolution of the Uniswap protocol. It introduces concentrated liquidity, allowing liquidity providers to allocate capital within custom price ranges instead of across the entire price curve. This results in dramatically improved capital efficiency compared to V2's uniform distribution model. +[Uniswap V3](https://developers.uniswap.org/docs/protocols/v3/overview){target=\_blank} is the next evolution of the Uniswap protocol. It introduces concentrated liquidity, allowing liquidity providers to allocate capital within custom price ranges instead of across the entire price curve. This results in dramatically improved capital efficiency compared to V2's uniform distribution model. Key innovations in Uniswap V3 include: diff --git a/smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md b/smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md index 89e73b822..7a071605d 100644 --- a/smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md +++ b/smart-contracts/cookbook/eth-dapps/uniswap-v3/periphery-v3.md @@ -14,7 +14,7 @@ page_tests: ## Introduction -The [Uniswap V3 Periphery](https://docs.uniswap.org/contracts/v3/overview){target=\_blank} contracts provide the user-facing layer that sits on top of the [Uniswap V3 Core](/smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3/){target=\_blank} Factory and Pool contracts. While V3 Core handles the low-level concentrated liquidity engine, the Periphery contracts expose the functions that users and applications interact with directly: executing token swaps through one or more pools and managing concentrated liquidity positions as ERC-721 NFTs. +The [Uniswap V3 Periphery](https://developers.uniswap.org/docs/protocols/v3/overview){target=\_blank} contracts provide the user-facing layer that sits on top of the [Uniswap V3 Core](/smart-contracts/cookbook/eth-dapps/uniswap-v3/core-v3/){target=\_blank} Factory and Pool contracts. While V3 Core handles the low-level concentrated liquidity engine, the Periphery contracts expose the functions that users and applications interact with directly: executing token swaps through one or more pools and managing concentrated liquidity positions as ERC-721 NFTs. This tutorial follows the EVM execution path. With EVM (powered by [REVM](https://github.com/bluealloy/revm){target=\_blank}, a Rust implementation of the Ethereum Virtual Machine), you deploy the same unmodified Solidity contracts using the same standard Hardhat toolchain you already know. No special compiler plugins, no contract rewrites, and no porting effort. If your project compiles with vanilla Hardhat, it runs on Polkadot Hub through EVM. diff --git a/smart-contracts/precompiles/eth-native.md b/smart-contracts/precompiles/eth-native.md index acfc89481..20aac566c 100644 --- a/smart-contracts/precompiles/eth-native.md +++ b/smart-contracts/precompiles/eth-native.md @@ -26,16 +26,16 @@ Revive implements the standard set of Ethereum precompiles: | Contract Name | Address (Last Byte) | Description | | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------: | :---------------------------------------------------------------------------------------------: | -| [ECRecover](https://github.com/paritytech/polkadot-sdk/tree/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/ecrecover.rs){target=\_blank} | 0x01 | Recovers the public key associated with a signature | -| [Sha256](https://github.com/paritytech/polkadot-sdk/tree/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/sha256.rs){target=\_blank} | 0x02 | Implements the SHA-256 hash function | -| [Ripemd160](https://github.com/paritytech/polkadot-sdk/tree/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/ripemd160.rs){target=\_blank} | 0x03 | Implements the RIPEMD-160 hash function | -| [Identity](https://github.com/paritytech/polkadot-sdk/tree/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/identity.rs){target=\_blank} | 0x04 | Data copy function (returns input as output) | -| [Modexp](https://github.com/paritytech/polkadot-sdk/tree/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/modexp.rs){target=\_blank} | 0x05 | Modular exponentiation | +| [ECRecover](https://github.com/paritytech/polkadot-sdk/blob/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/ecrecover.rs){target=\_blank} | 0x01 | Recovers the public key associated with a signature | +| [Sha256](https://github.com/paritytech/polkadot-sdk/blob/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/sha256.rs){target=\_blank} | 0x02 | Implements the SHA-256 hash function | +| [Ripemd160](https://github.com/paritytech/polkadot-sdk/blob/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/ripemd160.rs){target=\_blank} | 0x03 | Implements the RIPEMD-160 hash function | +| [Identity](https://github.com/paritytech/polkadot-sdk/blob/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/identity.rs){target=\_blank} | 0x04 | Data copy function (returns input as output) | +| [Modexp](https://github.com/paritytech/polkadot-sdk/blob/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/modexp.rs){target=\_blank} | 0x05 | Modular exponentiation | | [Bn128Add](https://github.com/paritytech/polkadot-sdk/blob/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/bn128.rs#L31){target=\_blank} | 0x06 | Addition on the [alt_bn128 curve](https://eips.ethereum.org/EIPS/eip-196){target=\_blank} | | [Bn128Mul](https://github.com/paritytech/polkadot-sdk/blob/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/bn128.rs#L59){target=\_blank} | 0x07 | Multiplication on the [alt_bn128 curve](https://eips.ethereum.org/EIPS/eip-196){target=\_blank} | | [Bn128Pairing](https://github.com/paritytech/polkadot-sdk/blob/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/bn128.rs#L87){target=\_blank} | 0x08 | Pairing check on the alt_bn128 curve | -| [Blake2F](https://github.com/paritytech/polkadot-sdk/tree/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/blake2f.rs){target=\_blank} | 0x09 | Blake2 compression function F | +| [Blake2F](https://github.com/paritytech/polkadot-sdk/blob/{{dependencies.repositories.polkadot_sdk.version}}/substrate/frame/revive/src/precompiles/builtin/blake2f.rs){target=\_blank} | 0x09 | Blake2 compression function F | ## Conclusion -Ethereum-native precompiles provide a powerful foundation for smart contract development on Polkadot Hub, offering high-performance implementations of essential cryptographic and utility functions. By maintaining compatibility with standard Ethereum precompile addresses and interfaces, Revive ensures that developers can leverage existing knowledge and tools while benefiting from the enhanced performance of native execution. \ No newline at end of file +Ethereum-native precompiles provide a powerful foundation for smart contract development on Polkadot Hub, offering high-performance implementations of essential cryptographic and utility functions. By maintaining compatibility with standard Ethereum precompile addresses and interfaces, Revive ensures that developers can leverage existing knowledge and tools while benefiting from the enhanced performance of native execution. From 41a40802f92b992c867100e992b32576f32e16ff Mon Sep 17 00:00:00 2001 From: 0xlukem Date: Tue, 19 May 2026 17:19:47 -0300 Subject: [PATCH 2/3] fix: clarify terminology related to chain state in glossary.md --- reference/glossary.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/reference/glossary.md b/reference/glossary.md index d57c15c31..f6af9e7ea 100644 --- a/reference/glossary.md +++ b/reference/glossary.md @@ -132,7 +132,7 @@ Function objects that act as the entry points in FRAME [pallets](#pallet). Inter ## Events -A means of recording that some particular [state](#state) transition happened. +A means of recording that some particular [chain state](#chain-state) transition happened. In the context of [FRAME](#frame-framework-for-runtime-aggregation-of-modularized-entities), events are composable data types that each [pallet](#pallet) can individually define. Events in FRAME are implemented as a set of transient storage items inspected immediately after a block has been executed and reset during block initialization. @@ -143,7 +143,7 @@ There are two orchestration engines in Polkadot SDK, _WebAssembly_ and _native_. - The _native executor_ uses a natively compiled runtime embedded in the node to execute calls. This is a performance optimization available to up-to-date nodes. -- The _WebAssembly executor_ uses a [Wasm](#webassembly-wasm) binary and a Wasm interpreter to execute calls. The binary is guaranteed to be up-to-date regardless of the version of the blockchain node because it is persisted in the [state](#state) of the Polkadot SDK-based chain. +- The _WebAssembly executor_ uses a [Wasm](#webassembly-wasm) binary and a Wasm interpreter to execute calls. The binary is guaranteed to be up-to-date regardless of the version of the blockchain node because it is persisted in the [chain state](#chain-state) of the Polkadot SDK-based chain. ## Existential Deposit @@ -225,7 +225,7 @@ Polkadot SDK uses the [Rust implementation](https://github.com/libp2p/rust-libp2 ## Light Client -A type of blockchain node that doesn't store the [chain state](#state) or produce blocks. +A type of blockchain node that doesn't store the [chain state](#chain-state) or produce blocks. A light client can verify cryptographic primitives and provides a [remote procedure call (RPC)](https://en.wikipedia.org/wiki/Remote_procedure_call){target=\_blank} server, enabling blockchain users to interact with the network. @@ -304,6 +304,10 @@ A public key address based on the Bitcoin [`Base-58-check`](https://en.bitcoin.i The [canonical `ss58-registry`](https://github.com/paritytech/ss58-registry){target=\_blank} provides additional details about the address format used by different Polkadot SDK-based chains, including the network prefix and website used for different networks +## Chain State + +Chain state (also referred to as on-chain state) is the complete set of data stored in a Polkadot SDK-based blockchain's key-value database at any given point in time. It represents everything the runtime currently knows and manages about the network. + ## State Transition Function (STF) The logic of a blockchain that determines how the state changes when a block is processed. In Polkadot SDK, the state transition function is effectively equivalent to the [runtime](#runtime). From 6e472b01f0d233658934a2326872adcabd98033b Mon Sep 17 00:00:00 2001 From: 0xlukem Date: Tue, 19 May 2026 17:28:41 -0300 Subject: [PATCH 3/3] feedback --- reference/glossary.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/reference/glossary.md b/reference/glossary.md index f6af9e7ea..bb0399e3a 100644 --- a/reference/glossary.md +++ b/reference/glossary.md @@ -64,6 +64,10 @@ In the context of pallets containing functions to be dispatched to the runtime, A chain specification file defines the properties required to run a node in an active or new Polkadot SDK-built network. It often contains the initial genesis runtime code, network properties (such as the network's name), the initial state for some pallets, and the boot node list. The chain specification file makes it easy to use a single Polkadot SDK codebase as the foundation for multiple independently configured chains. +## Chain State + +Chain state (also referred to as on-chain state) is the complete set of data stored in a Polkadot SDK-based blockchain's key-value database at any given point in time. It represents everything the runtime currently knows and manages about the network. + ## Collator An [author](#block-author) of a [parachain](#parachain) network. @@ -304,10 +308,6 @@ A public key address based on the Bitcoin [`Base-58-check`](https://en.bitcoin.i The [canonical `ss58-registry`](https://github.com/paritytech/ss58-registry){target=\_blank} provides additional details about the address format used by different Polkadot SDK-based chains, including the network prefix and website used for different networks -## Chain State - -Chain state (also referred to as on-chain state) is the complete set of data stored in a Polkadot SDK-based blockchain's key-value database at any given point in time. It represents everything the runtime currently knows and manages about the network. - ## State Transition Function (STF) The logic of a blockchain that determines how the state changes when a block is processed. In Polkadot SDK, the state transition function is effectively equivalent to the [runtime](#runtime).