diff --git a/.CONTRIBUTING.md b/.CONTRIBUTING.md index 308ab193..2e6093e8 100644 --- a/.CONTRIBUTING.md +++ b/.CONTRIBUTING.md @@ -61,10 +61,8 @@ Below is an example of an `index.md` file: --- title: Build your Appchain description: Install the software to compile yousr appchain, configure your genesis state and core functionalities, test locally and get ready to deploy through Tanssi. -template: subsection-index-page.html -hide: - - toc - - feedback +icon: octicons-code-24 +template: index-page.html --- ``` @@ -72,7 +70,8 @@ Some important things to note: - The `title` represents the `
```0x0000000000000000000000000000000000000800```| +| Call Permit |
```0x0000000000000000000000000000000000000802```| +| Proxy |
```0x0000000000000000000000000000000000000805```| +| Batch Transactions |
```0x0000000000000000000000000000000000000801```| + +To find out more about each precompile, check out the guides listed in the following section. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/ethereum-api/precompiles/proxy.md b/builders/toolkit/ethereum-api/precompiles/proxy.md index 68dbc8fe..c169ad76 100644 --- a/builders/toolkit/ethereum-api/precompiles/proxy.md +++ b/builders/toolkit/ethereum-api/precompiles/proxy.md @@ -2,6 +2,7 @@ title: The Proxy Precompile description: Learn how to interact with the Proxy precompile to add and remove proxy accounts that can execute specific transactions on behalf of other account. keywords: solidity, ethereum, proxy, moonbeam, precompiled, contracts, substrate +icon: octicons-shield-lock-24 --- # Interacting with the Proxy Precompile diff --git a/builders/toolkit/ethereum-api/rpc.md b/builders/toolkit/ethereum-api/rpc.md index 71af7a62..a81bc004 100644 --- a/builders/toolkit/ethereum-api/rpc.md +++ b/builders/toolkit/ethereum-api/rpc.md @@ -1,6 +1,7 @@ --- title: JSON-RPC API Methods description: Learn about the supported JSON-RPC API methods for querying your Tanssi EVM appchain, including standard Ethereum methods and custom methods unique to Tanssi. +icon: material-code-json --- # JSON-RPC API Methods diff --git a/builders/toolkit/ethereum-api/wallets/index.md b/builders/toolkit/ethereum-api/wallets/index.md index 0e51b9d7..2d81e42e 100644 --- a/builders/toolkit/ethereum-api/wallets/index.md +++ b/builders/toolkit/ethereum-api/wallets/index.md @@ -1,8 +1,18 @@ --- title: Ethereum API Wallets -description: Learn how to interact with your Tanssi EVM appchain through the Ethereum API including configuring wallets, adding RPC Urls, and sending funds. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn how to interact with your Tanssi EVM network through the Ethereum API including configuring wallets, adding RPC URLs, and sending funds. +icon: material-wallet-outline +template: index-page.html --- + +# Wallets + +Wallets are digital tools that allow users to securely store, manage, and transact with their digital assets. They store the cryptographic keys required to access digital assets and enable one to execute transactions on blockchain networks. + +For EVM-compatible networks, you can use any wallet that supports EVM, with the flexibility to add custom network configurations, enabling seamless connection and interaction with your network. + +The pages in this section provide an overview of getting started with various wallet providers. It covers how to create and import accounts, connect to your network, and begin interacting with it. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: \ No newline at end of file diff --git a/builders/toolkit/ethereum-api/wallets/metamask.md b/builders/toolkit/ethereum-api/wallets/metamask.md index 86275fda..6fca1793 100644 --- a/builders/toolkit/ethereum-api/wallets/metamask.md +++ b/builders/toolkit/ethereum-api/wallets/metamask.md @@ -1,6 +1,7 @@ --- title: How to Connect MetaMask description: This guide walks you through how to connect MetaMask, a browser-based Ethereum wallet, to your Tanssi EVM appchain and how to transfer funds. +icon: material-wallet-outline --- # Interacting with your Tanssi EVM Appchain Using MetaMask diff --git a/builders/toolkit/ethereum-api/wallets/subwallet.md b/builders/toolkit/ethereum-api/wallets/subwallet.md index dff5b19c..a2ff657e 100644 --- a/builders/toolkit/ethereum-api/wallets/subwallet.md +++ b/builders/toolkit/ethereum-api/wallets/subwallet.md @@ -1,6 +1,7 @@ --- title: How to Connect SubWallet to Tanssi description: This guide walks you through how to connect SubWallet, a comprehensive Polkadot, Substrate, and Ethereum wallet, to your Tanssi EVM appchain. +icon: material-wallet-outline --- # Interacting with Your Tanssi EVM Appchain Using SubWallet diff --git a/builders/toolkit/ethereum-api/wallets/talisman.md b/builders/toolkit/ethereum-api/wallets/talisman.md index 831350c6..0b9ae799 100644 --- a/builders/toolkit/ethereum-api/wallets/talisman.md +++ b/builders/toolkit/ethereum-api/wallets/talisman.md @@ -1,6 +1,7 @@ --- title: How to Connect Talisman to Tanssi description: This guide walks you through how to connect Talisman, a comprehensive Polkadot, Substrate, and Ethereum wallet, to your Tanssi EVM appchain. +icon: material-wallet-outline --- # Interacting with Your Tanssi EVM Appchain Using Talisman diff --git a/builders/toolkit/index.md b/builders/toolkit/index.md index afe3b0f5..0c3c173c 100644 --- a/builders/toolkit/index.md +++ b/builders/toolkit/index.md @@ -1,8 +1,17 @@ --- title: Guides for Developing DApps -description: Dive into tutorials, tools, and resources designed to streamline the development process when building DApps on Tanssi and Tanssi appchains. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Dive into tools and resources designed to streamline the development process when building dApps on Tanssi and Tanssi networks. +icon: octicons-tools-24 +template: index-page.html --- + +# Toolkit + +The Toolkit section is your all-in-one resource hub for building, deploying, and managing Tanssi-powered networks. It brings together Ethereum and Substrate tools, such as libraries, development environments, precompiles, JSON-RPC methods, and more. Whether you're enhancing an existing network or implementing new features, this toolkit gives you everything you need to simplify the development and operation of your network. + +!!! tip + If you are working with an EVM-compatible network, you can use Substrate tools to interact with the lower-level functionalities of your network. Using this, you can interact with custom runtime modules, query storage, manage governance, or work with features unique to Substrate. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/integrations/index.md b/builders/toolkit/integrations/index.md index 186c5d0a..75bb8432 100644 --- a/builders/toolkit/integrations/index.md +++ b/builders/toolkit/integrations/index.md @@ -1,8 +1,20 @@ --- title: Integrations -description: Uncover some of the available integrations, ready to seamlessly integrate with and extend the functionality of your apps on Tanssi EVM or Substrate appchains. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Uncover some of the available integrations, ready to seamlessly integrate with and extend the functionality of your apps on Tanssi EVM or Substrate networks. +icon: octicons-package-24 +template: index-page.html --- + +# Integrations + +Discover integrations that enable you to extend the functionality of your Tanssi-powered dApps. These integrations enable seamless interaction with external data sources, enhance user experience, and enable advanced features such as on-chain data feeds, analytics, and wallet support. + +Ready to start building? Check out the following integrations: + +- **Oracles** - [Acurast](/builders/toolkit/integrations/oracles/acurast/), [Band](/builders/toolkit/integrations/oracles/band/), and [Phala](/builders/toolkit/integrations/oracles/phala/) +- **Indexers** - [Subsquid](/builders/toolkit/integrations/indexers/subsquid/quick-start/) +- **Wallets** - [RainbowKit](/builders/toolkit/integrations/wallet-integrations/rainbowkit/) + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/integrations/indexers/index.md b/builders/toolkit/integrations/indexers/index.md index 49a1b8b3..1a6fd575 100644 --- a/builders/toolkit/integrations/indexers/index.md +++ b/builders/toolkit/integrations/indexers/index.md @@ -1,8 +1,21 @@ --- title: EVM Blockchain Data Indexers -description: Learn how to use blockchain indexers to ingest, process, refine, and query Ethereum (EVM) data on Your Tanssi EVM appchain. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn how to use blockchain indexers to ingest, process, refine, and query Ethereum (EVM) data on Your Tanssi EVM network. +icon: octicons-codescan-24 +template: index-page.html --- + +# Indexers + +Indexers enable efficient ingestion, processing, and querying of blockchain data, providing developers with powerful tools to create responsive and data-rich applications on Tanssi-powered networks. + +Main features of indexers include: + +- **Improved data acess speed** - faster querying of on-chain data by organizing and indexing it, enabling quicker retrieval times +- **Data aggregation** - ingest and transform data that is easier to query and work with large amounts of data +- **Enhanced querying capabilities** - use sophisticatd querying methods, such as filtering, sorting, and pagination +- **Real-time data updates** - synchronization with the blockchain enables applications to access the latest information as soon as its available + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/integrations/indexers/subsquid/erc20-transfers.md b/builders/toolkit/integrations/indexers/subsquid/erc20-transfers.md index fab88b65..8f59b59e 100644 --- a/builders/toolkit/integrations/indexers/subsquid/erc20-transfers.md +++ b/builders/toolkit/integrations/indexers/subsquid/erc20-transfers.md @@ -1,6 +1,7 @@ --- title: Index ERC-20 Transfers on an EVM Appchain description: Learn how to use Subsquid, a query node framework that can index both Substrate and EVM data, to process blockchain data for your Tanssi appchain. +icon: octicons-arrow-switch-24 --- # Indexing ERC-20 Transfers on a Tanssi EVM Appchain diff --git a/builders/toolkit/integrations/indexers/subsquid/index.md b/builders/toolkit/integrations/indexers/subsquid/index.md index 21cdd581..b2d258ff 100644 --- a/builders/toolkit/integrations/indexers/subsquid/index.md +++ b/builders/toolkit/integrations/indexers/subsquid/index.md @@ -1,8 +1,14 @@ --- title: Subsquid -description: Explore comprehensive tutorials covering the fundamentals and advanced techniques for indexing data on your Tanssi Substrate or EVM Appchain with Subsquid. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Explore comprehensive tutorials covering the fundamentals and advanced techniques for indexing data on your Tanssi Substrate or EVM network with Subsquid. +icon: octicons-codescan-24 +template: index-page.html --- + +# Subsquid + +Subsquid is a blockchain indexing and query service designed to make it easier for developers to build data-rich applications on Substrate-based chains, such as Tanssi-powered networks. It provides an efficient and scalable solution for processing, indexing, and querying on-chain data, allowing developers to easily interact with the blockchain data they need without dealing with the complexities of raw blockchain data directly. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: \ No newline at end of file diff --git a/builders/toolkit/integrations/indexers/subsquid/quick-start.md b/builders/toolkit/integrations/indexers/subsquid/quick-start.md index 4dcd1547..7a6c25f9 100644 --- a/builders/toolkit/integrations/indexers/subsquid/quick-start.md +++ b/builders/toolkit/integrations/indexers/subsquid/quick-start.md @@ -1,6 +1,7 @@ --- title: Index a Tanssi Appchain with Subsquid description: Learn how to use Subsquid, a query node framework for Substrate-based chains, to index and process data on a Tanssi EVM or Substrate Appchain. +icon: octicons-rocket-24 --- # Indexing a Tanssi Appchain with Subsquid diff --git a/builders/toolkit/integrations/oracles/acurast.md b/builders/toolkit/integrations/oracles/acurast.md index 7421ec34..ca33feca 100644 --- a/builders/toolkit/integrations/oracles/acurast.md +++ b/builders/toolkit/integrations/oracles/acurast.md @@ -1,6 +1,7 @@ --- title: Using Acurast for Price Feed Oracles description: Learn how to use Acurast's decentralized serverless cloud to get reliable price feed token asset data on your Tanssi EVM appchain. +icon: octicons-eye-24 --- # Accessing Price Feeds with Acurast diff --git a/builders/toolkit/integrations/oracles/band.md b/builders/toolkit/integrations/oracles/band.md index dd7d7923..7ef97977 100644 --- a/builders/toolkit/integrations/oracles/band.md +++ b/builders/toolkit/integrations/oracles/band.md @@ -1,6 +1,7 @@ --- title: Using Band Protocol for Price Feed Oracles description: Learn how to use the Band Protocol's descentralized oracle network to get reliable token prices enabling secure data access for your Tanssi EVM appchain. +icon: octicons-eye-24 --- # Accesing Price Feeds with the Band Protocol diff --git a/builders/toolkit/integrations/oracles/index.md b/builders/toolkit/integrations/oracles/index.md index f6ca5046..91801b0c 100644 --- a/builders/toolkit/integrations/oracles/index.md +++ b/builders/toolkit/integrations/oracles/index.md @@ -1,8 +1,20 @@ --- title: Oracles -description: Learn how to integrate specialized tools like decentralized price feed Oracles to provide asset price feeds to builders and users of your Tanssi appchain. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn how to integrate specialized tools like decentralized price feed Oracles to provide asset price feeds to builders and users of your Tanssi network. +icon: octicons-eye-24 +template: index-page.html --- + +# Oracles + +Blockchain oracles are services that enable blockchains to interact with external data sources, bridging the gap between smart contracts and real-world information. Oracles are essential for dynamic applications that rely on accurate and timely off-chain data. + +Main features of oracles include: + +- **External connectivity** - allowing smart contracts to fetch and utilize real-world data +- **Automation** - trigger contract execution based on external conditions +- **Flexibility** - support various data types, such as price feeds, weather updates, and sports results + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/integrations/oracles/phala.md b/builders/toolkit/integrations/oracles/phala.md index 80ddaa46..1d224897 100644 --- a/builders/toolkit/integrations/oracles/phala.md +++ b/builders/toolkit/integrations/oracles/phala.md @@ -1,6 +1,7 @@ --- title: Using Phala for Price Feed Oracles description: Learn how to use Phala's off-chain computing network to get reliable Ethereum Mainnet Chainlink Oracle token price feed data on your Tanssi EVM appchain. +icon: octicons-eye-24 --- # Launching Price Feeds with Phala diff --git a/builders/toolkit/integrations/wallet-integrations/index.md b/builders/toolkit/integrations/wallet-integrations/index.md index 8d9250da..6d9cc9e8 100644 --- a/builders/toolkit/integrations/wallet-integrations/index.md +++ b/builders/toolkit/integrations/wallet-integrations/index.md @@ -1,8 +1,21 @@ --- title: Wallets Integrations -description: Learn how to add wallet integrations, such as MetaMask and WalletConnect, to your dApp on Tanssi appchains so users can automatically connect to their wallets. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn how to add wallet integrations to your dApp on Tanssi-powered networks so users can automatically connect to their wallets. +icon: material-wallet-outline +template: index-page.html --- + +# Wallets Integrations + +Wallet integrations are essential for enabling user interactions with decentralized applications (dApps) by allowing users to securely manage their digital assets, sign transactions, and authenticate their identity. These integrations provide developers with the tools to build applications that can interact with users’ wallets, facilitating blockchain transactions and interactions in a user-friendly manner. + +Main features of wallet integraions include: + +- **Multi-wallet support** - out-of-the-box support for multiple wallet providers, reducing the need for custom integration +- **Improved user experience** - users can easily connect using their preferred wallet via an intuitive user interface +- **Pre-built UI components** - ready-to-use UI components for wallet connection, account display, and balance management, streamlining development +- **Customization** - customize the wallet modal's appearance and behavior to match your branding and user interface design + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/integrations/wallet-integrations/rainbowkit.md b/builders/toolkit/integrations/wallet-integrations/rainbowkit.md index 0b5fbdae..daf88a4f 100644 --- a/builders/toolkit/integrations/wallet-integrations/rainbowkit.md +++ b/builders/toolkit/integrations/wallet-integrations/rainbowkit.md @@ -1,6 +1,7 @@ --- title: How to Add RainbowKit to a Tanssi EVM Appchain description: Learn how to integrate RainbowKit with an EVM-compatible appchain deployed through Tanssi, making adding a great wallet experience to your dApp easy. +icon: material-wallet-outline --- # Integrate RainbowKit with a Tanssi Appchain diff --git a/builders/toolkit/substrate-api/.pages b/builders/toolkit/substrate-api/.pages index 3df14900..b71174ff 100644 --- a/builders/toolkit/substrate-api/.pages +++ b/builders/toolkit/substrate-api/.pages @@ -2,6 +2,6 @@ title: Substrate Tools hide: false nav: - index.md - - wallets - - libraries - dev-env + - libraries + - wallets diff --git a/builders/toolkit/substrate-api/dev-env/chopsticks.md b/builders/toolkit/substrate-api/dev-env/chopsticks.md index 32d37d26..a431ff91 100644 --- a/builders/toolkit/substrate-api/dev-env/chopsticks.md +++ b/builders/toolkit/substrate-api/dev-env/chopsticks.md @@ -1,6 +1,7 @@ --- title: How to use Chopsticks to Fork Your Appchain description: Learn the basics of how to use Chopsticks to replay blocks, dissect state changes, test XCM interactions, and create a local fork of your Tanssi appchain. +icon: octicons-code-square-24 --- # How to Use Chopsticks to Fork Your Appchain diff --git a/builders/toolkit/substrate-api/dev-env/index.md b/builders/toolkit/substrate-api/dev-env/index.md index 0d11fec0..3dbefdda 100644 --- a/builders/toolkit/substrate-api/dev-env/index.md +++ b/builders/toolkit/substrate-api/dev-env/index.md @@ -1,8 +1,21 @@ --- title: Substrate Development Environments -description: Check out the Substrate development environments, which can be used to develop, test, and debug a Tanssi appchain in a local development environment. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Check out the Substrate development environments, which can be used to develop, test, and debug a Tanssi-powered network in a local development environment. +icon: octicons-code-square-24 +template: index-page.html --- + +# Set Up Your Workspace + +Building on Substrate involves working with a flexible, modular blockchain framework. Unlike traditional blockchains, Substrate’s pallet-based architecture allows developers to create custom blockchains and integrate specialized features, which requires a development environment tailored to its complexities. + +In this section, you'll explore tools and techniques that can help you achieve the following with a Substrate development environment: + +**Local environment setup** - spin up a test environment without dealing with the complexity of configuring a Substrate node manually +**Network interaction** - connect to and interact with Tanssi and Tanssi-powered networks +**Transaction simulation** - test and simulate transactions on forked networks to evaluate changes before deploying +**Debugging** - use debugging tools to troubleshoot and analyze transaction flow, state transitions, and more in a controlled environment + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/substrate-api/index.md b/builders/toolkit/substrate-api/index.md index 37526778..26d0e1e5 100644 --- a/builders/toolkit/substrate-api/index.md +++ b/builders/toolkit/substrate-api/index.md @@ -1,8 +1,22 @@ --- title: Substrate API -description: Learn how to interact with your Tanssi appchain through the Substrate API, including how to use the Polkadot.js API, the Sidecar API, Chopsticks, and more. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn how to interact with your Tanssi-powered network using the Substrate API, leveraging tools like the Polkadot.js API, Sidecar API, Chopsticks, and others. +icon: simple-paritysubstrate +template: index-page.html --- + +# Substrate Tools + +When developing on Tanssi or any Tanssi-powered network, it's important to understand the underlying infrastructure that drives these chains. Built on top of the Substrate framework, these networks offer a robust and flexible foundation for building decentralized applications and services. Interacting with the Substrate API is key to engaging with the blockchain's core functionalities. + +Whether you're building decentralized applications (dApps), deploying smart contracts, or querying blockchain data, having the right tools and workflows to interact with this API will help you streamline development and ensure seamless integration with the network. + +Ready to dive in? Check out some of the following tools: + +- **Development environments** - [Chopsticks](/builders/toolkit/substrate-api/dev-env/chopsticks/) +- **Libraries** - [Polkadot.js API](/builders/toolkit/substrate-api/libraries/polkadot-js-api/) and [Sidecar REST API](/builders/toolkit/substrate-api/libraries/sidecar-api/) +- **Wallets** - [SubWallet](/builders/toolkit/ethereum-api/wallets/subwallet/), and [Talisman](/builders/toolkit/ethereum-api/wallets/talisman/) + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/substrate-api/libraries/index.md b/builders/toolkit/substrate-api/libraries/index.md index 6813be77..4cfc6d15 100644 --- a/builders/toolkit/substrate-api/libraries/index.md +++ b/builders/toolkit/substrate-api/libraries/index.md @@ -1,8 +1,22 @@ --- title: Substrate Libraries -description: Learn how to use Substrate libraries such as the Polkadot.js API to send transactions (extrinsics) and interact with an appchain's Substrate-layer. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn how to use Substrate libraries such as the Polkadot.js API to send transactions (extrinsics) and interact with an network's Substrate-layer. +icon: octicons-code-24 +template: index-page.html --- + +# Libraries + +As Tanssi and Tanssi-powered networks are built on Substrate, developers can utilize libraries tailored to the Substrate API to tap into the network’s distinctive features. + +These libraries streamline the interaction with Substrate’s modular architecture, helping you navigate the complexities of custom modules with ease and accelerate your development process. + +Some key capabilities of working with libraries include: + +- **Transaction management** - build and sign transactions for submitting extrinsics (state changes) to the blockchain +- **Interaction with custom modules** - invoke a module's exposed functions, to query chain data or trigger state changes +- **Account management** - create cryptographic key pairs for signing transactions and manage on-chain account information such as balances + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/substrate-api/libraries/polkadot-js-api.md b/builders/toolkit/substrate-api/libraries/polkadot-js-api.md index 8a731cfe..44bc1e42 100644 --- a/builders/toolkit/substrate-api/libraries/polkadot-js-api.md +++ b/builders/toolkit/substrate-api/libraries/polkadot-js-api.md @@ -1,6 +1,7 @@ --- title: How to use the Polkadot.js API description: Learn how to use the Polkadot.js API to interact with a Tanssi appchain to get chain data and send transactions (extrinsics) via the Substrate API. +icon: octicons-code-24 --- # Polkadot.js API Library diff --git a/builders/toolkit/substrate-api/libraries/sidecar-api.md b/builders/toolkit/substrate-api/libraries/sidecar-api.md index 3f9d99f2..e729af8e 100644 --- a/builders/toolkit/substrate-api/libraries/sidecar-api.md +++ b/builders/toolkit/substrate-api/libraries/sidecar-api.md @@ -1,6 +1,7 @@ --- title: Using Substrate API Sidecar description: Learn how to use Substrate-based REST service with Tanssi appchains to access blocks, account balance, compute gas used, and more. +icon: octicons-code-24 --- # Using Substrate API Sidecar diff --git a/builders/toolkit/substrate-api/wallets/index.md b/builders/toolkit/substrate-api/wallets/index.md index a2291047..0abd67b4 100644 --- a/builders/toolkit/substrate-api/wallets/index.md +++ b/builders/toolkit/substrate-api/wallets/index.md @@ -1,8 +1,16 @@ --- title: Substrate Wallets -description: Learn how to interact with your Tanssi Substrate appchain through the Substrate API, including configuring wallets, adding RPC Urls, and sending funds. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn how to interact with your Tanssi Substrate network through the Substrate API, including configuring wallets, adding RPC Urls, and sending funds. +icon: material-wallet-outline +template: index-page.html --- + +# Wallets + +Wallets are digital tools that allow users to securely store, manage, and transact with their digital assets. They store the cryptographic keys required to access digital assets and enable one to execute transactions on blockchain networks. + +The pages in this section provide an overview of getting started with various wallet providers. It covers how to create and import accounts, connect to your network, and begin interacting with it. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/substrate-api/wallets/subwallet.md b/builders/toolkit/substrate-api/wallets/subwallet.md index 15c28596..1eecbe1e 100644 --- a/builders/toolkit/substrate-api/wallets/subwallet.md +++ b/builders/toolkit/substrate-api/wallets/subwallet.md @@ -1,6 +1,7 @@ --- title: How to Connect SubWallet to Tanssi Substrate description: This guide walks you through how to connect SubWallet, a comprehensive Polkadot, Substrate, and Ethereum wallet, to your Tanssi Substrate appchain. +icon: material-wallet-outline --- # Interacting with Your Tanssi Substrate Appchain Using SubWallet diff --git a/builders/toolkit/substrate-api/wallets/talisman.md b/builders/toolkit/substrate-api/wallets/talisman.md index 5291c74e..b1029f8f 100644 --- a/builders/toolkit/substrate-api/wallets/talisman.md +++ b/builders/toolkit/substrate-api/wallets/talisman.md @@ -1,6 +1,7 @@ --- title: How to Connect Talisman to Tanssi description: This guide walks you through how to connect Talisman, a Polkadot, Substrate, and Ethereum wallet, to your Tanssi Substrate appchain. +icon: material-wallet-outline --- # Interacting with your Tanssi Substrate Appchain Using Talisman diff --git a/images/builders/manage/developer-portal/index-1.webp b/images/builders/manage/developer-portal/index-1.webp new file mode 100644 index 00000000..1d8a64af Binary files /dev/null and b/images/builders/manage/developer-portal/index-1.webp differ diff --git a/images/builders/manage/developer-portal/index-2.webp b/images/builders/manage/developer-portal/index-2.webp new file mode 100644 index 00000000..1fe6b16d Binary files /dev/null and b/images/builders/manage/developer-portal/index-2.webp differ diff --git a/images/builders/manage/developer-portal/index-3.webp b/images/builders/manage/developer-portal/index-3.webp new file mode 100644 index 00000000..51eb9d2e Binary files /dev/null and b/images/builders/manage/developer-portal/index-3.webp differ diff --git a/images/index-pages/builders/account-management-dark.webp b/images/index-pages/builders/account-management-dark.webp deleted file mode 100644 index 0592981a..00000000 Binary files a/images/index-pages/builders/account-management-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/account-management.webp b/images/index-pages/builders/account-management.webp deleted file mode 100644 index 7b3d3633..00000000 Binary files a/images/index-pages/builders/account-management.webp and /dev/null differ diff --git a/images/index-pages/builders/account-management/identity-dark.webp b/images/index-pages/builders/account-management/identity-dark.webp deleted file mode 100644 index b8bca391..00000000 Binary files a/images/index-pages/builders/account-management/identity-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/account-management/identity.webp b/images/index-pages/builders/account-management/identity.webp deleted file mode 100644 index a3ef9057..00000000 Binary files a/images/index-pages/builders/account-management/identity.webp and /dev/null differ diff --git a/images/index-pages/builders/account-management/proxy-accounts-dark.webp b/images/index-pages/builders/account-management/proxy-accounts-dark.webp deleted file mode 100644 index 4159ecaf..00000000 Binary files a/images/index-pages/builders/account-management/proxy-accounts-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/account-management/proxy-accounts.webp b/images/index-pages/builders/account-management/proxy-accounts.webp deleted file mode 100644 index 21feacdf..00000000 Binary files a/images/index-pages/builders/account-management/proxy-accounts.webp and /dev/null differ diff --git a/images/index-pages/builders/build-dark.webp b/images/index-pages/builders/build-dark.webp deleted file mode 100644 index 6a4d80f4..00000000 Binary files a/images/index-pages/builders/build-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/build.webp b/images/index-pages/builders/build.webp deleted file mode 100644 index 65b7af80..00000000 Binary files a/images/index-pages/builders/build.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize-dark.webp b/images/index-pages/builders/build/customize-dark.webp deleted file mode 100644 index 4a1b81a8..00000000 Binary files a/images/index-pages/builders/build/customize-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize.webp b/images/index-pages/builders/build/customize.webp deleted file mode 100644 index 2782d0ef..00000000 Binary files a/images/index-pages/builders/build/customize.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize/adding-built-in-module-dark.webp b/images/index-pages/builders/build/customize/adding-built-in-module-dark.webp deleted file mode 100644 index 79ab0bd9..00000000 Binary files a/images/index-pages/builders/build/customize/adding-built-in-module-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize/adding-built-in-module.webp b/images/index-pages/builders/build/customize/adding-built-in-module.webp deleted file mode 100644 index e107db3f..00000000 Binary files a/images/index-pages/builders/build/customize/adding-built-in-module.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize/adding-custom-made-module-dark.webp b/images/index-pages/builders/build/customize/adding-custom-made-module-dark.webp deleted file mode 100644 index e0fe689f..00000000 Binary files a/images/index-pages/builders/build/customize/adding-custom-made-module-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize/adding-custom-made-module.webp b/images/index-pages/builders/build/customize/adding-custom-made-module.webp deleted file mode 100644 index 9f299559..00000000 Binary files a/images/index-pages/builders/build/customize/adding-custom-made-module.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize/adding-external-module-dark.webp b/images/index-pages/builders/build/customize/adding-external-module-dark.webp deleted file mode 100644 index aca0f07a..00000000 Binary files a/images/index-pages/builders/build/customize/adding-external-module-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize/adding-external-module.webp b/images/index-pages/builders/build/customize/adding-external-module.webp deleted file mode 100644 index 757fb985..00000000 Binary files a/images/index-pages/builders/build/customize/adding-external-module.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize/customizing-chain-specs-dark.webp b/images/index-pages/builders/build/customize/customizing-chain-specs-dark.webp deleted file mode 100644 index 03a24c5a..00000000 Binary files a/images/index-pages/builders/build/customize/customizing-chain-specs-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize/customizing-chain-specs.webp b/images/index-pages/builders/build/customize/customizing-chain-specs.webp deleted file mode 100644 index 73491ee4..00000000 Binary files a/images/index-pages/builders/build/customize/customizing-chain-specs.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize/prerequisites-dark.webp b/images/index-pages/builders/build/customize/prerequisites-dark.webp deleted file mode 100644 index b0d52638..00000000 Binary files a/images/index-pages/builders/build/customize/prerequisites-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize/prerequisites.webp b/images/index-pages/builders/build/customize/prerequisites.webp deleted file mode 100644 index 4ba84154..00000000 Binary files a/images/index-pages/builders/build/customize/prerequisites.webp and /dev/null differ diff --git a/images/index-pages/builders/build/customize/substrate.webp b/images/index-pages/builders/build/customize/substrate.webp deleted file mode 100644 index afdebfbb..00000000 Binary files a/images/index-pages/builders/build/customize/substrate.webp and /dev/null differ diff --git a/images/index-pages/builders/build/templates-dark.webp b/images/index-pages/builders/build/templates-dark.webp deleted file mode 100644 index c7664eaf..00000000 Binary files a/images/index-pages/builders/build/templates-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/build/templates.webp b/images/index-pages/builders/build/templates.webp deleted file mode 100644 index 54e051fc..00000000 Binary files a/images/index-pages/builders/build/templates.webp and /dev/null differ diff --git a/images/index-pages/builders/build/templates/custom-runtime-dark.webp b/images/index-pages/builders/build/templates/custom-runtime-dark.webp deleted file mode 100644 index 21684f7a..00000000 Binary files a/images/index-pages/builders/build/templates/custom-runtime-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/build/templates/custom-runtime.webp b/images/index-pages/builders/build/templates/custom-runtime.webp deleted file mode 100644 index 07986d28..00000000 Binary files a/images/index-pages/builders/build/templates/custom-runtime.webp and /dev/null differ diff --git a/images/index-pages/builders/build/templates/evm-dark.webp b/images/index-pages/builders/build/templates/evm-dark.webp deleted file mode 100644 index b8d18d5e..00000000 Binary files a/images/index-pages/builders/build/templates/evm-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/build/templates/evm.webp b/images/index-pages/builders/build/templates/evm.webp deleted file mode 100644 index 5d135a7f..00000000 Binary files a/images/index-pages/builders/build/templates/evm.webp and /dev/null differ diff --git a/images/index-pages/builders/build/templates/overview-dark.webp b/images/index-pages/builders/build/templates/overview-dark.webp deleted file mode 100644 index 492d68e7..00000000 Binary files a/images/index-pages/builders/build/templates/overview-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/build/templates/overview.webp b/images/index-pages/builders/build/templates/overview.webp deleted file mode 100644 index 41e6db0e..00000000 Binary files a/images/index-pages/builders/build/templates/overview.webp and /dev/null differ diff --git a/images/index-pages/builders/build/templates/substrate-dark.webp b/images/index-pages/builders/build/templates/substrate-dark.webp deleted file mode 100644 index a82468d9..00000000 Binary files a/images/index-pages/builders/build/templates/substrate-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/build/templates/substrate.webp b/images/index-pages/builders/build/templates/substrate.webp deleted file mode 100644 index ffdb98ab..00000000 Binary files a/images/index-pages/builders/build/templates/substrate.webp and /dev/null differ diff --git a/images/index-pages/builders/deploy-dark.webp b/images/index-pages/builders/deploy-dark.webp deleted file mode 100644 index 2b8786b3..00000000 Binary files a/images/index-pages/builders/deploy-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/deploy.webp b/images/index-pages/builders/deploy.webp deleted file mode 100644 index d63d1ddd..00000000 Binary files a/images/index-pages/builders/deploy.webp and /dev/null differ diff --git a/images/index-pages/builders/deploy/dapp-dark.webp b/images/index-pages/builders/deploy/dapp-dark.webp deleted file mode 100644 index 9a262a90..00000000 Binary files a/images/index-pages/builders/deploy/dapp-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/deploy/dapp.webp b/images/index-pages/builders/deploy/dapp.webp deleted file mode 100644 index fe2eadaa..00000000 Binary files a/images/index-pages/builders/deploy/dapp.webp and /dev/null differ diff --git a/images/index-pages/builders/manage-dark.webp b/images/index-pages/builders/manage-dark.webp deleted file mode 100644 index e80865a9..00000000 Binary files a/images/index-pages/builders/manage-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage.webp b/images/index-pages/builders/manage.webp deleted file mode 100644 index e18f181f..00000000 Binary files a/images/index-pages/builders/manage.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/dapp-dark.webp b/images/index-pages/builders/manage/dapp-dark.webp deleted file mode 100644 index 9a262a90..00000000 Binary files a/images/index-pages/builders/manage/dapp-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/dapp.webp b/images/index-pages/builders/manage/dapp.webp deleted file mode 100644 index fe2eadaa..00000000 Binary files a/images/index-pages/builders/manage/dapp.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/dapp/manage-tokens-dark.webp b/images/index-pages/builders/manage/dapp/manage-tokens-dark.webp deleted file mode 100644 index 5f67ed13..00000000 Binary files a/images/index-pages/builders/manage/dapp/manage-tokens-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/dapp/manage-tokens.webp b/images/index-pages/builders/manage/dapp/manage-tokens.webp deleted file mode 100644 index 2d01dae3..00000000 Binary files a/images/index-pages/builders/manage/dapp/manage-tokens.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/dapp/register-external-assets-dark.webp b/images/index-pages/builders/manage/dapp/register-external-assets-dark.webp deleted file mode 100644 index ef4dc325..00000000 Binary files a/images/index-pages/builders/manage/dapp/register-external-assets-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/dapp/register-external-assets.webp b/images/index-pages/builders/manage/dapp/register-external-assets.webp deleted file mode 100644 index abc097b1..00000000 Binary files a/images/index-pages/builders/manage/dapp/register-external-assets.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/dapp/services-payment-dark.webp b/images/index-pages/builders/manage/dapp/services-payment-dark.webp deleted file mode 100644 index e2abd73c..00000000 Binary files a/images/index-pages/builders/manage/dapp/services-payment-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/dapp/services-payment.webp b/images/index-pages/builders/manage/dapp/services-payment.webp deleted file mode 100644 index d4e90509..00000000 Binary files a/images/index-pages/builders/manage/dapp/services-payment.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/dapp/xcm-channels-dark.webp b/images/index-pages/builders/manage/dapp/xcm-channels-dark.webp deleted file mode 100644 index 4d405b53..00000000 Binary files a/images/index-pages/builders/manage/dapp/xcm-channels-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/dapp/xcm-channels.webp b/images/index-pages/builders/manage/dapp/xcm-channels.webp deleted file mode 100644 index d9311956..00000000 Binary files a/images/index-pages/builders/manage/dapp/xcm-channels.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal-dark.webp b/images/index-pages/builders/manage/developer-portal-dark.webp deleted file mode 100644 index 639c1620..00000000 Binary files a/images/index-pages/builders/manage/developer-portal-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal.webp b/images/index-pages/builders/manage/developer-portal.webp deleted file mode 100644 index 60ab8aa2..00000000 Binary files a/images/index-pages/builders/manage/developer-portal.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/impersonate-dark.webp b/images/index-pages/builders/manage/developer-portal/impersonate-dark.webp deleted file mode 100644 index 506d2aa5..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/impersonate-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/impersonate.webp b/images/index-pages/builders/manage/developer-portal/impersonate.webp deleted file mode 100644 index 1e132a9c..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/impersonate.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/maintenance-dark.webp b/images/index-pages/builders/manage/developer-portal/maintenance-dark.webp deleted file mode 100644 index fcd85ced..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/maintenance-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/maintenance.webp b/images/index-pages/builders/manage/developer-portal/maintenance.webp deleted file mode 100644 index 3f31b436..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/maintenance.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/minting-dark.webp b/images/index-pages/builders/manage/developer-portal/minting-dark.webp deleted file mode 100644 index 01bd888e..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/minting-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/minting.webp b/images/index-pages/builders/manage/developer-portal/minting.webp deleted file mode 100644 index 4b059957..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/minting.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/pause-transactions-dark.webp b/images/index-pages/builders/manage/developer-portal/pause-transactions-dark.webp deleted file mode 100644 index 7106a5e5..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/pause-transactions-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/pause-transactions.webp b/images/index-pages/builders/manage/developer-portal/pause-transactions.webp deleted file mode 100644 index 1b91ab7c..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/pause-transactions.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/smart-contracts-creation-filter-dark.webp b/images/index-pages/builders/manage/developer-portal/smart-contracts-creation-filter-dark.webp deleted file mode 100644 index adf94057..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/smart-contracts-creation-filter-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/smart-contracts-creation-filter.webp b/images/index-pages/builders/manage/developer-portal/smart-contracts-creation-filter.webp deleted file mode 100644 index 6cfe5aea..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/smart-contracts-creation-filter.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/sudo-dark.webp b/images/index-pages/builders/manage/developer-portal/sudo-dark.webp deleted file mode 100644 index 639c1620..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/sudo-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/sudo.webp b/images/index-pages/builders/manage/developer-portal/sudo.webp deleted file mode 100644 index 60ab8aa2..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/sudo.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/upgrade-dark.webp b/images/index-pages/builders/manage/developer-portal/upgrade-dark.webp deleted file mode 100644 index 267cc5de..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/upgrade-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/manage/developer-portal/upgrade.webp b/images/index-pages/builders/manage/developer-portal/upgrade.webp deleted file mode 100644 index 37b31298..00000000 Binary files a/images/index-pages/builders/manage/developer-portal/upgrade.webp and /dev/null differ diff --git a/images/index-pages/builders/tanssi-network-dark.webp b/images/index-pages/builders/tanssi-network-dark.webp deleted file mode 100644 index ad810ca5..00000000 Binary files a/images/index-pages/builders/tanssi-network-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/tanssi-network.webp b/images/index-pages/builders/tanssi-network.webp deleted file mode 100644 index 10a60010..00000000 Binary files a/images/index-pages/builders/tanssi-network.webp and /dev/null differ diff --git a/images/index-pages/builders/tanssi-network/endpoints-dark.webp b/images/index-pages/builders/tanssi-network/endpoints-dark.webp deleted file mode 100644 index 5a62a617..00000000 Binary files a/images/index-pages/builders/tanssi-network/endpoints-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/tanssi-network/endpoints.webp b/images/index-pages/builders/tanssi-network/endpoints.webp deleted file mode 100644 index 385c6c02..00000000 Binary files a/images/index-pages/builders/tanssi-network/endpoints.webp and /dev/null differ diff --git a/images/index-pages/builders/tanssi-network/testnet-dark.webp b/images/index-pages/builders/tanssi-network/testnet-dark.webp deleted file mode 100644 index 5087c990..00000000 Binary files a/images/index-pages/builders/tanssi-network/testnet-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/tanssi-network/testnet.webp b/images/index-pages/builders/tanssi-network/testnet.webp deleted file mode 100644 index d89e6332..00000000 Binary files a/images/index-pages/builders/tanssi-network/testnet.webp and /dev/null differ diff --git a/images/index-pages/builders/tanssi-network/testnet/dancebox-dark.webp b/images/index-pages/builders/tanssi-network/testnet/dancebox-dark.webp deleted file mode 100644 index ad810ca5..00000000 Binary files a/images/index-pages/builders/tanssi-network/testnet/dancebox-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/tanssi-network/testnet/dancebox.webp b/images/index-pages/builders/tanssi-network/testnet/dancebox.webp deleted file mode 100644 index 10a60010..00000000 Binary files a/images/index-pages/builders/tanssi-network/testnet/dancebox.webp and /dev/null differ diff --git a/images/index-pages/builders/tanssi-network/testnet/demo-evm-appchain-dark.webp b/images/index-pages/builders/tanssi-network/testnet/demo-evm-appchain-dark.webp deleted file mode 100644 index b8d18d5e..00000000 Binary files a/images/index-pages/builders/tanssi-network/testnet/demo-evm-appchain-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/tanssi-network/testnet/demo-evm-appchain.webp b/images/index-pages/builders/tanssi-network/testnet/demo-evm-appchain.webp deleted file mode 100644 index 5d135a7f..00000000 Binary files a/images/index-pages/builders/tanssi-network/testnet/demo-evm-appchain.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit-dark.webp b/images/index-pages/builders/toolkit-dark.webp deleted file mode 100644 index c9cb2747..00000000 Binary files a/images/index-pages/builders/toolkit-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit.webp b/images/index-pages/builders/toolkit.webp deleted file mode 100644 index cadecb02..00000000 Binary files a/images/index-pages/builders/toolkit.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api-dark.webp b/images/index-pages/builders/toolkit/ethereum-api-dark.webp deleted file mode 100644 index b8d18d5e..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api.webp b/images/index-pages/builders/toolkit/ethereum-api.webp deleted file mode 100644 index 5d135a7f..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/dev-env-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/dev-env-dark.webp deleted file mode 100644 index 661c61cf..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/dev-env-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/dev-env.webp b/images/index-pages/builders/toolkit/ethereum-api/dev-env.webp deleted file mode 100644 index 2599533e..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/dev-env.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/dev-env/foundry-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/dev-env/foundry-dark.webp deleted file mode 100644 index 39cdcc6b..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/dev-env/foundry-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/dev-env/foundry.webp b/images/index-pages/builders/toolkit/ethereum-api/dev-env/foundry.webp deleted file mode 100644 index 3d90a4de..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/dev-env/foundry.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/dev-env/hardhat-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/dev-env/hardhat-dark.webp deleted file mode 100644 index 2c5c9b49..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/dev-env/hardhat-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/dev-env/hardhat.webp b/images/index-pages/builders/toolkit/ethereum-api/dev-env/hardhat.webp deleted file mode 100644 index 5f1f7a08..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/dev-env/hardhat.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/dev-env/remix-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/dev-env/remix-dark.webp deleted file mode 100644 index 52a17605..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/dev-env/remix-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/dev-env/remix.webp b/images/index-pages/builders/toolkit/ethereum-api/dev-env/remix.webp deleted file mode 100644 index b59a1157..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/dev-env/remix.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/dev-env/thirdweb-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/dev-env/thirdweb-dark.webp deleted file mode 100644 index 7d418eb3..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/dev-env/thirdweb-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/dev-env/thirdweb.webp b/images/index-pages/builders/toolkit/ethereum-api/dev-env/thirdweb.webp deleted file mode 100644 index 1692e2dd..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/dev-env/thirdweb.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/libraries-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/libraries-dark.webp deleted file mode 100644 index 8064610f..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/libraries-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/libraries.webp b/images/index-pages/builders/toolkit/ethereum-api/libraries.webp deleted file mode 100644 index 109e356d..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/libraries.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/libraries/ethersjs-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/libraries/ethersjs-dark.webp deleted file mode 100644 index 43cb1ced..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/libraries/ethersjs-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/libraries/ethersjs.webp b/images/index-pages/builders/toolkit/ethereum-api/libraries/ethersjs.webp deleted file mode 100644 index 7c9190b8..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/libraries/ethersjs.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/libraries/viem-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/libraries/viem-dark.webp deleted file mode 100644 index 57b953fe..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/libraries/viem-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/libraries/viem.webp b/images/index-pages/builders/toolkit/ethereum-api/libraries/viem.webp deleted file mode 100644 index 69a1eed7..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/libraries/viem.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/libraries/web3js-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/libraries/web3js-dark.webp deleted file mode 100644 index fa47f172..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/libraries/web3js-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/libraries/web3js.webp b/images/index-pages/builders/toolkit/ethereum-api/libraries/web3js.webp deleted file mode 100644 index d3182a0e..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/libraries/web3js.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/libraries/web3py-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/libraries/web3py-dark.webp deleted file mode 100644 index e42d0163..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/libraries/web3py-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/libraries/web3py.webp b/images/index-pages/builders/toolkit/ethereum-api/libraries/web3py.webp deleted file mode 100644 index 1a1b9bcb..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/libraries/web3py.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles-dark.webp deleted file mode 100644 index e441ac32..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles.webp deleted file mode 100644 index a4490a90..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles/batch-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles/batch-dark.webp deleted file mode 100644 index 6d6e1bfa..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles/batch-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles/batch.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles/batch.webp deleted file mode 100644 index d6fb7af4..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles/batch.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles/call-permit-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles/call-permit-dark.webp deleted file mode 100644 index 3f902bd8..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles/call-permit-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles/call-permit.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles/call-permit.webp deleted file mode 100644 index 095c5a91..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles/call-permit.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles/cross-chain-transfers-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles/cross-chain-transfers-dark.webp deleted file mode 100644 index 81b76bd8..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles/cross-chain-transfers-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles/cross-chain-transfers.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles/cross-chain-transfers.webp deleted file mode 100644 index 67351cb4..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles/cross-chain-transfers.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles/erc20-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles/erc20-dark.webp deleted file mode 100644 index a3be5ef4..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles/erc20-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles/erc20.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles/erc20.webp deleted file mode 100644 index 94dd861f..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles/erc20.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles/external-assets-erc20-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles/external-assets-erc20-dark.webp deleted file mode 100644 index ef4dc325..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles/external-assets-erc20-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles/external-assets-erc20.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles/external-assets-erc20.webp deleted file mode 100644 index abc097b1..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles/external-assets-erc20.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles/proxy-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles/proxy-dark.webp deleted file mode 100644 index 4159ecaf..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles/proxy-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/precompiles/proxy.webp b/images/index-pages/builders/toolkit/ethereum-api/precompiles/proxy.webp deleted file mode 100644 index 21feacdf..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/precompiles/proxy.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/rpc-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/rpc-dark.webp deleted file mode 100644 index 9d8ce3e5..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/rpc-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/rpc.webp b/images/index-pages/builders/toolkit/ethereum-api/rpc.webp deleted file mode 100644 index 47470d20..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/rpc.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/wallets-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/wallets-dark.webp deleted file mode 100644 index c718f5f6..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/wallets-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/wallets.webp b/images/index-pages/builders/toolkit/ethereum-api/wallets.webp deleted file mode 100644 index a55eace7..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/wallets.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/wallets/metamask-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/wallets/metamask-dark.webp deleted file mode 100644 index 25dcf3eb..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/wallets/metamask-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/wallets/metamask.webp b/images/index-pages/builders/toolkit/ethereum-api/wallets/metamask.webp deleted file mode 100644 index 7ec707b1..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/wallets/metamask.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/wallets/subwallet-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/wallets/subwallet-dark.webp deleted file mode 100644 index f0185bbc..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/wallets/subwallet-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/wallets/subwallet.webp b/images/index-pages/builders/toolkit/ethereum-api/wallets/subwallet.webp deleted file mode 100644 index 5db840b6..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/wallets/subwallet.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/wallets/talisman-dark.webp b/images/index-pages/builders/toolkit/ethereum-api/wallets/talisman-dark.webp deleted file mode 100644 index 62229ac6..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/wallets/talisman-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/ethereum-api/wallets/talisman.webp b/images/index-pages/builders/toolkit/ethereum-api/wallets/talisman.webp deleted file mode 100644 index 19facfbc..00000000 Binary files a/images/index-pages/builders/toolkit/ethereum-api/wallets/talisman.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations-dark.webp b/images/index-pages/builders/toolkit/integrations-dark.webp deleted file mode 100644 index 79ab0bd9..00000000 Binary files a/images/index-pages/builders/toolkit/integrations-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations.webp b/images/index-pages/builders/toolkit/integrations.webp deleted file mode 100644 index e107db3f..00000000 Binary files a/images/index-pages/builders/toolkit/integrations.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/indexers-dark.webp b/images/index-pages/builders/toolkit/integrations/indexers-dark.webp deleted file mode 100644 index a52602c7..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/indexers-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/indexers.webp b/images/index-pages/builders/toolkit/integrations/indexers.webp deleted file mode 100644 index 4aef0d61..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/indexers.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/indexers/subsquid-dark.webp b/images/index-pages/builders/toolkit/integrations/indexers/subsquid-dark.webp deleted file mode 100644 index bf577f3f..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/indexers/subsquid-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/indexers/subsquid.webp b/images/index-pages/builders/toolkit/integrations/indexers/subsquid.webp deleted file mode 100644 index bf577f3f..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/indexers/subsquid.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/indexers/subsquid/erc20-transfers-dark.webp b/images/index-pages/builders/toolkit/integrations/indexers/subsquid/erc20-transfers-dark.webp deleted file mode 100644 index cfe9779c..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/indexers/subsquid/erc20-transfers-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/indexers/subsquid/erc20-transfers.webp b/images/index-pages/builders/toolkit/integrations/indexers/subsquid/erc20-transfers.webp deleted file mode 100644 index 20b738b7..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/indexers/subsquid/erc20-transfers.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/indexers/subsquid/quick-start-dark.webp b/images/index-pages/builders/toolkit/integrations/indexers/subsquid/quick-start-dark.webp deleted file mode 100644 index 2bf41c47..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/indexers/subsquid/quick-start-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/indexers/subsquid/quick-start.webp b/images/index-pages/builders/toolkit/integrations/indexers/subsquid/quick-start.webp deleted file mode 100644 index 1a619e46..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/indexers/subsquid/quick-start.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/oracles-dark.webp b/images/index-pages/builders/toolkit/integrations/oracles-dark.webp deleted file mode 100644 index ede26df8..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/oracles-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/oracles.webp b/images/index-pages/builders/toolkit/integrations/oracles.webp deleted file mode 100644 index 28d52048..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/oracles.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/oracles/acurast-dark.webp b/images/index-pages/builders/toolkit/integrations/oracles/acurast-dark.webp deleted file mode 100644 index bff696f4..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/oracles/acurast-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/oracles/acurast.webp b/images/index-pages/builders/toolkit/integrations/oracles/acurast.webp deleted file mode 100644 index 64fca5cb..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/oracles/acurast.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/oracles/band-dark.webp b/images/index-pages/builders/toolkit/integrations/oracles/band-dark.webp deleted file mode 100644 index ef71c0b0..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/oracles/band-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/oracles/band.webp b/images/index-pages/builders/toolkit/integrations/oracles/band.webp deleted file mode 100644 index 67b7529f..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/oracles/band.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/oracles/phala-dark.webp b/images/index-pages/builders/toolkit/integrations/oracles/phala-dark.webp deleted file mode 100644 index 665609c6..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/oracles/phala-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/oracles/phala.webp b/images/index-pages/builders/toolkit/integrations/oracles/phala.webp deleted file mode 100644 index b59aad5a..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/oracles/phala.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/wallet-integrations-dark.webp b/images/index-pages/builders/toolkit/integrations/wallet-integrations-dark.webp deleted file mode 100644 index c718f5f6..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/wallet-integrations-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/wallet-integrations.webp b/images/index-pages/builders/toolkit/integrations/wallet-integrations.webp deleted file mode 100644 index a55eace7..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/wallet-integrations.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/wallet-integrations/rainbowkit-dark.webp b/images/index-pages/builders/toolkit/integrations/wallet-integrations/rainbowkit-dark.webp deleted file mode 100644 index 370bfba4..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/wallet-integrations/rainbowkit-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/integrations/wallet-integrations/rainbowkit.webp b/images/index-pages/builders/toolkit/integrations/wallet-integrations/rainbowkit.webp deleted file mode 100644 index b2d509c0..00000000 Binary files a/images/index-pages/builders/toolkit/integrations/wallet-integrations/rainbowkit.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api-dark.webp b/images/index-pages/builders/toolkit/substrate-api-dark.webp deleted file mode 100644 index a82468d9..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api.webp b/images/index-pages/builders/toolkit/substrate-api.webp deleted file mode 100644 index ffdb98ab..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/dev-env-dark.webp b/images/index-pages/builders/toolkit/substrate-api/dev-env-dark.webp deleted file mode 100644 index 661c61cf..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/dev-env-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/dev-env.webp b/images/index-pages/builders/toolkit/substrate-api/dev-env.webp deleted file mode 100644 index 2599533e..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/dev-env.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/dev-env/chopsticks-dark.webp b/images/index-pages/builders/toolkit/substrate-api/dev-env/chopsticks-dark.webp deleted file mode 100644 index 231817b5..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/dev-env/chopsticks-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/dev-env/chopsticks.webp b/images/index-pages/builders/toolkit/substrate-api/dev-env/chopsticks.webp deleted file mode 100644 index 2c44235e..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/dev-env/chopsticks.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/libraries-dark.webp b/images/index-pages/builders/toolkit/substrate-api/libraries-dark.webp deleted file mode 100644 index 8064610f..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/libraries-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/libraries.webp b/images/index-pages/builders/toolkit/substrate-api/libraries.webp deleted file mode 100644 index 109e356d..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/libraries.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/libraries/polkadot-js-api-dark.webp b/images/index-pages/builders/toolkit/substrate-api/libraries/polkadot-js-api-dark.webp deleted file mode 100644 index fcb2f531..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/libraries/polkadot-js-api-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/libraries/polkadot-js-api.webp b/images/index-pages/builders/toolkit/substrate-api/libraries/polkadot-js-api.webp deleted file mode 100644 index 0f42920e..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/libraries/polkadot-js-api.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/libraries/sidecar-api-dark.webp b/images/index-pages/builders/toolkit/substrate-api/libraries/sidecar-api-dark.webp deleted file mode 100644 index 59b3d4d9..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/libraries/sidecar-api-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/libraries/sidecar-api.webp b/images/index-pages/builders/toolkit/substrate-api/libraries/sidecar-api.webp deleted file mode 100644 index 62fd1f4e..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/libraries/sidecar-api.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/wallets-dark.webp b/images/index-pages/builders/toolkit/substrate-api/wallets-dark.webp deleted file mode 100644 index c718f5f6..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/wallets-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/wallets.webp b/images/index-pages/builders/toolkit/substrate-api/wallets.webp deleted file mode 100644 index a55eace7..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/wallets.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/wallets/subwallet-dark.webp b/images/index-pages/builders/toolkit/substrate-api/wallets/subwallet-dark.webp deleted file mode 100644 index f0185bbc..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/wallets/subwallet-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/wallets/subwallet.webp b/images/index-pages/builders/toolkit/substrate-api/wallets/subwallet.webp deleted file mode 100644 index 5db840b6..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/wallets/subwallet.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/wallets/talisman-dark.webp b/images/index-pages/builders/toolkit/substrate-api/wallets/talisman-dark.webp deleted file mode 100644 index 62229ac6..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/wallets/talisman-dark.webp and /dev/null differ diff --git a/images/index-pages/builders/toolkit/substrate-api/wallets/talisman.webp b/images/index-pages/builders/toolkit/substrate-api/wallets/talisman.webp deleted file mode 100644 index 19facfbc..00000000 Binary files a/images/index-pages/builders/toolkit/substrate-api/wallets/talisman.webp and /dev/null differ diff --git a/images/learn/appchains/runtime-features/dark-runtime-features-1.webp b/images/learn/appchains/runtime-features/dark-runtime-features-1.webp index ce21bb67..4d73f6dd 100644 Binary files a/images/learn/appchains/runtime-features/dark-runtime-features-1.webp and b/images/learn/appchains/runtime-features/dark-runtime-features-1.webp differ diff --git a/images/learn/appchains/runtime-features/light-runtime-features-1.webp b/images/learn/appchains/runtime-features/light-runtime-features-1.webp index 8ed39cca..91ad63ab 100644 Binary files a/images/learn/appchains/runtime-features/light-runtime-features-1.webp and b/images/learn/appchains/runtime-features/light-runtime-features-1.webp differ diff --git a/images/node-operators/appchain-node/rpc-docker-systemd-1.webp b/images/node-operators/network-node/rpc-docker-systemd-1.webp similarity index 100% rename from images/node-operators/appchain-node/rpc-docker-systemd-1.webp rename to images/node-operators/network-node/rpc-docker-systemd-1.webp diff --git a/images/node-operators/appchain-node/rpc-systemd/rpc-systemd-1.webp b/images/node-operators/network-node/rpc-systemd/rpc-systemd-1.webp similarity index 100% rename from images/node-operators/appchain-node/rpc-systemd/rpc-systemd-1.webp rename to images/node-operators/network-node/rpc-systemd/rpc-systemd-1.webp diff --git a/images/node-operators/block-producers/offboarding/account/account-1.webp b/images/node-operators/sequencers/offboarding/account/account-1.webp similarity index 100% rename from images/node-operators/block-producers/offboarding/account/account-1.webp rename to images/node-operators/sequencers/offboarding/account/account-1.webp diff --git a/images/node-operators/block-producers/offboarding/account/account-2.webp b/images/node-operators/sequencers/offboarding/account/account-2.webp similarity index 100% rename from images/node-operators/block-producers/offboarding/account/account-2.webp rename to images/node-operators/sequencers/offboarding/account/account-2.webp diff --git a/images/node-operators/block-producers/offboarding/account/account-3.webp b/images/node-operators/sequencers/offboarding/account/account-3.webp similarity index 100% rename from images/node-operators/block-producers/offboarding/account/account-3.webp rename to images/node-operators/sequencers/offboarding/account/account-3.webp diff --git a/images/node-operators/block-producers/offboarding/account/account-4.webp b/images/node-operators/sequencers/offboarding/account/account-4.webp similarity index 100% rename from images/node-operators/block-producers/offboarding/account/account-4.webp rename to images/node-operators/sequencers/offboarding/account/account-4.webp diff --git a/images/node-operators/block-producers/offboarding/account/account-5.webp b/images/node-operators/sequencers/offboarding/account/account-5.webp similarity index 100% rename from images/node-operators/block-producers/offboarding/account/account-5.webp rename to images/node-operators/sequencers/offboarding/account/account-5.webp diff --git a/images/node-operators/block-producers/offboarding/account/account-6.webp b/images/node-operators/sequencers/offboarding/account/account-6.webp similarity index 100% rename from images/node-operators/block-producers/offboarding/account/account-6.webp rename to images/node-operators/sequencers/offboarding/account/account-6.webp diff --git a/images/node-operators/block-producers/offboarding/account/account-7.webp b/images/node-operators/sequencers/offboarding/account/account-7.webp similarity index 100% rename from images/node-operators/block-producers/offboarding/account/account-7.webp rename to images/node-operators/sequencers/offboarding/account/account-7.webp diff --git a/images/node-operators/block-producers/offboarding/account/account-8.webp b/images/node-operators/sequencers/offboarding/account/account-8.webp similarity index 100% rename from images/node-operators/block-producers/offboarding/account/account-8.webp rename to images/node-operators/sequencers/offboarding/account/account-8.webp diff --git a/images/node-operators/block-producers/onboarding/account-setup/setup-1.webp b/images/node-operators/sequencers/onboarding/account-setup/setup-1.webp similarity index 100% rename from images/node-operators/block-producers/onboarding/account-setup/setup-1.webp rename to images/node-operators/sequencers/onboarding/account-setup/setup-1.webp diff --git a/images/node-operators/block-producers/onboarding/account-setup/setup-2.webp b/images/node-operators/sequencers/onboarding/account-setup/setup-2.webp similarity index 100% rename from images/node-operators/block-producers/onboarding/account-setup/setup-2.webp rename to images/node-operators/sequencers/onboarding/account-setup/setup-2.webp diff --git a/images/node-operators/block-producers/onboarding/account-setup/setup-3.webp b/images/node-operators/sequencers/onboarding/account-setup/setup-3.webp similarity index 100% rename from images/node-operators/block-producers/onboarding/account-setup/setup-3.webp rename to images/node-operators/sequencers/onboarding/account-setup/setup-3.webp diff --git a/images/node-operators/block-producers/onboarding/account-setup/setup-4.webp b/images/node-operators/sequencers/onboarding/account-setup/setup-4.webp similarity index 100% rename from images/node-operators/block-producers/onboarding/account-setup/setup-4.webp rename to images/node-operators/sequencers/onboarding/account-setup/setup-4.webp diff --git a/images/node-operators/block-producers/onboarding/account-setup/setup-5.webp b/images/node-operators/sequencers/onboarding/account-setup/setup-5.webp similarity index 100% rename from images/node-operators/block-producers/onboarding/account-setup/setup-5.webp rename to images/node-operators/sequencers/onboarding/account-setup/setup-5.webp diff --git a/images/node-operators/block-producers/onboarding/account-setup/setup-6.webp b/images/node-operators/sequencers/onboarding/account-setup/setup-6.webp similarity index 100% rename from images/node-operators/block-producers/onboarding/account-setup/setup-6.webp rename to images/node-operators/sequencers/onboarding/account-setup/setup-6.webp diff --git a/images/node-operators/block-producers/onboarding/account-setup/setup-7.webp b/images/node-operators/sequencers/onboarding/account-setup/setup-7.webp similarity index 100% rename from images/node-operators/block-producers/onboarding/account-setup/setup-7.webp rename to images/node-operators/sequencers/onboarding/account-setup/setup-7.webp diff --git a/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-1.webp b/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-1.webp similarity index 100% rename from images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-1.webp rename to images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-1.webp diff --git a/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-2.webp b/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-2.webp similarity index 100% rename from images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-2.webp rename to images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-2.webp diff --git a/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-3.webp b/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-3.webp similarity index 100% rename from images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-3.webp rename to images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-3.webp diff --git a/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-4.webp b/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-4.webp similarity index 100% rename from images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-4.webp rename to images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-4.webp diff --git a/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-5.webp b/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-5.webp similarity index 100% rename from images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-5.webp rename to images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-5.webp diff --git a/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-6.webp b/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-6.webp similarity index 100% rename from images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-6.webp rename to images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-6.webp diff --git a/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-7.webp b/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-7.webp similarity index 100% rename from images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-7.webp rename to images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-7.webp diff --git a/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-8.webp b/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-8.webp similarity index 100% rename from images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-8.webp rename to images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-8.webp diff --git a/learn/appchains/.pages b/learn/appchains/.pages index c53964e9..0dbcd760 100644 --- a/learn/appchains/.pages +++ b/learn/appchains/.pages @@ -1,4 +1,4 @@ -title: Appchains in Tanssi +title: Tanssi-Powered Networks hide: false nav: - index.md diff --git a/learn/appchains/index.md b/learn/appchains/index.md index a317fed2..5931104a 100644 --- a/learn/appchains/index.md +++ b/learn/appchains/index.md @@ -1,9 +1,20 @@ --- -title: Appchain -description: Discover the features in EVM and Substrate appchains deployed through Tanssi, leveraging user-friendly and easy-to-deploy templates for enhanced capabilities. -template: subsection-index-page.html -hide: - - toc - - feedback +title: Learn about Tanssi-Powered Networks +description: Discover the features in EVM and Substrate networks deployed through Tanssi, leveraging user-friendly and easy-to-deploy templates for enhanced capabilities. +icon: octicons-workflow-24 +template: index-page.html --- +# Tanssi-Powered Networks + +Developing a blockchain that balances scalability, efficiency, and customization is a complex task. Tanssi-Powered Networks address these challenges through their integration into Tanssi's modular infrastructure. This section explains the networks' structure, functionality, and unique characteristics in the Tanssi ecosystem. + +Key features of Tanssi-powered networks: + +- **Runtime customization** - adapt transaction types, execution logic, and state transitions to fit your network's specific requirements +- **Transaction efficiency** - optimize transaction fees for scalability and economic sustainability +- **Scalability at its core** - build networks that are prepared to grow alongside your ecosystem + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: \ No newline at end of file diff --git a/learn/appchains/overview.md b/learn/appchains/overview.md index 41c63ea7..45418b4a 100644 --- a/learn/appchains/overview.md +++ b/learn/appchains/overview.md @@ -1,6 +1,7 @@ --- title: Appchain Overview description: Learn the high-level definitions of how a Tanssi appchain works, its architecture, and its block production as a service mechanism with deterministic finality. +icon: octicons-home-24 --- # Tanssi Appchains Overview {: #appchains-tanssi-overview } diff --git a/learn/appchains/runtime-features.md b/learn/appchains/runtime-features.md index 911b579e..54edfff5 100644 --- a/learn/appchains/runtime-features.md +++ b/learn/appchains/runtime-features.md @@ -1,6 +1,7 @@ --- title: Core Runtime Features description: Learn about the core features of a Tanssi appchain, the transactions types, how they are executed and included in a block, and the forkless runtime upgrades +icon: octicons-package-24 --- # Core Runtime Features {: #core-runtime-features } @@ -11,7 +12,7 @@ Appchains deployed through Tanssi have [many benefits](/learn/tanssi/overview/#w Nevertheless, Tanssi appchains are also unique due to the [framework](/learn/framework/){target=\_blank} (Substrate) they are built on top of, which provides some unique characteristics that developers can leverage to fine-tune specific behaviors in their runtime. -This section covers some of these Tanssi appchain core runtime-specific features, including the different origins a transaction might have, the different types of transactions and how they are executed and included in a block, the special account known as _SUDO_, and the quite unique feature of a Substrate-based appchain: the forkless runtime upgrades. +This section covers some of these Tanssi appchain core runtime-specific features, including the different origins a transaction might have, the different types of transactions and how they are executed and included in a block, the special account known as _SUDO_, and the quite unique feature of Tanssi appchains: the forkless runtime upgrades. ## Origins {: #origins} @@ -34,7 +35,7 @@ Tanssi appchains have three main types of transactions: - **Signed Transactions** - include a signed payload requesting to execute some runtime call. Generally, the signature is associated with a private key/public key pair. Depending on the runtime logic, the account associated with the signature pays a transaction fee - **Unsigned Transactions** - include an unsigned payload requesting to execute some runtime call. Because these transactions are unsigned, there is no account associated with them. Consequently, runtimes need to define specific conditions that prevent network spam or replay attacks because there is no fee mechanism to prevent such malicious behaviors. One example of an unsigned transaction is executing pre-approved actions, like a runtime upgrade -- **Inherent Transactions** - an unsigned transaction that a block producer inserts into a block when initializing its construction. These transactions are part of the block and are not stored in the transaction pool or shared among network participants. In addition, the data inserted through inherent transactions can skip runtime validation, and it might be up to block validators to accept it. One example is the block timestamp. This is injected into the block by an inherent transaction, and Polkadot validators can accept or reject the block based on whether the timestamp is within some acceptable range +- **Inherent Transactions** - an unsigned transaction that a sequencer inserts into a block when initializing its construction. These transactions are part of the block and are not stored in the transaction pool or shared among network participants. In addition, the data inserted through inherent transactions can skip runtime validation, and it might be up to block validators to accept it. One example is the block timestamp. This is injected into the block by an inherent transaction, and validators can accept or reject the block based on whether the timestamp is within some acceptable range ## Transaction Execution {: #transaction-execution} @@ -45,7 +46,7 @@ When a user or application submits a signed transaction to a Tanssi appchain, th The valid transaction queue comprises two pools: ready and future. The ready queue contains all transactions that can be included in a new pending block. The future queue is for transactions that don't meet all the criteria to be included now but might become valid. For example, transactions with a future nonce. Invalid transactions are directly rejected. -During the block-building process, a block producer uses a [priority system](https://github.com/paritytech/substrate/blob/fb24fda76d613305ebb2e5728c75362c94b64aa1/frame/transaction-payment/src/lib.rs#L614-L681){target=\_blank} through a transaction orchestration module to order transactions for the next block, until the block reaches its maximum capacity. The block building and execution order has the following operations: +During the block-building process, a sequencer uses a [priority system](https://github.com/paritytech/substrate/blob/fb24fda76d613305ebb2e5728c75362c94b64aa1/frame/transaction-payment/src/lib.rs#L614-L681){target=\_blank} through a transaction orchestration module to order transactions for the next block, until the block reaches its maximum capacity. The block building and execution order has the following operations: - **Initializing a Block** - known as `on_initialize`, enables you to define runtime logic executed before any other transaction is accounted for. For example, inherent transactions, like the timestamp in the previous example, are commonly executed when initializing a block. Once the initialization logic is completed, the transaction orchestration module verifies the parent hash in the block header and the trie root to ensure the information is correct - **Transaction Execution** - with the block already initialized, the transaction orchestration module executes each valid transaction according to its priority. The initial state is not cached before the execution, meaning that if one of the transactions fails mid-execution, any state changes committed up to that moment cannot be reverted, and the subsequent block will be invalid. Consequently, runtime logic should perform all necessary checks to ensure all valid transactions will succeed @@ -55,7 +56,7 @@ During the block-building process, a block producer uses a [priority system](htt Appchains deployed through Tanssi have a thrilling feature: [forkless upgrades](https://docs.substrate.io/maintain/runtime-upgrades){target=\_blank}. Forkless upgrades allow developers to change the state transition function that governs the chain without creating a network fork, as seen on Ethereum multiple times. Furthermore, if the Tanssi appchain is set up with an on-chain governance system, upgrades to the network can happen in a truly decentralized and trustless way. -Forkless upgrades are made possible by storing the state transition function as a WebAssembly (Wasm) blob in both the Tanssi appchain and Polkadot. When a new runtime is scheduled through a function call in the Tanssi appchain, Polkadot validates this block, so it is notified and readies itself to validate incoming blocks using the most recent state transition function. Following a specified runtime upgrade delay period, a Tanssi block producer on the Tanssi appchain constructs a block that references a Polkadot block, signaling to the Tanssi appchain that it can now apply the new runtime. Consequently, this new state transition function is utilized for that specific block. As all infrastructure participants at the appchain level employ the on-chain Wasm blob, every Tanssi appchain node operator can validate new blocks using the latest state transition function. +Forkless upgrades are made possible by storing the state transition function as a WebAssembly (Wasm) blob in both the Tanssi appchain and the Tanssi network. When a new runtime is scheduled through a function call in the Tanssi appchain, the Tanssi network validates this block, so it is notified and readies itself to validate incoming blocks using the most recent state transition function. Following a specified runtime upgrade delay period, a Tanssi sequencer on the Tanssi appchain constructs a block that references a Tanssi network block, signaling to the Tanssi appchain that it can now apply the new runtime. Consequently, this new state transition function is utilized for that specific block. As all infrastructure participants at the appchain level employ the on-chain Wasm blob, every Tanssi appchain node operator can validate new blocks using the latest state transition function. A high-level summary of the runtime upgrade process is shown in the following diagram: diff --git a/learn/appchains/tx-fees.md b/learn/appchains/tx-fees.md index c66a8d91..86f6b0f6 100644 --- a/learn/appchains/tx-fees.md +++ b/learn/appchains/tx-fees.md @@ -1,6 +1,7 @@ --- title: Transaction Fees -description: Learn about the transaction fee mechanism in Tanssi appchains, how it works from a Substrate perspective, and in the Ethereum EVM emulation layer with EIP-1559. +description: Learn about the transaction fee mechanism in Tanssi networks, how it works from a Substrate perspective, and in the Ethereum EVM emulation layer with EIP-1559. +icon: material-piggy-bank-outline --- # Transaction Fees {: #transaction-fees } diff --git a/learn/framework/.pages b/learn/framework/.pages index 75305a08..9c02ec88 100644 --- a/learn/framework/.pages +++ b/learn/framework/.pages @@ -1,8 +1,8 @@ -title: Appchain Development Framework +title: Network Development Framework hide: false nav: - index.md - 'Overview': 'overview.md' - 'Framework Architecture': 'architecture.md' - 'Modularity': 'modules.md' - - 'Native Cross-Chain Communication': 'xcm.md' + # - 'Native Cross-Chain Communication': 'xcm.md' diff --git a/learn/framework/architecture.md b/learn/framework/architecture.md index d9aa26cb..858f24a0 100644 --- a/learn/framework/architecture.md +++ b/learn/framework/architecture.md @@ -1,6 +1,7 @@ --- title: Framework Architecture description: In a Substrate node, two main components are the runtime, which controls the blockchain's state transition, and the client, which manages everything else. +icon: octicons-stack-24 --- # Framework Architecture {: #framework-architecture } diff --git a/learn/framework/index.md b/learn/framework/index.md index 42e99343..b417fa99 100644 --- a/learn/framework/index.md +++ b/learn/framework/index.md @@ -1,9 +1,23 @@ --- title: Appchain Development Framework -description: Learn about the appchain Development Framework, Rust Programming Language, Substrate and its features, including XCM and ready-to-use pallets for your Runtime. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn about the network development framework, Rust programming language, Substrate and its features, including XCM and ready-to-use pallets for your runtime. +icon: octicons-code-24 +template: index-page.html --- +# Network Development Framework + +Building a blockchain from scratch is an intricate process that demands deep knowledge of consensus algorithms, cryptography, data structures, governance, and more. Tanssi simplifies this process by leveraging Substrate, a powerful blockchain development framework that provides all the essential components for creating customized blockchains. + +With Substrate’s modular architecture, you can modify runtime characteristics, integrate pre-built modules, or develop new ones based on your network’s specific needs. Tanssi provides the foundation you need to bring your blockchain vision to life. + +Key features of the framework: + +- **Substrate core architecture** - divided into the _core client_, which manages external communications and internal responsibilities like storage, and the _runtime_, which executes transactions and manages state transitions with customizable logic +- **End-user simplicity** - the internal workings of the framework are abstracted for end-users, ensuring seamless interaction through dApps or via RPC endpoints, such as those used by wallets +- **Modular system design** - incorporate pre-built modules or create custom ones to meet specific needs +- **Developer-centric flexibility** - focus on runtime characteristics and use case specifics, allowing you to create a blockchain tailored to your vision without unnecessary complexity + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: \ No newline at end of file diff --git a/learn/framework/modules.md b/learn/framework/modules.md index b9403bed..9f29b20c 100644 --- a/learn/framework/modules.md +++ b/learn/framework/modules.md @@ -1,6 +1,7 @@ --- title: Appchain Modules for your Runtime description: Substrate is a modular blockchain development framework with an extensive set of ready-to-use components to bundle with custom logic into the appchain Runtime. +icon: material-puzzle-outline --- # Appchain Framework Modules {: #appchain-framework-modules } diff --git a/learn/framework/overview.md b/learn/framework/overview.md index c986d878..afb59172 100644 --- a/learn/framework/overview.md +++ b/learn/framework/overview.md @@ -1,6 +1,7 @@ --- title: Appchain Development Framework Overview description: Substrate is a blockchain development framework built in Rust Programming Language that streamlines and speeds up the process of developing new appchains. +icon: octicons-home-24 --- # Appchain Development Framework Overview {: #appchain-dev-framework-overview } diff --git a/learn/index.md b/learn/index.md index b35d954c..da48217b 100644 --- a/learn/index.md +++ b/learn/index.md @@ -1,8 +1,31 @@ --- title: Learn About Tanssi Infrastructure Protocol -description: Learn about Tanssi protocol and how it helps developers to build and deploy appchains by handling infrastructure complexities and providing key integrations. +description: Learn about Tanssi protocol and how it helps developers to build and deploy networks by handling infrastructure complexities and providing key integrations. template: index-page.html -hide: - - toc - - feedback --- + +# Learn + +Launching a decentralized network has traditionally been a challenging and time-consuming process, requiring expertise in infrastructure, security, and operational setup. Tanssi simplifies this journey by removing the complexities and making network deployment fast and accessible. With Tanssi, developers can rely on seamless block production, integration with essential tools, and the flexibility to choose security providers that best fit their blockchain environment, empowering them to focus on innovation rather than technical hurdles. + +This section explores the core elements that define Tanssi as a leading solution for network development. From its modular framework and runtime customization to transaction management and interoperability, Tanssi transforms network development into an accessible and efficient process, drastically reducing time to market while ensuring high performance and scalability. + +Whether you’re starting your journey into decentralized networks or deepening your understanding of Tanssi’s unique capabilities, these documents provide everything you need to understand how Tanssi sets a new standard for network infrastructure. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: + +## Want to Jump Right into the Action? + + diff --git a/learn/tanssi/included-templates.md b/learn/tanssi/included-templates.md index 3081983c..a002ee65 100644 --- a/learn/tanssi/included-templates.md +++ b/learn/tanssi/included-templates.md @@ -1,6 +1,7 @@ --- title: Appchain Templates Included in Tanssi description: Tanssi protocol provides useful templates to start building your appchain, including a ready-to-use EVM template for Ethereum compatibility. +icon: octicons-copy-24 --- # Appchain Templates Included in Tanssi {: #appchain-templates-included-in-tanssi } diff --git a/learn/tanssi/index.md b/learn/tanssi/index.md index 90eed52b..10351b3e 100644 --- a/learn/tanssi/index.md +++ b/learn/tanssi/index.md @@ -1,8 +1,21 @@ --- title: Learn About Tanssi -description: Learn about Tanssi protocol and how it handles infrastructure complexities, making it easy for new appchains to be deployed in the Polkadot Web3 ecosystem. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn about Tanssi protocol and how it handles infrastructure complexities, making it easy for new networks to be deployed in the Polkadot Web3 ecosystem. +icon: octicons-star-24 +template: index-page.html --- + +# Learn About Tanssi + +Here, you'll find an overview of Tanssi’s core capabilities that support network development, covering everything from infrastructure and security to essential integrations. + +Key features that set Tanssi apart: + +- **Block production as a service** - Tanssi’s incentivized block producers ensure reliable block creation and network liveness, removing the operational burden from developers +- **Flexible security providers** - choose security solutions tailored to your Tanssi-powered network environment, such as Symbiotic for Ethereum-based chains, enabling shared security without sourcing economic guarantees +- **Time-to-market efficiency** - launch networks in minutes with Tanssi’s comprehensive approach to infrastructure and security, significantly reducing development time +- **Seamless integrations** - Tanssi provides out-of-the-box infrastructure, including wallets, RPC endpoints, and block explorers, streamlining network deployment + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: \ No newline at end of file diff --git a/learn/tanssi/network-features/index.md b/learn/tanssi/network-features/index.md index 178a3056..212748f0 100644 --- a/learn/tanssi/network-features/index.md +++ b/learn/tanssi/network-features/index.md @@ -1,8 +1,14 @@ --- title: Network Features -description: Learn about Tanssi general network features such as Staking, Governance and Treasury, and how each help Tanssi becoming a fully decentralized Appchain orchestrator for the Web3 ecosystem. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Explore Tanssi's network features like staking, governance, and treasury, supporting its role as a decentralized network orchestrator for the Web3 ecosystem. +icon: octicons-cpu-24 +template: index-page.html --- + +# Network Features + +The network features in Tanssi are designed to provide the foundational mechanisms that support decentralization, security, and scalability. From securing networks through staking to future capabilities, this section outlines the core elements that empower Tanssi’s network infrastructure. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: \ No newline at end of file diff --git a/learn/tanssi/network-features/staking.md b/learn/tanssi/network-features/staking.md index 4a54e153..da613079 100644 --- a/learn/tanssi/network-features/staking.md +++ b/learn/tanssi/network-features/staking.md @@ -1,6 +1,7 @@ --- title: Staking description: Learn how Tanssi implements a novel Staking mechanism to provide a decentralized and trustless set of block producers to all Tanssi-powered appchains +icon: material-hand-coin-outline --- # Tanssi Staking {: #tanssi-staking } diff --git a/learn/tanssi/overview.md b/learn/tanssi/overview.md index af50eee7..3e34e6f7 100644 --- a/learn/tanssi/overview.md +++ b/learn/tanssi/overview.md @@ -1,6 +1,7 @@ --- title: Overview description: Tanssi is an appchain protocol that eases the process of deploying appchains so that developers can focus on their custom application logic. +icon: octicons-home-24 --- # What is Tanssi? {: #what-is-tanssi } diff --git a/learn/tanssi/technical-features.md b/learn/tanssi/technical-features.md index 20558180..bc108a3d 100644 --- a/learn/tanssi/technical-features.md +++ b/learn/tanssi/technical-features.md @@ -1,6 +1,7 @@ --- title: Block Production Services description: Tanssi provides block production services assigning block producers to the appchains, requiring minimal changes to the code for appchains to be deployed. +icon: octicons-gear-24 --- # Technical Features of Tanssi {: #technical-features-of-tanssi } diff --git a/node-operators/.pages b/node-operators/.pages index 31f759a8..05ba09ec 100644 --- a/node-operators/.pages +++ b/node-operators/.pages @@ -2,5 +2,5 @@ title: Node Operators hide: false nav: - index.md - - appchain-node - - block-producers \ No newline at end of file + - network-node + - sequencers \ No newline at end of file diff --git a/node-operators/appchain-node/index.md b/node-operators/appchain-node/index.md deleted file mode 100644 index 1fd99cb0..00000000 --- a/node-operators/appchain-node/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -title: Appchain Nodes -description: Learn how to set up and run a Tanssi appchain node using Docker or Systemd, which allows you to have your own RPC endpoint to interact with your appchain. -template: subsection-index-page.html -hide: - - toc - - feedback ---- - diff --git a/node-operators/block-producers/index.md b/node-operators/block-producers/index.md deleted file mode 100644 index 9550d724..00000000 --- a/node-operators/block-producers/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Tanssi Block Producers -description: Learn how to set up, run, and manage block producers (aka sequencers or collators) to participate in the Tanssi infrastructure protocol and earn rewards. -template: subsection-index-page.html -hide: - - toc - - feedback ---- diff --git a/node-operators/block-producers/offboarding/index.md b/node-operators/block-producers/offboarding/index.md deleted file mode 100644 index 43b319d5..00000000 --- a/node-operators/block-producers/offboarding/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Offboard your Block Producer Node -description: Learn how to properly offboard your Appchain block producer node (also known as sequencers or collators) including clearing session keys and undelegating funds. -template: subsection-index-page.html -hide: - - toc - - feedback ---- diff --git a/node-operators/block-producers/onboarding/index.md b/node-operators/block-producers/onboarding/index.md deleted file mode 100644 index c3524c58..00000000 --- a/node-operators/block-producers/onboarding/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Onboard to Run a Block Producer Node -description: Learn how to get started to run appchain block producer nodes (also known as sequencers or collators) using Docker or Systemd to participate in the protocol. -template: subsection-index-page.html -hide: - - toc - - feedback ---- diff --git a/node-operators/block-producers/onboarding/run-a-block-producer/.pages b/node-operators/block-producers/onboarding/run-a-block-producer/.pages deleted file mode 100644 index 55d2ffb4..00000000 --- a/node-operators/block-producers/onboarding/run-a-block-producer/.pages +++ /dev/null @@ -1,6 +0,0 @@ -title: Run a Block Producer Node -hide: false -nav: - - index.md - - 'Using Docker': 'block-producer-docker.md' - - 'Using Systemd': 'block-producer-systemd.md' diff --git a/node-operators/block-producers/onboarding/run-a-block-producer/index.md b/node-operators/block-producers/onboarding/run-a-block-producer/index.md deleted file mode 100644 index bdbfa1b6..00000000 --- a/node-operators/block-producers/onboarding/run-a-block-producer/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Run Block Producers -description: Learn how to set up and run appchain block producer nodes (also known as sequencers or collators) using Docker or Systemd to participate in the protocol. -template: subsection-index-page.html -hide: - - toc - - feedback ---- diff --git a/node-operators/block-producers/operational-tasks/index.md b/node-operators/block-producers/operational-tasks/index.md deleted file mode 100644 index ad23ba40..00000000 --- a/node-operators/block-producers/operational-tasks/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Block Producer Operational Tasks -description: Learn how to manage your activities as a block producer in the Tanssi appchain protocol, including managing your account, upgrading your node, and more. -template: subsection-index-page.html -hide: - - toc - - feedback ---- diff --git a/node-operators/block-producers/operational-tasks/upgrade-your-node/index.md b/node-operators/block-producers/operational-tasks/upgrade-your-node/index.md deleted file mode 100644 index db33e33a..00000000 --- a/node-operators/block-producers/operational-tasks/upgrade-your-node/index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Upgrade Block Producers -description: Follow these instructions to update your node to the latest version of the Tanssi client software you use to produce blocks on the Tanssi Appchain protocol. -template: subsection-index-page.html -hide: - - toc - - feedback ---- diff --git a/node-operators/index.md b/node-operators/index.md index 2a1a9264..f16280c8 100644 --- a/node-operators/index.md +++ b/node-operators/index.md @@ -1,8 +1,25 @@ --- -title: Node Operators & Block Producers -description: Learn how to run a Tanssi appchain RPC node or a block producer to participate in the block production mechanism for chains within the Tanssi ecosystem. -template: subsection-index-page.html -hide: - - toc - - feedback +title: Run Infrastructure on Tanssi +description: This section offers guides on setting up infrastructure and nodes for RPC services, block production, and validation within the Tanssi ecosystem. +template: index-page.html --- + +# Node Operators + +Operating nodes is a crucial part of maintaining a blockchain ecosystem, and Tanssi ensures that this process is as seamless as possible. From running network nodes and managing sequencers to onboarding validators, this section provides everything you need to get started and operate efficiently. + +Whether you're setting up for the first time, handling operational tasks, or retiring your node, these guides offer clear and concise instructions to help you maintain secure and reliable operations. + +### Node Types in the Tanssi Ecosystem + +Understanding the roles of different nodes in the Tanssi-powered network helps you choose the right one based on your goals: + +- **Network nodes** - these nodes provide RPC endpoints and data availability services, ensuring smooth data flow and interaction between chains and users +- **Sequencers** - Sequencers are responsible for producing blocks, executing transactions, and maintaining the network's liveness by ensuring its operational continuity + +!!!tip + With this in mind, you can decide whether to set up a network node or become a sequencer depending on your desired level of participation in the Tanssi ecosystem. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: \ No newline at end of file diff --git a/node-operators/appchain-node/.pages b/node-operators/network-node/.pages similarity index 78% rename from node-operators/appchain-node/.pages rename to node-operators/network-node/.pages index 60f7bbbe..0987e073 100644 --- a/node-operators/appchain-node/.pages +++ b/node-operators/network-node/.pages @@ -1,4 +1,4 @@ -title: Run an Appchain Node +title: Run a Network Node hide: false nav: - index.md diff --git a/node-operators/network-node/index.md b/node-operators/network-node/index.md new file mode 100644 index 00000000..0257a8be --- /dev/null +++ b/node-operators/network-node/index.md @@ -0,0 +1,17 @@ +--- +title: Run a Node on a Tanssi-Powered Network +description: Learn how to set up and run a node on a Tanssi-powered network using Docker or Systemd, which allows you to host your own RPC endpoint for chain interaction. +icon: octicons-globe-24 +template: index-page.html +--- + +# Run a Network Node + +Setting up a network node is essential for interacting with your Tanssi-powered network, providing a secure and dedicated RPC endpoint. This section offers step-by-step guides to help you deploy and manage your node effectively. + +- **Using Docker** - instructions to set up your node in a containerized environment for easy deployment and isolation +- **Using Systemd** - guidance for configuring your node as a service, enabling automated management and system integration + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: \ No newline at end of file diff --git a/node-operators/appchain-node/rpc-docker.md b/node-operators/network-node/rpc-docker.md similarity index 87% rename from node-operators/appchain-node/rpc-docker.md rename to node-operators/network-node/rpc-docker.md index b576f378..81390b0e 100644 --- a/node-operators/appchain-node/rpc-docker.md +++ b/node-operators/network-node/rpc-docker.md @@ -1,13 +1,14 @@ --- -title: Run an RPC Node Using Docker -description: Learn how to set up and run a Tanssi appchain node using Docker, which allows you to have your own RPC endpoint to interact with your appchain. +title: Run a Network Node Using Docker +description: Discover how to configure and operate a Tanssi-powered network node using Docker, enabling you to host your own RPC endpoint for interaction with your chain. +icon: material-docker --- # Run an Appchain Node Using Docker ## Introduction {: #introduction } ---8<-- 'text/node-operators/appchain-node/intro.md' +--8<-- 'text/node-operators/network-node/intro.md' In this guide, you'll learn how to quickly spin up a Tanssi appchain node using [Docker](https://www.docker.com){target=\_blank} on a Linux computer. However, it can be adapted to other operating systems. @@ -38,7 +39,7 @@ docker pull moondancelabs/dancebox-container-chain-evm-templates The command will download and extract the image and show the status upon execution: ---8<-- 'code/node-operators/appchain-node/rpc-docker/terminal/pulling-docker-image.md' +--8<-- 'code/node-operators/network-node/rpc-docker/terminal/pulling-docker-image.md' ### Simple Substrate Appchains {: #pulling-substrate-docker-image } @@ -55,7 +56,7 @@ The command will download and extract the image and show the status upon executi To spin up your node, you must run the Docker image with the `docker run` command. Note that you'll need to modify the following parameters: - `Appchain ID` - replace `YOUR_APPCHAIN_ID` with your Tanssi appchain ID within the `--chain` command. This ID was obtained during the [third step of the appchain deployment process](/builders/deploy/dapp/#reserve-appchain-id){target=\_blank} and can be retrieved from the dashboard on the [dApp](https://apps.tanssi.network){target=\_blank}. For example, `3001` ---8<-- 'text/node-operators/appchain-node/bootnode-item.md' +--8<-- 'text/node-operators/network-node/bootnode-item.md' --8<-- 'text/node-operators/optimized-binaries-note.md' @@ -66,7 +67,7 @@ To spin up your node, you must run the Docker image with the `docker run` comman ```bash docker run -ti moondancelabs/dancebox-container-chain-evm-templates \ /chain-network/container-chain-frontier-node \ - --8<-- 'code/node-operators/appchain-node/rpc-docker/docker-command.md' + --8<-- 'code/node-operators/network-node/rpc-docker/docker-command.md' ``` === "Intel Skylake" @@ -74,7 +75,7 @@ To spin up your node, you must run the Docker image with the `docker run` comman ```bash docker run -ti moondancelabs/dancebox-container-chain-evm-templates \ /chain-network/container-chain-frontier-node-skylake \ - --8<-- 'code/node-operators/appchain-node/rpc-docker/docker-command.md' + --8<-- 'code/node-operators/network-node/rpc-docker/docker-command.md' ``` === "AMD Zen3" @@ -82,7 +83,7 @@ To spin up your node, you must run the Docker image with the `docker run` comman ```bash docker run -ti moondancelabs/dancebox-container-chain-evm-templates \ /chain-network/container-chain-frontier-node-znver3 \ - --8<-- 'code/node-operators/appchain-node/rpc-docker/docker-command.md' + --8<-- 'code/node-operators/network-node/rpc-docker/docker-command.md' ``` === "Simple Substrate Appchain" @@ -92,7 +93,7 @@ To spin up your node, you must run the Docker image with the `docker run` comman ```bash docker run -ti moondancelabs/dancebox-container-chain-simple-templates \ /chain-network/container-chain-simple-node \ - --8<-- 'code/node-operators/appchain-node/rpc-docker/docker-command.md' + --8<-- 'code/node-operators/network-node/rpc-docker/docker-command.md' ``` === "Intel Skylake" @@ -100,7 +101,7 @@ To spin up your node, you must run the Docker image with the `docker run` comman ```bash docker run -ti moondancelabs/dancebox-container-chain-simple-templates \ /chain-network/container-chain-simple-node-skylake \ - --8<-- 'code/node-operators/appchain-node/rpc-docker/docker-command.md' + --8<-- 'code/node-operators/network-node/rpc-docker/docker-command.md' ``` === "AMD Zen3" @@ -108,13 +109,13 @@ To spin up your node, you must run the Docker image with the `docker run` comman ```bash docker run -ti moondancelabs/dancebox-container-chain-simple-templates \ /chain-network/container-chain-simple-node-znver3 \ - --8<-- 'code/node-operators/appchain-node/rpc-docker/docker-command.md' + --8<-- 'code/node-operators/network-node/rpc-docker/docker-command.md' ``` !!! note Only the historical state of the last 256 finalized blocks are kept in the local database by default. To run a full archive node, you must set the `--state-pruning archive` flag. More information is in the [flags section](#run-flags). ---8<-- 'text/node-operators/appchain-node/fetching-bootnode-section.md' +--8<-- 'text/node-operators/network-node/fetching-bootnode-section.md' ### Full Node Example for Demo EVM Appchain {: #example-demo-evm-appchain } @@ -149,7 +150,7 @@ docker run -ti moondancelabs/dancebox-container-chain-evm-templates \ The flags used in the `docker run` command can be adjusted according to your preferences and hardware configuration. The following ones are some of the most note-worthy: ---8<-- 'text/node-operators/appchain-node/run-flags.md' +--8<-- 'text/node-operators/network-node/run-flags.md' ```bash docker run -ti moondancelabs/dancebox-container-chain-evm-templates \ diff --git a/node-operators/appchain-node/rpc-systemd.md b/node-operators/network-node/rpc-systemd.md similarity index 94% rename from node-operators/appchain-node/rpc-systemd.md rename to node-operators/network-node/rpc-systemd.md index 4271a541..e43d5690 100644 --- a/node-operators/appchain-node/rpc-systemd.md +++ b/node-operators/network-node/rpc-systemd.md @@ -1,13 +1,14 @@ --- -title: Run an RPC Node Using Systemd -description: Learn how to set up and run a Tanssi appchain node using Systemd, which allows you to have your own RPC endpoint to interact with your appchain. +title: Run a Network Node Using Systemd +description: Learn how to set up and run a Tanssi-powered network node using Systemd, which allows you to have your own RPC endpoint to interact with your chain. +icon: simple-linux --- # Run an Appchain Node Using Systemd ## Introduction {: #introduction } ---8<-- 'text/node-operators/appchain-node/intro.md' +--8<-- 'text/node-operators/network-node/intro.md' In this guide, you'll learn how to spin up a Tanssi appchain node using a binary executable file and manage the service with [Systemd](https://systemd.io){target=\_blank} on Linux systems. @@ -24,7 +25,7 @@ To get started, you'll need access to a computer running an Ubuntu Linux OS and - **Appchain specifications file** - the appchain specification file is needed to run the node. You can download it from the dashboard in the [dApp](https://apps.tanssi.network){target=\_blank} by clicking the **Appchain Data** link - ![Getting the chain specs](/images/node-operators/appchain-node/rpc-systemd/rpc-systemd-1.webp) + ![Getting the chain specs](/images/node-operators/network-node/rpc-systemd/rpc-systemd-1.webp) - **Relay chain specifications file** - the relay chain specification file can be downloaded from this [public GitHub repository](https://github.com/papermoonio/external-files/blob/main/Moonbeam/Moonbase-Alpha){target=\_blank} @@ -105,7 +106,7 @@ Now, you can open the file using your favorite text editor (vim, emacs, nano, et Note that the `ExecStart` command has some parameters that need to be changed to match your specific appchain: - `Specification file` - replace `YOUR_APPCHAIN_SPECS_FILE_LOCATION` with your appchain's absolute path. If you copied the file in the same directory as the binary file and the relay chain specs, then your path will look like `/var/lib/appchain-data/YOUR_FILENAME.json`, e.g., `/var/lib/appchain-data/spec-raw.json` ---8<-- 'text/node-operators/appchain-node/bootnode-item.md' +--8<-- 'text/node-operators/network-node/bootnode-item.md' === "EVM-Compatible Appchain" @@ -187,7 +188,7 @@ Note that the `ExecStart` command has some parameters that need to be changed t WantedBy=multi-user.target ``` ---8<-- 'text/node-operators/appchain-node/fetching-bootnode-section.md' +--8<-- 'text/node-operators/network-node/fetching-bootnode-section.md' ### Full Node Configuration Example for the Demo EVM Appchain {: #example-demo-evm-appchain} @@ -239,7 +240,7 @@ WantedBy=multi-user.target The flags used in the `ExecStart` command can be adjusted according to your preferences and hardware configuration. The following ones are some of the most note-worthy: ---8<-- 'text/node-operators/appchain-node/run-flags.md' +--8<-- 'text/node-operators/network-node/run-flags.md' === "EVM-compatible Appchain" @@ -268,7 +269,7 @@ You can verify that the service is up and running correctly running: systemctl status appchain.service ``` ---8<-- 'code/node-operators/appchain-node/rpc-systemd/terminal/check-status.md' +--8<-- 'code/node-operators/network-node/rpc-systemd/terminal/check-status.md' And check the logs, if needed, with the following command: @@ -276,4 +277,4 @@ And check the logs, if needed, with the following command: journalctl -f -u appchain.service ``` ---8<-- 'code/node-operators/appchain-node/rpc-systemd/terminal/journalctl-logs.md' +--8<-- 'code/node-operators/network-node/rpc-systemd/terminal/journalctl-logs.md' diff --git a/node-operators/block-producers/.pages b/node-operators/sequencers/.pages similarity index 78% rename from node-operators/block-producers/.pages rename to node-operators/sequencers/.pages index 8b098aaf..2f7c5e7a 100644 --- a/node-operators/block-producers/.pages +++ b/node-operators/sequencers/.pages @@ -1,4 +1,4 @@ -title: Block Producers +title: Sequencers hide: false nav: - index.md diff --git a/node-operators/sequencers/index.md b/node-operators/sequencers/index.md new file mode 100644 index 00000000..51cc370b --- /dev/null +++ b/node-operators/sequencers/index.md @@ -0,0 +1,14 @@ +--- +title: Tanssi Sequencers +description: Learn how to set up, run, and manage Sequencers (block producers) to participate in the Tanssi infrastructure protocol and earn rewards. +icon: octicons-server-24 +template: index-page.html +--- + +# Tanssi Sequencers + +Becoming a sequencer is a critical role in maintaining the security and efficiency of the Tanssi ecosystem. Sequencers are responsible for producing blocks, validating transactions, and ensuring the smooth operation of the network. This section provides everything you need to get started, from initial setup to operational best practices and account management. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: \ No newline at end of file diff --git a/node-operators/block-producers/offboarding/.pages b/node-operators/sequencers/offboarding/.pages similarity index 100% rename from node-operators/block-producers/offboarding/.pages rename to node-operators/sequencers/offboarding/.pages diff --git a/node-operators/block-producers/offboarding/account.md b/node-operators/sequencers/offboarding/account.md similarity index 89% rename from node-operators/block-producers/offboarding/account.md rename to node-operators/sequencers/offboarding/account.md index 4e9a8a26..3f277170 100644 --- a/node-operators/block-producers/offboarding/account.md +++ b/node-operators/sequencers/offboarding/account.md @@ -1,6 +1,7 @@ --- -title: Decommission Block Producer +title: Decommissioning Your Sequencer description: In these step-by-step instructions, learn how to properly offboard as a Tanssi block producer, including unmapping your session keys and unstaking your bond. +icon: octicons-arrow-down-right-24 --- # Offboard as a Tanssi Block Producer @@ -9,7 +10,7 @@ description: In these step-by-step instructions, learn how to properly offboard As a block producer, there may come a time when you need to gracefully exit the network. Decommissioning your account involves a two-step process to ensure that your node is properly disassociated from your account and that you receive your bond back. -This guide will show you how to wind down your operations as a Tanssi block producer properly. This includes undelegating your self-delegation to reclaim your bond and unmapping your session keys to sever the connection between your node and your account. Naturally, this guide assumes that you're an existing Tanssi block producer with a [block-producing node](/node-operators/block-producers/onboarding/run-a-block-producer/){target=\_blank} and mapped [session keys](https://wiki.polkadot.network/docs/learn-keys#session-keys){target=\_blank}. +This guide will show you how to wind down your operations as a Tanssi block producer properly. This includes undelegating your self-delegation to reclaim your bond and unmapping your session keys to sever the connection between your node and your account. Naturally, this guide assumes that you're an existing Tanssi block producer with a [block-producing node](/node-operators/sequencers/onboarding/run-a-sequencer/){target=\_blank} and mapped [session keys](https://wiki.polkadot.network/docs/learn-keys#session-keys){target=\_blank}. ## Request Undelegation {: #request-undelegation } @@ -26,7 +27,7 @@ Before undelegating, it is helpful first to see how much you have staked, as you 5. In the **option** field, you select **JoiningShares** 6. Click the **+** button next to the extrinsic field -![Check existing stake on Polkadot.js Apps](/images/node-operators/block-producers/offboarding/account/account-1.webp) +![Check existing stake on Polkadot.js Apps](/images/node-operators/sequencers/offboarding/account/account-1.webp) Note, **JoiningShares** returns only the initial amount you delegated when configuring your block producer. To get your total amount staked, you'll need to repeat the above steps for either **ManualRewardShares** or **ManualRewardSharesHeldStake** if you didn't select Autocompounding, and either **AutoCompoundingShares** or **AutoCompoundingSharesHeldStake** if you configured Autocompounding. Then add your autocompounding or manual shares value to **JoiningShares** to get your total delegation outstanding. @@ -45,7 +46,7 @@ Head to [Polkadot.js Apps](https://polkadot.js.org/apps/?rpc=wss://{{ networks.d 7. Enter the amount to unstake. If you selected **Shares**, simply enter the number of Shares. If you selected **Stake**, you'll need to submit the value in [Planck](https://wiki.polkadot.network/docs/learn-DOT#the-planck-unit){target=\_blank}. As a reminder, the minimum stake amount is `{{ networks.dancebox.block_producers.min_self_del.dance }}` DANCE. If you delegated the minimum amount and didn't accumulate additional rewards, you'll need to enter `{{ networks.dancebox.block_producers.min_self_del.planck }}` Planck 8. Click **Submit Transaction** and sign and send the transaction from your wallet -![Create and submit an extrinsic to un-delegate on Polkadot.js Apps](/images/node-operators/block-producers/offboarding/account/account-2.webp) +![Create and submit an extrinsic to un-delegate on Polkadot.js Apps](/images/node-operators/sequencers/offboarding/account/account-2.webp) ### Execute the Pending Request {: #execute-pending-request } @@ -60,7 +61,7 @@ Before executing the pending request, you'll need to retrieve the session at whi 5. Click the **+** button next to the extrinsic field 6. The pending request will be displayed at the bottom of the page -![Query the pending undelegation request on Polkadot.js Apps](/images/node-operators/block-producers/offboarding/account/account-3.webp) +![Query the pending undelegation request on Polkadot.js Apps](/images/node-operators/sequencers/offboarding/account/account-3.webp) In the example in the above image, the undelegate request to leave the auto-compounding pool was submitted during session `5,037`. So, the request can be executed starting at session `5,039`. Take note of the operation and the session index at which you submitted the request, as you'll need both values to execute the pending request. @@ -71,7 +72,7 @@ You can run another query from the **Chain state** page to check the current ses 3. Click the **+** button next to the extrinsic field 4. The current session will be displayed at the bottom of the page -![Query the current session index on Polkadot.js Apps](/images/node-operators/block-producers/offboarding/account/account-4.webp) +![Query the current session index on Polkadot.js Apps](/images/node-operators/sequencers/offboarding/account/account-4.webp) If at least two sessions have passed from the session you submitted the extrinsic, the request is ready to be executed. To do so, select **Extrinsics** from the **Developer** dropdown and take the following steps: @@ -84,7 +85,7 @@ If at least two sessions have passed from the session you submitted the extrinsi 7. For **at**, enter the session index at which you submitted the delegate request 8. Click **Submit Transaction** and sign and send the transaction from your wallet -![Create and submit an extrinsic to execute the pending self-delegation request on Polkadot.js Apps](/images/node-operators/block-producers/offboarding/account/account-5.webp) +![Create and submit an extrinsic to execute the pending self-delegation request on Polkadot.js Apps](/images/node-operators/sequencers/offboarding/account/account-5.webp) ### Verify That Your Account Is Not in the List of Eligible Candidates {: #verify } @@ -94,13 +95,13 @@ If you'd like, you can verify that your block-producing node is no longer in the 2. Click the **+** button next to the extrinsic field 3. A list of the eligible candidates and their stakes will be displayed at the bottom of the page. You can search for your address to ensure that it does not exist in the list -![Query the current list of eligible candidates on Polkadot.js Apps](/images/node-operators/block-producers/offboarding/account/account-6.webp) +![Query the current list of eligible candidates on Polkadot.js Apps](/images/node-operators/sequencers/offboarding/account/account-6.webp) ## Unmap Session Keys {: #unmap-session-keys } Session keys are used to perform network operations, such as signing blocks, whereas your block producer account holds the staked funds and has an on-chain identity. By unmapping the session key to your account, you sever the association between your block producer account and your block-producing node. -The unmapping step is taken only as part of the offboarding process. If you need to rotate/change your session keys, you'll need to follow the [generating and mapping new session keys](/node-operators/block-producers/onboarding/account-setup/#map-session-keys){target=\_blank}. You should not purge your keys during the session key rotation process. +The unmapping step is taken only as part of the offboarding process. If you need to rotate/change your session keys, you'll need to follow the [generating and mapping new session keys](/node-operators/sequencers/onboarding/account-setup/#map-session-keys){target=\_blank}. You should not purge your keys during the session key rotation process. To unmap your session keys, head to [Polkadot.js Apps](https://polkadot.js.org/apps/?rpc=wss://{{ networks.dancebox.dns_name }}#/extrinsics){target=\_blank}, click on the **Developer** tab, select **Extrinsics** from the dropdown, and take the following steps: @@ -109,7 +110,7 @@ To unmap your session keys, head to [Polkadot.js Apps](https://polkadot.js.org/a 3. Select **purgeKeys** extrinsic 4. Click **Submit Transaction** and sign and send the transaction from your wallet -![Unmap session keys on Polkadot.js Apps](/images/node-operators/block-producers/offboarding/account/account-7.webp) +![Unmap session keys on Polkadot.js Apps](/images/node-operators/sequencers/offboarding/account/account-7.webp) Using the `session.keyOwner` method, you can verify that your session keys have been unmapped from your account as expected. To do this on [Polkadot.js Apps](https://polkadot.js.org/apps/?rpc=wss://{{ networks.dancebox.dns_name }}#/chainstate){target=\_blank}, click on the **Developer** tab, select **Chain state** from the dropdown, and take the following steps: @@ -120,6 +121,6 @@ Using the `session.keyOwner` method, you can verify that your session keys have 5. Click the **+** button next to the extrinsic field 6. The query should return none -![Verifying Unmapping was successful](/images/node-operators/block-producers/offboarding/account/account-8.webp) +![Verifying Unmapping was successful](/images/node-operators/sequencers/offboarding/account/account-8.webp) -And that's it! You have successfully offboarded a Tanssi block producer. If you change your mind at any point and want to onboard back as a Tanssi block producer, you can follow the steps in the [onboarding guide](/node-operators/block-producers/onboarding/account-setup/){target=\_blank}. +And that's it! You have successfully offboarded a Tanssi block producer. If you change your mind at any point and want to onboard back as a Tanssi block producer, you can follow the steps in the [onboarding guide](/node-operators/sequencers/onboarding/account-setup/){target=\_blank}. diff --git a/node-operators/sequencers/offboarding/index.md b/node-operators/sequencers/offboarding/index.md new file mode 100644 index 00000000..2d93ca82 --- /dev/null +++ b/node-operators/sequencers/offboarding/index.md @@ -0,0 +1,22 @@ +--- +title: Offboard Your Sequencer Node +description: Learn how to properly offboard your Sequencer node (also known as block producers) including clearing session keys and undelegating funds. +icon: octicons-arrow-down-right-24 +template: index-page.html +--- + +## Offboarding + +Stepping down as a sequencer requires following the proper procedures to ensure a smooth transition. This section provides clear instructions to unmap your session keys and undelegate your self-bonded stake, allowing you to safely reclaim your funds and disconnect your account from the network. + +What you’ll learn: + +- **Removing your self-delegation** - steps to remove your self-bonded stake and ensure your sequencer is no longer listed as an eligible participant +- **Unmapping session keys** - how to unmap your session keys, properly severing the connection between your node and your account + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: + +!!! tip "Rejoining as a Sequencer" + If you decide to return as a Tanssi sequencer in the future, you can easily onboard again by following the steps outlined in the [Onboarding](/node-operators/sequencers/onboarding/) guide. \ No newline at end of file diff --git a/node-operators/block-producers/onboarding/.pages b/node-operators/sequencers/onboarding/.pages similarity index 78% rename from node-operators/block-producers/onboarding/.pages rename to node-operators/sequencers/onboarding/.pages index 423e228b..c1615f42 100644 --- a/node-operators/block-producers/onboarding/.pages +++ b/node-operators/sequencers/onboarding/.pages @@ -2,5 +2,5 @@ title: Onboarding hide: false nav: - index.md - - run-a-block-producer + - run-a-sequencer - 'Set Up Your Account': 'account-setup.md' \ No newline at end of file diff --git a/node-operators/block-producers/onboarding/account-setup.md b/node-operators/sequencers/onboarding/account-setup.md similarity index 91% rename from node-operators/block-producers/onboarding/account-setup.md rename to node-operators/sequencers/onboarding/account-setup.md index c3b83d4d..0db9e208 100644 --- a/node-operators/block-producers/onboarding/account-setup.md +++ b/node-operators/sequencers/onboarding/account-setup.md @@ -1,6 +1,7 @@ --- title: Setup an Account to Produce Blocks description: Follow these step-by-step instructions on becoming eligible to produce blocks on Tanssi and Tanssi appchains and setting up your account for rewards payouts. +icon: octicons-person-add-24 --- # Set Up Your Account to Produce Blocks on Tanssi @@ -9,9 +10,9 @@ description: Follow these step-by-step instructions on becoming eligible to prod Before you can start producing blocks on Tanssi and Tanssi appchains, you'll need to set up your account and establish your eligibility. -You must have spun up a [block-producing node](/node-operators/block-producers/onboarding/run-a-block-producer/){target=\_blank} to tackle the account setup steps in this guide. +You must have spun up a [block-producing node](/node-operators/sequencers/onboarding/run-a-sequencer/){target=\_blank} to tackle the account setup steps in this guide. -You'll need to set up your account by generating [session keys](https://wiki.polkadot.network/docs/learn-keys#session-keys){target=\_blank} and mapping those session keys to your account. This account is the one to which delegators will choose to delegate and where your rewards will be distributed. You can optionally [establish a proxy account](/node-operators/block-producers/operational-tasks/proxy-accounts/){target=\_blank} for additional security. +You'll need to set up your account by generating [session keys](https://wiki.polkadot.network/docs/learn-keys#session-keys){target=\_blank} and mapping those session keys to your account. This account is the one to which delegators will choose to delegate and where your rewards will be distributed. You can optionally [establish a proxy account](/node-operators/sequencers/operational-tasks/proxy-accounts/){target=\_blank} for additional security. To establish eligibility, you must delegate yourself as a block producer and meet the minimum bond requirements. @@ -41,7 +42,7 @@ You will need to create session keys for your primary and backup servers. Each o ### Generate Session Keys {: #generate-session-keys } -Before generating session keys, you must be [running a block-producing node](/node-operators/block-producers/onboarding/run-a-block-producer/){target=\_blank}. +Before generating session keys, you must be [running a block-producing node](/node-operators/sequencers/onboarding/run-a-sequencer/){target=\_blank}. To generate session keys, you'll send an RPC call, using the `author_rotateKeys` method, to your node's HTTP endpoint. For reference, if your block producer's HTTP endpoint is at port `9944`, the JSON-RPC call might look like this: @@ -58,7 +59,7 @@ curl http://127.0.0.1:9944 -H \ Your hex-encoded session keys will be printed to the terminal in the `"result"` field. ---8<-- 'code/node-operators/block-producers/onboarding/account-setup/terminal/generate-session-keys.md' +--8<-- 'code/node-operators/sequencers/onboarding/account-setup/terminal/generate-session-keys.md' Make sure you write down your session keys; you'll need to map your session keys to your account in the next section. @@ -72,7 +73,7 @@ To perform the next step and map your session keys to your account, head to [Pol 4. For **proof**, enter `0x` 5. Click **Submit Transaction** and sign and send the transaction from your wallet -![Create and submit an extrinsic to set session keys on Polkadot.js Apps](/images/node-operators/block-producers/onboarding/account-setup/setup-1.webp) +![Create and submit an extrinsic to set session keys on Polkadot.js Apps](/images/node-operators/sequencers/onboarding/account-setup/setup-1.webp) Using the `session.keyOwner` method, you can verify that your session keys have been mapped to your account as expected. To do this on [Polkadot.js Apps](https://polkadot.js.org/apps/?rpc=wss://{{ networks.dancebox.dns_name }}#/extrinsics){target=\_blank}, click on the **Developer** tab, select **Chain state** from the dropdown, and take the following steps: @@ -82,7 +83,7 @@ Using the `session.keyOwner` method, you can verify that your session keys have 4. Click the **+** button next to the extrinsic field 5. The account associated with the session keys, which should be your account, will be displayed at the bottom of the page -![Create and submit query to verify session keys on Polkadot.js Apps](/images/node-operators/block-producers/onboarding/account-setup/setup-2.webp) +![Create and submit query to verify session keys on Polkadot.js Apps](/images/node-operators/sequencers/onboarding/account-setup/setup-2.webp) ## Submit Self-Delegation {: #submit-self-delegation } @@ -103,7 +104,7 @@ Head to [Polkadot.js Apps](https://polkadot.js.org/apps/?rpc=wss://{{ networks.d 5. Enter the amount to stake. This amount must meet the minimum, which is {{ networks.dancebox.block_producers.min_self_del.dance }} DANCE tokens. You'll need to submit the value in [Planck](https://wiki.polkadot.network/docs/learn-DOT#the-planck-unit){target=\_blank}, so for {{ networks.dancebox.block_producers.min_self_del.dance }}, you'll need to enter `{{ networks.dancebox.block_producers.min_self_del.planck }}` 6. Click **Submit Transaction** and sign and send the transaction from your wallet -![Create and submit an extrinsic to self-delegate on Polkadot.js Apps](/images/node-operators/block-producers/onboarding/account-setup/setup-3.webp) +![Create and submit an extrinsic to self-delegate on Polkadot.js Apps](/images/node-operators/sequencers/onboarding/account-setup/setup-3.webp) ### Execute the Pending Request {: #execute-pending-request } @@ -115,7 +116,7 @@ Before executing the pending request, you'll need to retrieve the session at whi 4. Click the **+** button next to the extrinsic field 5. The pending request will be displayed at the bottom of the page -![Query the pending self-delegation request on Polkadot.js Apps](/images/node-operators/block-producers/onboarding/account-setup/setup-4.webp) +![Query the pending self-delegation request on Polkadot.js Apps](/images/node-operators/sequencers/onboarding/account-setup/setup-4.webp) In the example in the above image, the delegate request to join the auto-compounding pool was submitted during session 4,829. So, the request can be executed starting at session 4,831. @@ -127,7 +128,7 @@ You can run another query from the **Chain state** page to check the current ses 2. Click the **+** button next to the extrinsic field 3. The current session will be displayed at the bottom of the page -![Query the current session index on Polkadot.js Apps](/images/node-operators/block-producers/onboarding/account-setup/setup-5.webp) +![Query the current session index on Polkadot.js Apps](/images/node-operators/sequencers/onboarding/account-setup/setup-5.webp) If the request can be executed, select **Extrinsics** from the **Developer** dropdown and take the following steps: @@ -139,7 +140,7 @@ If the request can be executed, select **Extrinsics** from the **Developer** dro 6. For **at**, enter the session id at which you submitted the delegate request 7. Click **Submit Transaction** and sign and send the transaction from your wallet -![Create and submit an extrinsic to execute the pending self-delegation request on Polkadot.js Apps](/images/node-operators/block-producers/onboarding/account-setup/setup-6.webp) +![Create and submit an extrinsic to execute the pending self-delegation request on Polkadot.js Apps](/images/node-operators/sequencers/onboarding/account-setup/setup-6.webp) Now, you have completed all of the necessary account setup to be eligible to produce blocks! @@ -151,6 +152,6 @@ If you've followed all of the steps in this guide and have fully synced your blo 2. Click the **+** button next to the extrinsic field 3. A list of the eligible candidates and their stake will be displayed at the bottom of the page. You can search for your address to ensure you are eligible to produce blocks -![Query the current list of eligible candidates on Polkadot.js Apps](/images/node-operators/block-producers/onboarding/account-setup/setup-7.webp) +![Query the current list of eligible candidates on Polkadot.js Apps](/images/node-operators/sequencers/onboarding/account-setup/setup-7.webp) Remember that you'll need to be in the top candidates by total stake to produce blocks, and this is based on the number of [block producers required for each appchain and Tanssi](#important-variables). diff --git a/node-operators/sequencers/onboarding/index.md b/node-operators/sequencers/onboarding/index.md new file mode 100644 index 00000000..8a13d1ab --- /dev/null +++ b/node-operators/sequencers/onboarding/index.md @@ -0,0 +1,24 @@ +--- +title: Onboard to Run a Sequencer Node +description: Learn how to get started to run a Sequencer (also known as producer nodes) using Docker or Systemd to participate in the protocol. +icon: octicons-arrow-up-right-24 +template: index-page.html +--- + +# Onboarding + +Starting your journey as a sequencer begins here. This section covers the foundational steps to set up your node and prepare your account for active participation in the Tanssi network. + +Getting Started as a Sequencer: + +- **Hardware requirements** - understand the recommended hardware specifications to ensure optimal performance of your [sequencer](/node-operators/sequencers/onboarding/run-a-sequencer/) node +- **Port configuration** - learn which network ports need to be open to facilitate proper communication within the Tanssi ecosystem +- **Session keys setup** - detailed instructions on generating and managing session keys, a vital step for enabling block production capabilities +- **Docker and systemd deployment** - choose between Docker and systemd for deploying your node, with step-by-step guides tailored for each method + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: + + + diff --git a/node-operators/sequencers/onboarding/run-a-sequencer/.pages b/node-operators/sequencers/onboarding/run-a-sequencer/.pages new file mode 100644 index 00000000..c69fc0f9 --- /dev/null +++ b/node-operators/sequencers/onboarding/run-a-sequencer/.pages @@ -0,0 +1,6 @@ +title: Run a Sequencer +hide: false +nav: + - index.md + - 'Using Docker': 'sequencers-docker.md' + - 'Using Systemd': 'sequencers-systemd.md' diff --git a/node-operators/sequencers/onboarding/run-a-sequencer/index.md b/node-operators/sequencers/onboarding/run-a-sequencer/index.md new file mode 100644 index 00000000..4f613e82 --- /dev/null +++ b/node-operators/sequencers/onboarding/run-a-sequencer/index.md @@ -0,0 +1,38 @@ +--- +title: Run a Sequencer +description: Learn how to set up and run Sequencer node (also known as block producers or collators) using Docker or Systemd to participate in the protocol. +icon: octicons-server-24 +template: index-page.html +--- + +# Run a Sequencer Node + +Setting up a sequencer node is an important step to participate in the Tanssi network. You have two options for configuration: using _Docker_ or _Systemd._ Whichever path you choose, we provide step-by-step tutorials to guide you through the process and ensure your node meets the necessary requirements to produce blocks and maintain a secure connection to the network. + +### Hardware Requirements + +To run a sequencer node successfully, using high-performance hardware is essential. Suboptimal configurations can lead to delays, missed authoring rounds, and lost rewards. Since the block production and import process relies heavily on single-threaded performance, prioritizing CPUs with strong single-thread capabilities over higher core counts is recommended. + +Recommended Hardware: + +- **Recommended CPUs** - Intel Xeon E-2386/2388 or Ryzen 9 5950x/5900x +- **Recommended NVMe** - 1 TB NVMe +- **Recommended RAM** - 32 GB RAM + +!!! warning + As a sequencer, you are responsible for both your own stake and that of your delegators. Maintaining your node's performance, keeping it updated, and ensuring its security are critical for maximizing rewards and building a strong reputation within the Tanssi network. + +### Required Network Ports + +For successful block production, your node must synchronize and interact with three peer-to-peer (P2P) networks. To ensure proper communication within the Tanssi ecosystem, make sure the following ports are open for incoming: + +| Network | Port | +|---------------------|--------------| +| Tanssi Chain | 30333 (TCP) | +| Relay Chain | 30334 (TCP) | +| Assigned Network | 30335 (TCP) | + + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker.md b/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker.md similarity index 79% rename from node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker.md rename to node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker.md index e83c31a6..c821e6fa 100644 --- a/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker.md +++ b/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker.md @@ -1,18 +1,17 @@ --- -title: Run a Block Producer Using Docker -description: Learn how to set up and run a block producer (aka collator or sequencer) for Tanssi appchains using Docker to participate in the protocol and earn rewards. +title: Run a Sequencer Using Docker +description: Learn how to set up and run a Sequencer (aka block producer) for Tanssi-powered networks using Docker to participate in the protocol and earn rewards. +icon: simple-docker --- # Run a Block Producer in Tanssi Using Docker ## Introduction {: #introduction } ---8<-- 'text/node-operators/block-producers/onboarding/run-a-block-producer/intro.md' +--8<-- 'text/node-operators/sequencers/onboarding/run-a-sequencer/intro.md' In this guide, you'll learn how to spin up a Tanssi block producer to be part of the shared pool of sequencers using [Docker](https://www.docker.com){target=\_blank} on a Linux computer. However, it can be adapted to other operating systems. ---8<-- 'text/node-operators/block-producers/onboarding/run-a-block-producer/hardware-requirements.md' - ## Checking Prerequisites {: #checking-prerequisites } --8<-- 'text/node-operators/installing-docker.md' @@ -31,7 +30,7 @@ docker pull moondancelabs/tanssi The command will download and extract the image and show the status upon execution: ---8<-- 'code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/terminal/pulling-docker-image.md' +--8<-- 'code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/terminal/pulling-docker-image.md' ### Setup the Data Directory {: #setup-data-directory } @@ -60,7 +59,7 @@ sudo chown -R $(id -u):$(id -g) /var/lib/dancebox ### Generate the Node Key {: #generate-node-key } ---8<-- 'text/node-operators/block-producers/onboarding/run-a-block-producer/generate-node-key-intro.md' +--8<-- 'text/node-operators/sequencers/onboarding/run-a-sequencer/generate-node-key-intro.md' ```bash docker run --network="host" -v "/var/lib/dancebox:/data" \ @@ -68,7 +67,7 @@ docker run --network="host" -v "/var/lib/dancebox:/data" \ moondancelabs/tanssi key generate-node-key --file /data/node-key ``` ---8<-- 'text/node-operators/block-producers/onboarding/run-a-block-producer/generate-node-key-unsafe-note.md' +--8<-- 'text/node-operators/sequencers/onboarding/run-a-sequencer/generate-node-key-unsafe-note.md' ## Start-Up Command {: #start-up-command } @@ -90,7 +89,7 @@ Name each of the sections with a human-readable name by replacing the `INSERT_YO docker run --network="host" -v "/var/lib/dancebox:/data" \ -u $(id -u ${USER}):$(id -g ${USER}) \ moondancelabs/tanssi \ - --8<-- 'code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/docker-command.md' + --8<-- 'code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/docker-command.md' ``` === "Intel Skylake" @@ -100,7 +99,7 @@ Name each of the sections with a human-readable name by replacing the `INSERT_YO -u $(id -u ${USER}):$(id -g ${USER}) \ --entrypoint "/tanssi/tanssi-node-skylake" \ moondancelabs/tanssi \ - --8<-- 'code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/docker-command.md' + --8<-- 'code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/docker-command.md' ``` === "AMD Zen3" @@ -109,14 +108,14 @@ Name each of the sections with a human-readable name by replacing the `INSERT_YO -u $(id -u ${USER}):$(id -g ${USER}) \ --entrypoint "/tanssi/tanssi-node-znver3" \ moondancelabs/tanssi \ - --8<-- 'code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/docker-command.md' + --8<-- 'code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/docker-command.md' ``` ### Run Flags {: #run-flags } The flags used in the `docker run` command can be adjusted according to your preferences and hardware configuration. The following ones are some of the most note-worthy: ---8<-- 'text/node-operators/appchain-node/run-flags.md' +--8<-- 'text/node-operators/network-node/run-flags.md' ```bash docker run -ti moondancelabs/tanssi --help diff --git a/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-systemd.md b/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-systemd.md similarity index 87% rename from node-operators/block-producers/onboarding/run-a-block-producer/block-producer-systemd.md rename to node-operators/sequencers/onboarding/run-a-sequencer/sequencers-systemd.md index 2de5635e..f1ed9ca4 100644 --- a/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-systemd.md +++ b/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-systemd.md @@ -1,20 +1,19 @@ --- -title: Run a Tanssi Block Producer -description: Learn how to set up and run block producers (collators) for Tanssi appchains using Systemd, allowing you to participate in the protocol and earn rewards. +title: Run a Tanssi Sequencer +description: Learn how to set up and run a sequencer (block producer) node for Tanssi networks using Systemd, allowing you to participate in the protocol and earn rewards. +icon: simple-linux --- # Run a Block Producer Node Using Systemd ## Introduction {: #introduction } ---8<-- 'text/node-operators/block-producers/onboarding/run-a-block-producer/intro.md' +--8<-- 'text/node-operators/sequencers/onboarding/run-a-sequencer/intro.md' In this guide, you'll learn how to spin up a Tanssi block producer to be part of the shared pool of sequencers using the latest stable binary file release and managing the service with [Systemd](https://systemd.io){target=\_blank} on Linux systems. The article follows the good practice of running the service with its own non-root account and granting that account write access to a specific directory. However, you can adapt this article's steps and instructions to your infrastructure configuration, preferences, and security policies. ---8<-- 'text/node-operators/block-producers/onboarding/run-a-block-producer/hardware-requirements.md' - ## Checking Prerequisites {: #checking-prerequisites } To get started, you'll need access to a computer running an Ubuntu Linux OS and root privileges. You will also need: @@ -80,13 +79,13 @@ mv ./tanssi-node /var/lib/tanssi-data ### Generate the Node Key {: #generate-node-key } ---8<-- 'text/node-operators/block-producers/onboarding/run-a-block-producer/generate-node-key-intro.md' +--8<-- 'text/node-operators/sequencers/onboarding/run-a-sequencer/generate-node-key-intro.md' ```bash /var/lib/tanssi-data/tanssi-node key generate-node-key --file /var/lib/tanssi-data/node-key ``` ---8<-- 'text/node-operators/block-producers/onboarding/run-a-block-producer/generate-node-key-unsafe-note.md' +--8<-- 'text/node-operators/sequencers/onboarding/run-a-sequencer/generate-node-key-unsafe-note.md' ### Create the Systemd Service Configuration File {: #create-systemd-configuration } @@ -147,7 +146,7 @@ WantedBy=multi-user.target The flags used in the ExecStart command can be adjusted according to your preferences and hardware configuration. The following ones are some of the most note-worthy: ---8<-- 'text/node-operators/appchain-node/run-flags.md' +--8<-- 'text/node-operators/network-node/run-flags.md' ```bash /var/lib/tanssi-data/tanssi-node --help @@ -168,7 +167,7 @@ You can verify that the service is up and running correctly running: systemctl status tanssi.service ``` ---8<-- 'code/node-operators/appchain-node/rpc-systemd/terminal/check-status.md' +--8<-- 'code/node-operators/network-node/rpc-systemd/terminal/check-status.md' And check the logs, if needed, with the following command: diff --git a/node-operators/block-producers/operational-tasks/.pages b/node-operators/sequencers/operational-tasks/.pages similarity index 100% rename from node-operators/block-producers/operational-tasks/.pages rename to node-operators/sequencers/operational-tasks/.pages diff --git a/node-operators/sequencers/operational-tasks/index.md b/node-operators/sequencers/operational-tasks/index.md new file mode 100644 index 00000000..b8d828ee --- /dev/null +++ b/node-operators/sequencers/operational-tasks/index.md @@ -0,0 +1,15 @@ +--- +title: Sequencers Operational Tasks +description: Learn how to manage your activities as a sequencer in the Tanssi network protocol, including managing your account, upgrading your node, and more. +icon: octicons-arrow-switch-24 +template: index-page.html +--- + +# Operational Task + +Keeping your sequencer node up and running is more than just setup - it requires regular maintenance to ensure consistent performance and secure management of your accounts. Regular updates are essential to keep your node compatible with the latest Tanssi protocol changes, while tools such as proxy accounts provide an extra layer of security by allowing you to delegate certain tasks without exposing your primary account credentials. This section provides the necessary steps to keep your operations smooth, reliable and secure. + + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: \ No newline at end of file diff --git a/node-operators/block-producers/operational-tasks/proxy-accounts.md b/node-operators/sequencers/operational-tasks/proxy-accounts.md similarity index 87% rename from node-operators/block-producers/operational-tasks/proxy-accounts.md rename to node-operators/sequencers/operational-tasks/proxy-accounts.md index b5ee46ea..f8d03dad 100644 --- a/node-operators/block-producers/operational-tasks/proxy-accounts.md +++ b/node-operators/sequencers/operational-tasks/proxy-accounts.md @@ -1,6 +1,7 @@ --- -title: Set Up a Block Producer Proxy Account -description: Follow these step-by-step instructions to configure a proxy account to manage block producer activities on behalf of your primary block producer account. +title: Set Up a Sequencer Proxy Account +description: Follow these step-by-step instructions to configure a proxy account to manage sequencer activities on behalf of your primary sequencer account. +icon: octicons-shield-lock-24 --- # Set Up a Proxy Account @@ -42,7 +43,7 @@ To get started creating your proxy account, head to the **Developer** tab and se 7. Optionally, you can add a time delay using a specified number of blocks to add an additional layer of security for the primary account to review the pending transaction 8. Click **Submit Transaction** -![Add a proxy account from the Extrinsics page of Polkadot.js Apps.](/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-1.webp) +![Add a proxy account from the Extrinsics page of Polkadot.js Apps.](/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-1.webp) You will then be prompted to authorize and sign the transaction. Click **Sign and Submit** to create the proxy relationship. Once the transaction has been successfully submitted, you will receive some notifications confirming the transaction. @@ -51,14 +52,14 @@ As previously mentioned, you can also create a proxy from the **Accounts** page. 1. Select the three vertical dots next to the primary account 2. Select **Add proxy** -![Select the Add proxy menu item from the Accounts page of Polkadot.js Apps.](/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-2.webp) +![Select the Add proxy menu item from the Accounts page of Polkadot.js Apps.](/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-2.webp) !!! note If the account already has a proxy, **Manage proxies** will be displayed as an option instead of **Add proxy**. A pop-up will appear and you can enter the required information, such as the proxied/primary account, the proxy account, and the type of proxy to create a proxy account. First, click **Add proxy**. -![Add a proxy account from the Accounts page of Polkadot.js Apps](/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-3.webp) +![Add a proxy account from the Accounts page of Polkadot.js Apps](/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-3.webp) Then, take the following steps: @@ -66,7 +67,7 @@ Then, take the following steps: 2. Select the proxy type 3. Click **Submit** and sign the transaction -![Add the details of the proxy account, including the proxy account and type.](/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-4.webp) +![Add the details of the proxy account, including the proxy account and type.](/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-4.webp) In the next section, you will learn how to verify that your proxy account was set up successfully. @@ -81,17 +82,17 @@ To check your proxy accounts from the [**Chain state** page](https://polkadot.js 3. Select your primary/proxied account 4. Click on the **+** button to send the query -![Verify your proxy accounts via the Extrinsics page of Polkadot.js Apps.](/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-5.webp) +![Verify your proxy accounts via the Extrinsics page of Polkadot.js Apps.](/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-5.webp) The result will appear on the page showing you information about all of your proxies, including the delegate/proxy account address, the proxy type, the delay period if one was specified, and the total bond amount for all of your proxies in Planck. You can also check your proxy accounts from the **Accounts** page. To do so, navigate to the **Accounts** page, and there should be a Proxy symbol next to the primary account. Hover over the icon and click on **Manage proxies** to review your proxies. -![Hover over the proxy icon to manage your proxies via the Accounts page of Polkadot.js Apps.](/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-6.webp) +![Hover over the proxy icon to manage your proxies via the Accounts page of Polkadot.js Apps.](/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-6.webp) A pop-up will appear where you can see an overview of all of your proxy accounts. -![Review your proxy accounts.](/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-7.webp) +![Review your proxy accounts.](/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-7.webp) ## Executing a Proxy Transaction {: #executing-a-proxy-transaction } @@ -111,11 +112,11 @@ To execute a transaction, you can navigate back to the [**Extrinsics** page](htt 10. Enter the amount to stake. This amount must meet the minimum, which is {{ networks.dancebox.block_producers.min_self_del.dance }} DANCE tokens. You'll need to submit the value in [Planck](https://wiki.polkadot.network/docs/learn-DOT#the-planck-unit){target=\_blank}, so for {{ networks.dancebox.block_producers.min_self_del.dance }}, you'll need to enter `{{ networks.dancebox.block_producers.min_self_del.planck }}` 11. Click **Submit Transaction** -![Execute a proxy transaction from the Extrinsics page of Polkadot.js Apps.](/images/node-operators/block-producers/operational-tasks/proxy-accounts/proxy-8.webp) +![Execute a proxy transaction from the Extrinsics page of Polkadot.js Apps.](/images/node-operators/sequencers/operational-tasks/proxy-accounts/proxy-8.webp) -A pop-up will appear for you to authorize and sign the transaction. Enter your password for the proxy account and click **Sign and Submit**. To confirm the delegation request, you'll need to execute the pending request after two sessions have passed. Please refer to the instructions for [executing pending requests](/node-operators/block-producers/onboarding/account-setup/#execute-pending-request){target=\_blank} for a step-by-step guide. You can also [map your session keys to your block producer account](/node-operators/block-producers/onboarding/account-setup/#map-session-keys){target=\_blank} via proxy. +A pop-up will appear for you to authorize and sign the transaction. Enter your password for the proxy account and click **Sign and Submit**. To confirm the delegation request, you'll need to execute the pending request after two sessions have passed. Please refer to the instructions for [executing pending requests](/node-operators/sequencers/onboarding/account-setup/#execute-pending-request){target=\_blank} for a step-by-step guide. You can also [map your session keys to your block producer account](/node-operators/sequencers/onboarding/account-setup/#map-session-keys){target=\_blank} via proxy. -After you've mapped your session keys and executed the pending delegation request, you can [verify that your block producer is in the list of eligible candidates](/node-operators/block-producers/onboarding/account-setup/#verify){target=\_blank}. +After you've mapped your session keys and executed the pending delegation request, you can [verify that your block producer is in the list of eligible candidates](/node-operators/sequencers/onboarding/account-setup/#verify){target=\_blank}. That's it! You've successfully executed a transaction using a proxy account on behalf of your primary block producer account. diff --git a/node-operators/block-producers/operational-tasks/upgrade-your-node/.pages b/node-operators/sequencers/operational-tasks/upgrade-your-node/.pages similarity index 100% rename from node-operators/block-producers/operational-tasks/upgrade-your-node/.pages rename to node-operators/sequencers/operational-tasks/upgrade-your-node/.pages diff --git a/node-operators/sequencers/operational-tasks/upgrade-your-node/index.md b/node-operators/sequencers/operational-tasks/upgrade-your-node/index.md new file mode 100644 index 00000000..3d7b1f1c --- /dev/null +++ b/node-operators/sequencers/operational-tasks/upgrade-your-node/index.md @@ -0,0 +1,19 @@ +--- +title: Upgrade Sequencers Node +description: Follow these steps to update your node to the latest version of the Tanssi client software, ensuring seamless block production on the Tanssi network protocol. +icon: octicons-rocket-24 +template: index-page.html +--- + +# Upgrade Sequencers Node + +Keeping your node updated is critical to maintaining compatibility with the latest Tanssi protocol changes and ensuring optimal performance. Outdated nodes can lead to desynchronization, reduced efficiency, or even an inability to participate in block production. By staying current with client releases, you can ensure your node operates securely and reliably within the network. + +!!! tip "Subscribe to Release Notifications" + Staying informed about new client releases is essential for maintaining an up-to-date node. Tanssi block producers can subscribe to GitHub notifications to be alerted for new client release versions. + + To subscribe, visit the [Tanssi GitHub](https://github.com/moondance-labs/tanssi){:target="_blank"} repository and click **Watch**. Select **Custom notifications** and ensure the box for **Releases** is checked. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/node-operators/block-producers/operational-tasks/upgrade-your-node/upgrade-docker.md b/node-operators/sequencers/operational-tasks/upgrade-your-node/upgrade-docker.md similarity index 77% rename from node-operators/block-producers/operational-tasks/upgrade-your-node/upgrade-docker.md rename to node-operators/sequencers/operational-tasks/upgrade-your-node/upgrade-docker.md index 062bc5b1..0d795ecd 100644 --- a/node-operators/block-producers/operational-tasks/upgrade-your-node/upgrade-docker.md +++ b/node-operators/sequencers/operational-tasks/upgrade-your-node/upgrade-docker.md @@ -1,6 +1,7 @@ --- -title: Upgrade Your Block Producer Docker Node -description: Follow these instructions to update your Tanssi block producer node running via Systemd to the latest version of the Tanssi client software. +title: Upgrade Your Sequencer Docker Node +description: Follow these instructions to update your Tanssi Sequencer node running via Docker to the latest version of the Tanssi client software. +icon: simple-docker --- # Upgrade Your Node Running via Docker @@ -9,7 +10,7 @@ description: Follow these instructions to update your Tanssi block producer node Keeping your node up-to-date is an important part of being a Tanssi block producer node. Not only does it help to ensure that your block producer node stays healthy, it also contributes to keeping the entire Tanssi network running smoothly. Tanssi block producers can subscribe to [GitHub notifications](#subscribe) to be alerted for new client release versions. -This tutorial covers upgrading your Tanssi block producer node that was configured using Docker. It assumes you have already set up your account and launched a [block producer node using Docker](/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/){target=\_blank}. +This tutorial covers upgrading your Tanssi block producer node that was configured using Docker. It assumes you have already set up your account and launched a [block producer node using Docker](/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/){target=\_blank}. ## Upgrading Docker Nodes {: #upgrading-docker-nodes } @@ -29,7 +30,7 @@ docker stop INSERT_YOUR_CONTAINER_ID Your terminal interaction will resemble the following: ---8<-- 'code/node-operators/block-producers/operational-tasks/upgrade-your-node/upgrade-docker/terminal/docker-stop.md' +--8<-- 'code/node-operators/sequencers/operational-tasks/upgrade-your-node/upgrade-docker/terminal/docker-stop.md' To restart the node, you can use the command you used when launching your block producer node. The Docker command is configured to automatically retrieve the latest version. The node will resume syncing blocks from where it left off when the Docker process was stopped. @@ -39,7 +40,7 @@ To restart the node, you can use the command you used when launching your block docker run --network="host" -v "/var/lib/dancebox:/data" \ -u $(id -u ${USER}):$(id -g ${USER}) \ moondancelabs/tanssi \ - --8<-- 'code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/docker-command.md' + --8<-- 'code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/docker-command.md' ``` === "Intel Skylake" @@ -49,7 +50,7 @@ To restart the node, you can use the command you used when launching your block -u $(id -u ${USER}):$(id -g ${USER}) \ --entrypoint "/tanssi/tanssi-node-skylake" \ moondancelabs/tanssi \ - --8<-- 'code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/docker-command.md' + --8<-- 'code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/docker-command.md' ``` === "AMD Zen3" @@ -58,7 +59,7 @@ To restart the node, you can use the command you used when launching your block -u $(id -u ${USER}):$(id -g ${USER}) \ --entrypoint "/tanssi/tanssi-node-znver3" \ moondancelabs/tanssi \ - --8<-- 'code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/docker-command.md' + --8<-- 'code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/docker-command.md' ``` ### Specifying a Version Tag {: #specifying-a-version-tag } @@ -73,7 +74,7 @@ The complete commands with specific version tags are thus as follows: docker run --network="host" -v "/var/lib/dancebox:/data" \ -u $(id -u ${USER}):$(id -g ${USER}) \ moondancelabs/tanssi:{{ networks.dancebox.client_version }} \ - --8<-- 'code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/docker-command.md' + --8<-- 'code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/docker-command.md' ``` === "Intel Skylake" @@ -83,7 +84,7 @@ The complete commands with specific version tags are thus as follows: -u $(id -u ${USER}):$(id -g ${USER}) \ --entrypoint "/tanssi/tanssi-node-skylake" \ moondancelabs/tanssi:{{ networks.dancebox.client_version }} \ - --8<-- 'code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/docker-command.md' + --8<-- 'code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/docker-command.md' ``` === "AMD Zen3" @@ -93,7 +94,7 @@ The complete commands with specific version tags are thus as follows: -u $(id -u ${USER}):$(id -g ${USER}) \ --entrypoint "/tanssi/tanssi-node-znver3" \ moondancelabs/tanssi:{{ networks.dancebox.client_version }} \ - --8<-- 'code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/docker-command.md' + --8<-- 'code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/docker-command.md' ``` And that's it! You've successfully upgraded your Tanssi node. diff --git a/node-operators/block-producers/operational-tasks/upgrade-your-node/upgrade-systemd.md b/node-operators/sequencers/operational-tasks/upgrade-your-node/upgrade-systemd.md similarity index 90% rename from node-operators/block-producers/operational-tasks/upgrade-your-node/upgrade-systemd.md rename to node-operators/sequencers/operational-tasks/upgrade-your-node/upgrade-systemd.md index dc726d3f..df9d5573 100644 --- a/node-operators/block-producers/operational-tasks/upgrade-your-node/upgrade-systemd.md +++ b/node-operators/sequencers/operational-tasks/upgrade-your-node/upgrade-systemd.md @@ -1,6 +1,7 @@ --- -title: Upgrade Your Block Producer Systemd Node -description: Follow these instructions to update your Tanssi block producer node running via Systemd to the latest version of the Tanssi client software. +title: Upgrade Your Sequencer Systemd Node +description: Follow these instructions to update your Tanssi Sequencer node running via Systemd to the latest version of the Tanssi client software. +icon: simple-linux --- # Upgrade Your Node Running via Systemd @@ -9,7 +10,7 @@ description: Follow these instructions to update your Tanssi block producer node Keeping your node up-to-date is an important part of being a Tanssi block producer node. Not only does it help to ensure that your block producer node stays healthy, it also contributes to keeping the entire Tanssi network running smoothly. Tanssi block producers can subscribe to [GitHub notifications](#subscribe) to be alerted for new client release versions. -This tutorial covers upgrading your Tanssi block producer node that was configured using Systemd. It assumes you have already set up your account and launched a [block producer node using Systemd](/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-systemd/){target=\_blank}. +This tutorial covers upgrading your Tanssi block producer node that was configured using Systemd. It assumes you have already set up your account and launched a [block producer node using Systemd](/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-systemd/){target=\_blank}. ## Upgrading Your Systemd Node {: #upgrading-your-systemd-node }