Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions node-infrastructure/run-a-node/parachain-rpc.md
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Expand Down Expand Up @@ -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:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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.

10 changes: 7 additions & 3 deletions reference/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -132,7 +136,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.

Expand All @@ -143,7 +147,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

Expand Down Expand Up @@ -225,7 +229,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.

Expand Down
2 changes: 1 addition & 1 deletion smart-contracts/cookbook/eth-dapps/uniswap-v3/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
14 changes: 7 additions & 7 deletions smart-contracts/precompiles/eth-native.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
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.
Loading