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 `` tag and is used for SEO purposes - The `description` represents the meta-description and is also used for SEO purposes -- The `template` defines the template to be used. It should always be `main.html` for new content pages and `subsection-index-page.html` when adding a new section +- The `icon` is used on index pages (`index.md`). So it should be an icon representative of the content on the page. You should stick to using Octicons 24px icons. You can search through the available icons on the [Primer Design System website](https://primer.style/foundations/icons) +- The `template` defines the template to be used. It should always be `main.html` for new content pages and `index-page.html` when adding a new section - The `<div>` is populated with links to any pages or subdirectories and is populated automatically by a script at runtime that builds the landing pages ## Content Pages @@ -81,6 +80,7 @@ When adding a new content page, you should have the following components: - **`title`** - represents the `<title>` tag and is used for SEO purposes (not displayed on the published site) - **`description`** - represents the meta-description and is also used for SEO purposes (not displayed on the published site) +- **`icon`** - defines an icon to be used on the parent section's index page. It should be an icon representative of the content on the page. You should stick to using Octicons 24px icons. You can search through the available icons on the [Primer Design System website](https://primer.style/foundations/icons) - **Page title** - a title to be displayed at the top of the page - **`## Introduction` section** - 2-3 paragraphs to serve as an introduction. This should be long-lived, meaning it will not require changes in the future diff --git a/.snippets/code/node-operators/appchain-node/rpc-docker/docker-command.md b/.snippets/code/node-operators/network-node/rpc-docker/docker-command.md similarity index 100% rename from .snippets/code/node-operators/appchain-node/rpc-docker/docker-command.md rename to .snippets/code/node-operators/network-node/rpc-docker/docker-command.md diff --git a/.snippets/code/node-operators/appchain-node/rpc-docker/terminal/pulling-docker-image.md b/.snippets/code/node-operators/network-node/rpc-docker/terminal/pulling-docker-image.md similarity index 100% rename from .snippets/code/node-operators/appchain-node/rpc-docker/terminal/pulling-docker-image.md rename to .snippets/code/node-operators/network-node/rpc-docker/terminal/pulling-docker-image.md diff --git a/.snippets/code/node-operators/appchain-node/rpc-systemd/terminal/check-status.md b/.snippets/code/node-operators/network-node/rpc-systemd/terminal/check-status.md similarity index 100% rename from .snippets/code/node-operators/appchain-node/rpc-systemd/terminal/check-status.md rename to .snippets/code/node-operators/network-node/rpc-systemd/terminal/check-status.md diff --git a/.snippets/code/node-operators/appchain-node/rpc-systemd/terminal/journalctl-logs.md b/.snippets/code/node-operators/network-node/rpc-systemd/terminal/journalctl-logs.md similarity index 100% rename from .snippets/code/node-operators/appchain-node/rpc-systemd/terminal/journalctl-logs.md rename to .snippets/code/node-operators/network-node/rpc-systemd/terminal/journalctl-logs.md diff --git a/.snippets/code/node-operators/block-producers/onboarding/account-setup/terminal/generate-session-keys.md b/.snippets/code/node-operators/sequencers/onboarding/account-setup/terminal/generate-session-keys.md similarity index 100% rename from .snippets/code/node-operators/block-producers/onboarding/account-setup/terminal/generate-session-keys.md rename to .snippets/code/node-operators/sequencers/onboarding/account-setup/terminal/generate-session-keys.md diff --git a/.snippets/code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/docker-command.md b/.snippets/code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/docker-command.md similarity index 100% rename from .snippets/code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/docker-command.md rename to .snippets/code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/docker-command.md diff --git a/.snippets/code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/terminal/pulling-docker-image.md b/.snippets/code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/terminal/pulling-docker-image.md similarity index 100% rename from .snippets/code/node-operators/block-producers/onboarding/run-a-block-producer/block-producer-docker/terminal/pulling-docker-image.md rename to .snippets/code/node-operators/sequencers/onboarding/run-a-sequencer/sequencers-docker/terminal/pulling-docker-image.md diff --git a/.snippets/code/node-operators/block-producers/operational-tasks/upgrade-your-node/upgrade-docker/terminal/docker-stop.md b/.snippets/code/node-operators/sequencers/operational-tasks/upgrade-your-node/upgrade-docker/terminal/docker-stop.md similarity index 100% rename from .snippets/code/node-operators/block-producers/operational-tasks/upgrade-your-node/upgrade-docker/terminal/docker-stop.md rename to .snippets/code/node-operators/sequencers/operational-tasks/upgrade-your-node/upgrade-docker/terminal/docker-stop.md diff --git a/.snippets/text/node-operators/appchain-node/bootnode-item.md b/.snippets/text/node-operators/network-node/bootnode-item.md similarity index 100% rename from .snippets/text/node-operators/appchain-node/bootnode-item.md rename to .snippets/text/node-operators/network-node/bootnode-item.md diff --git a/.snippets/text/node-operators/appchain-node/fetching-bootnode-section.md b/.snippets/text/node-operators/network-node/fetching-bootnode-section.md similarity index 87% rename from .snippets/text/node-operators/appchain-node/fetching-bootnode-section.md rename to .snippets/text/node-operators/network-node/fetching-bootnode-section.md index 17682932..3a30ad52 100644 --- a/.snippets/text/node-operators/appchain-node/fetching-bootnode-section.md +++ b/.snippets/text/node-operators/network-node/fetching-bootnode-section.md @@ -9,4 +9,4 @@ To do so, take the following steps: 3. Provide your Tanssi appchain ID 4. Click on the **+** sign -![Getting the bootnode](/images/node-operators/appchain-node/rpc-docker-systemd-1.webp) +![Getting the bootnode](/images/node-operators/network-node/rpc-docker-systemd-1.webp) diff --git a/.snippets/text/node-operators/appchain-node/intro.md b/.snippets/text/node-operators/network-node/intro.md similarity index 100% rename from .snippets/text/node-operators/appchain-node/intro.md rename to .snippets/text/node-operators/network-node/intro.md diff --git a/.snippets/text/node-operators/appchain-node/run-flags.md b/.snippets/text/node-operators/network-node/run-flags.md similarity index 100% rename from .snippets/text/node-operators/appchain-node/run-flags.md rename to .snippets/text/node-operators/network-node/run-flags.md diff --git a/.snippets/text/node-operators/block-producers/onboarding/run-a-block-producer/generate-node-key-intro.md b/.snippets/text/node-operators/sequencers/onboarding/run-a-sequencer/generate-node-key-intro.md similarity index 100% rename from .snippets/text/node-operators/block-producers/onboarding/run-a-block-producer/generate-node-key-intro.md rename to .snippets/text/node-operators/sequencers/onboarding/run-a-sequencer/generate-node-key-intro.md diff --git a/.snippets/text/node-operators/block-producers/onboarding/run-a-block-producer/generate-node-key-unsafe-note.md b/.snippets/text/node-operators/sequencers/onboarding/run-a-sequencer/generate-node-key-unsafe-note.md similarity index 100% rename from .snippets/text/node-operators/block-producers/onboarding/run-a-block-producer/generate-node-key-unsafe-note.md rename to .snippets/text/node-operators/sequencers/onboarding/run-a-sequencer/generate-node-key-unsafe-note.md diff --git a/.snippets/text/node-operators/block-producers/onboarding/run-a-block-producer/hardware-requirements.md b/.snippets/text/node-operators/sequencers/onboarding/run-a-sequencer/hardware-requirements.md similarity index 100% rename from .snippets/text/node-operators/block-producers/onboarding/run-a-block-producer/hardware-requirements.md rename to .snippets/text/node-operators/sequencers/onboarding/run-a-sequencer/hardware-requirements.md diff --git a/.snippets/text/node-operators/block-producers/onboarding/run-a-block-producer/intro.md b/.snippets/text/node-operators/sequencers/onboarding/run-a-sequencer/intro.md similarity index 100% rename from .snippets/text/node-operators/block-producers/onboarding/run-a-block-producer/intro.md rename to .snippets/text/node-operators/sequencers/onboarding/run-a-sequencer/intro.md diff --git a/builders/account-management/identity.md b/builders/account-management/identity.md index ff2ba109..a68ef729 100644 --- a/builders/account-management/identity.md +++ b/builders/account-management/identity.md @@ -1,6 +1,7 @@ --- title: Set an Account Identity description: Follow these step-by-step instructions to establish an identity, including a display name, so you can be more easily recognizable on Tanssi. +icon: octicons-person-24 --- # Set Up an Identity diff --git a/builders/account-management/index.md b/builders/account-management/index.md index 3d62486a..9139118d 100644 --- a/builders/account-management/index.md +++ b/builders/account-management/index.md @@ -1,8 +1,16 @@ --- title: Account Management description: Learn how to manage all account related activities such as the creation, maintenance, and removal of proxies and identities. -template: subsection-index-page.html -hide: - - toc - - feedback +icon: octicons-person-add-24 +template: index-page.html --- + +# Account Management + +On-chain account management gives users and developers greater flexibility and control over how their accounts interact with a decentralized network. You can fine-tune your account configurations for seamless integration within the ecosystem by managing roles, permissions, and identities directly on-chain. + +This section outlines some of the tools and features related to account management. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: \ No newline at end of file diff --git a/builders/account-management/proxy-accounts.md b/builders/account-management/proxy-accounts.md index dd3d15d0..fb38ae6b 100644 --- a/builders/account-management/proxy-accounts.md +++ b/builders/account-management/proxy-accounts.md @@ -1,6 +1,7 @@ --- title: Set Up and Manage Proxy Accounts description: Follow these step-by-step instructions to learn how proxies work and how to create, view, update, and remove proxy accounts from primary (proxied) accounts. +icon: octicons-shield-lock-24 --- # Proxy Accounts diff --git a/builders/build/.pages b/builders/build/.pages index f6c92881..fdf5efb8 100644 --- a/builders/build/.pages +++ b/builders/build/.pages @@ -1,4 +1,4 @@ -title: Build Your Appchain +title: Build Your Network hide: false nav: - index.md diff --git a/builders/build/customize/.pages b/builders/build/customize/.pages index 1d50bbab..cf7f6b2a 100644 --- a/builders/build/customize/.pages +++ b/builders/build/customize/.pages @@ -1,4 +1,4 @@ -title: Customize Your Appchain +title: Customize Your Network hide: false nav: - index.md diff --git a/builders/build/customize/adding-built-in-module.md b/builders/build/customize/adding-built-in-module.md index fdab2f9f..96df24a1 100644 --- a/builders/build/customize/adding-built-in-module.md +++ b/builders/build/customize/adding-built-in-module.md @@ -1,6 +1,7 @@ --- title: Adding Built-in Substrate Modules -description: Substrate is a modular blockchain framework that includes many ready-to-use modules covering a wide range of common functionalities to include in your runtime. +description: Learn how to leverage Substrate's pre-built, ready-to-use modules to efficiently add new features to your network without building from scratch. +icon: octicons-package-24 --- # Adding a Built-in Module {: #adding-builtin-module } diff --git a/builders/build/customize/adding-custom-made-module.md b/builders/build/customize/adding-custom-made-module.md index e7cbebb2..701bd664 100644 --- a/builders/build/customize/adding-custom-made-module.md +++ b/builders/build/customize/adding-custom-made-module.md @@ -1,6 +1,7 @@ --- title: Adding a Custom-Made Module -description: Substrate is a modular blockchain framework that makes it easy to build unique and innovative appchains composing built-in modules with custom-made ones. +description: Discover how to incorporate custom-made modules to add unique or specialized features to your network that go beyond the capabilities of the built-in modules. +icon: octicons-terminal-24 --- # Adding a Custom-Made Module {: #adding-custom-made-module } diff --git a/builders/build/customize/adding-external-module.md b/builders/build/customize/adding-external-module.md index 0f1d2866..7cdab485 100644 --- a/builders/build/customize/adding-external-module.md +++ b/builders/build/customize/adding-external-module.md @@ -1,6 +1,7 @@ --- title: Adding External Modules -description: Learn how to manage and resolve double reference issues of dependencies when customizing your Tanssi appchain template with a Rust-based tool called Diener. +description: Use external modules that comes from third-party libraries or other sources outside the Substrate framework to expand your network's functionality. +icon: octicons-plug-24 --- # Adding an External Module {: #adding-external-module } diff --git a/builders/build/customize/customizing-chain-specs.md b/builders/build/customize/customizing-chain-specs.md index dd5fd036..61d4036a 100644 --- a/builders/build/customize/customizing-chain-specs.md +++ b/builders/build/customize/customizing-chain-specs.md @@ -1,6 +1,7 @@ --- title: Customizing Chain Specifications -description: The chain specification contains the initial parameters required for launching a new Tanssi appchain, including genesis state, token configuration, and more. +description: Review the sections and attributes of a chain specification file and how to obtain it for launching your Tanssi-powered network with a customized specification. +icon: octicons-link-24 --- # Customizing Chain Specifications {: #customizing-chain-specifications } diff --git a/builders/build/customize/index.md b/builders/build/customize/index.md index e0370e61..13889261 100644 --- a/builders/build/customize/index.md +++ b/builders/build/customize/index.md @@ -1,8 +1,37 @@ --- -title: Customize Your Appchain -description: Set up your local environment and start using the templates to build your appchain with Substrate, a powerful and modular blockchain framework based in Rust. -template: subsection-index-page.html -hide: - - toc - - feedback +title: Customize Your Tanssi-Powered Network +description: Set up your local environment and start using the templates to build your network with Substrate, a powerful and modular blockchain framework based in Rust. +icon: octicons-code-24 +template: index-page.html --- + +# Customize Your Tanssi-Powered Network + +Tailor your network to meet your application's unique requirements. This section provides guidance on modifying and extending your network's functionality, offering instructions and best practices to help align it with your project's goals. + +## Process for Customizing Your Network + +The diagram below provides a simplified outline of the essential steps to get started with building and customizing your Tanssi-powered network. + +```mermaid +flowchart LR + A[Install software prerequisites] --> B[Create and add modules] + B --> C[Customize and generate chain specs] + + style A fill:#151719,stroke:#4ecdc4,stroke-width:2px,rx:10px,ry:10px + style B fill:#151719,stroke:#4ecdc4,stroke-width:2px,rx:10px,ry:10px + style C fill:#151719,stroke:#4ecdc4,stroke-width:2px,rx:10px,ry:10px + + %% arrow style + linkStyle default stroke-width:2px,stroke:#ccc + + %% add padding + class A,B,C node-padding; + classDef node-padding padding:10px; +``` + +To proceed, check out the following section where you can find detailed, step-by-step guides for each of these stages. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/build/customize/prerequisites.md b/builders/build/customize/prerequisites.md index ceaa89b5..b66adfb4 100644 --- a/builders/build/customize/prerequisites.md +++ b/builders/build/customize/prerequisites.md @@ -1,6 +1,7 @@ --- title: Prerequisites for Building an Appchain description: Install the basic set of tools and software to set up a local development environment and be able to compile, run, and test your appchain. +icon: octicons-checkbox-24 --- # Prerequisites for Building an Appchain {: #prerequisites } diff --git a/builders/build/index.md b/builders/build/index.md index e2da9f8b..9d86ee2d 100644 --- a/builders/build/index.md +++ b/builders/build/index.md @@ -1,8 +1,46 @@ --- -title: Build Your Appchain -description: Install the software to compile your Tanssi appchain, configure your genesis state and core functionalities, test locally, and prepare to deploy through Tanssi. -template: subsection-index-page.html -hide: - - toc - - feedback +title: Build Your Network +description: Install the software to compile your Tanssi-powered network, configure genesis state and core functions, test locally, and prepare for deployment. +icon: material-widgets-outline +template: index-page.html --- + +# Build Your Network + +Launching your Tanssi-powered network gives you the flexibility to choose between pre-configured templates or fully customized solutions. Whether you're aiming for simplicity or fine-tuned control, Tanssi provides the tools and guidance to bring your vision to life. This section covers everything from selecting a template to customizing modules, testing, and deploying your network. + +## The Path to Deployment + +Deploying a network with Tanssi can be straightforward or highly customizable, depending on your requirements. The diagram below provides a clear breakdown of these options to guide your decision. + +```mermaid +flowchart TD + Start[Choose a template] + Start --> Path1[Template is sufficient] + Start --> Path2[Template needs customization] + + Path1 --> Deploy1[Deploy via Tanssi dApp] + + Path2 --> Fork[Fork the Tanssi repository] + Fork --> Customize[Customize your network] + Customize --> Test[Run tests] + Test --> Deploy2[Deploy via Tanssi dApp] + + style Path1 fill:#151719,stroke:#4ecdc4,stroke-width:2px + style Path2 fill:#151719,stroke:#4ecdc4,stroke-width:2px + style Fork fill:#151719,stroke:#4ecdc4,stroke-width:2px + style Customize fill:#151719,stroke:#4ecdc4,stroke-width:2px + style Test fill:#151719,stroke:#4ecdc4,stroke-width:2px + style Start fill:#151719,stroke:#4ecdc4,stroke-width:2px + style Deploy1 fill:#151719,stroke:#4ecdc4,stroke-width:2px + style Deploy2 fill:#151719,stroke:#4ecdc4,stroke-width:2px + + %% arrow style + linkStyle default stroke-width:2px,stroke:#ccc +``` + +Now that you’ve explored the deployment paths, the next step is to learn more about each template so you can choose the one that best fits your needs. To get started, check out the section below. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/build/templates/.pages b/builders/build/templates/.pages index 1ca6427a..c232a80c 100644 --- a/builders/build/templates/.pages +++ b/builders/build/templates/.pages @@ -1,4 +1,4 @@ -title: Appchain Templates +title: Network Templates hide: false nav: - index.md diff --git a/builders/build/templates/custom-runtime.md b/builders/build/templates/custom-runtime.md index c4b5b034..a0736c63 100644 --- a/builders/build/templates/custom-runtime.md +++ b/builders/build/templates/custom-runtime.md @@ -1,6 +1,7 @@ --- title: Custom Runtime description: Any custom runtime can be adapted to be deployed through Tanssi, provided that specific modules are implemented and the required configurations are set. +icon: octicons-file-binary-24 --- # Custom Runtime diff --git a/builders/build/templates/evm.md b/builders/build/templates/evm.md index 03c3362c..68eb19af 100644 --- a/builders/build/templates/evm.md +++ b/builders/build/templates/evm.md @@ -1,6 +1,7 @@ --- title: Baseline EVM Template description: The Tanssi repository includes an EVM template that provides all the necessary configurations to launch an appchain that is fully compatible with Ethereum. +icon: material-ethereum --- # Baseline EVM Template {: #baseline-evm-template } diff --git a/builders/build/templates/index.md b/builders/build/templates/index.md index 8027c43d..8d552f3f 100644 --- a/builders/build/templates/index.md +++ b/builders/build/templates/index.md @@ -1,8 +1,32 @@ --- -title: Appchain Templates -description: Learn more about the baseline appchain Templates (EVM and non-EVM) that support Tanssi out of the box to help you kickstart your appchain development. -template: subsection-index-page.html -hide: - - toc - - feedback +title: Network Templates +description: Learn more about the baseline network templates (EVM and non-EVM) that support Tanssi out of the box to help you kickstart your network development. +icon: octicons-copy-24 +template: index-page.html --- + +# Network Templates + +Kickstart your network development with our comprehensive templates. Designed for rapid deployment, these templates provide a strong foundation for both EVM and non-EVM solutions, accelerating your production journey. + +## Choosing the Right Template + +Selecting the right template is the first step in building your Tanssi-powered network. Whether you need a standard, fully customizable blockchain, or one that is EVM-compatible, both templates provide basic configurations, along with benefits like block production as a service, deterministic transaction finality, and the option to choose your security provider, such as [Symbiotic](https://symbiotic.fi/){target=\_blank}. + +**Baseline template:** + +- **Minimalistic design** - includes only the essential configurations for compatibility with Tanssi, making it an ideal base for adding custom modules +- **Tailored runtime** - provides the flexibility to expand functionality by integrating existing or custom-built modules +- **Highly configurable** - adapt the template to meet unique requirements for governance, economics, or consensus + +**Baseline EVM template:** + +- **Ready to deploy** - comes fully configured for Ethereum compatibility, requiring no runtime changes if the application is built on EVM +- **Ethereum ecosystem integration** - supports Ethereum tools and libraries like [MetaMask](https://metamask.io){target=\_blank}, [Hardhat](https://hardhat.org/){target=\_blank}, [Foundry](https://book.getfoundry.sh/){target=\_blank}, and [Ethers.js](https://docs.ethers.org/){target=\_blank} +- **Smart contract deployment** - deploy EVM smart contracts seamlessly using familiar tools + +Learn more about each template, the minimum requirements for your chain to function on Tanssi, and what modules are automatically included on the [Template Overview](/builders/build/templates/overview/) page. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/build/templates/overview.md b/builders/build/templates/overview.md index 557adba8..6b234966 100644 --- a/builders/build/templates/overview.md +++ b/builders/build/templates/overview.md @@ -1,6 +1,7 @@ --- title: Templates description: Tanssi includes templates to kick-start the development of an appchain offering options such as a basic one and another featuring full EVM (Ethereum) support. +icon: octicons-home-24 --- # Templates Overview {: #templates-overview } diff --git a/builders/build/templates/substrate.md b/builders/build/templates/substrate.md index b1a8ebd9..a179c525 100644 --- a/builders/build/templates/substrate.md +++ b/builders/build/templates/substrate.md @@ -1,6 +1,7 @@ --- title: Baseline Appchain Template description: The Tanssi repository includes a basic template that provides the necessary configuration to support the protocol and kick-start the development of an appchain. +icon: simple-paritysubstrate --- # Baseline Appchain Template {: #baseline-appchain-template } diff --git a/builders/deploy/.pages b/builders/deploy/.pages index 4d1390ff..d1958bd1 100644 --- a/builders/deploy/.pages +++ b/builders/deploy/.pages @@ -1,4 +1,4 @@ -title: Deploy Your Appchain +title: Deploy Your Network hide: false nav: - index.md diff --git a/builders/deploy/dapp.md b/builders/deploy/dapp.md index 76fcbc59..f5e13ef0 100644 --- a/builders/deploy/dapp.md +++ b/builders/deploy/dapp.md @@ -1,6 +1,7 @@ --- title: Deploy Your Appchain via the DApp description: Learn how to spin up and deploy an appchain on Tanssi in minutes using the Tanssi dApp, a no-code solution for onboarding into the Polkadot ecosystem. +icon: octicons-browser-24 --- # Deploy your Appchain via the Tanssi DApp @@ -25,20 +26,6 @@ The screenshots and content in this guide will showcase Snap appchains, but you ![A screenshot showing the initial dashboard of apps.tanssi.network.](/images/builders/deploy/dapp/dapp-1.webp) -## Overview {: #overview } - -Deploying a Tanssi appchain via the Tanssi dApp is accomplished as a single, streamlined flow consisting of five distinct steps: - -1. Select a [template](/builders/build/templates/overview/){target=\_blank} and configure it -2. Satisfy the required minimum token balances -3. Reserve your Tanssi appchain ID on the relay chain -4. Generate your custom appchain files -5. Register your appchain on Tanssi, and the relay chain - -![A diagram mapping out the steps for deploying a Tanssi appchain with the Tanssi dApp.](/images/builders/deploy/dapp/dapp-2.webp) - -For Snap appchains and Dedicated appchains on the [Tanssi Dancebox Testnet](/builders/tanssi-network/testnet/dancebox/){target=\_blank}, the Tanssi team will manually complete verification. After verification, it typically takes about ten minutes for your Snap appchain to be ready and about two hours for a dedicated Tanssi appchain. For Tanssi MainNet, the process will be fully decentralized and permissionless. - ## Prerequisites {: #prerequisites } ### Supported Wallets {: #supported-wallets } @@ -265,4 +252,4 @@ Once the transaction has gone through successfully, the dApp will update to show ![The appchain dashboard on the Tanssi dApp.](/images/builders/deploy/dapp/dapp-14.webp) -And that's it! You've successfully registered your Tanssi appchain! The launch process will automatically begin once the Tanssi team has verified your Tanssi appchain. Once your Tanssi appchain is live, you can return to the **Dashboard** to view the RPC URL and other pertinent chain information. +And that's it! You've successfully registered your Tanssi appchain! For Snap appchains and Dedicated appchains on the [Tanssi Dancebox Testnet](/builders/tanssi-network/testnet/dancebox/){target=\_blank}, the Tanssi team will manually complete verification. After verification, it typically takes about ten minutes for your Snap appchain to be ready and about two hours for a dedicated Tanssi appchain. For Tanssi MainNet, the process will be fully decentralized and permissionless. Once your Tanssi appchain is live, you can return to the **Dashboard** to view the RPC URL and other pertinent chain information. diff --git a/builders/deploy/index.md b/builders/deploy/index.md index 1ef3bc65..a7a916f6 100644 --- a/builders/deploy/index.md +++ b/builders/deploy/index.md @@ -1,8 +1,31 @@ --- -title: Deploy Your Appchain -description: Learn how to deploy your appchain to Tanssi as a snap appchain for short-term testing or as a dedicated Tanssi appchain for long-term testing. -template: subsection-index-page.html -hide: - - toc - - feedback +title: Deploy Your Network +description: Learn how to deploy your network to Tanssi as a snap network for short-term testing or as a dedicated Tanssi network for long-term testing. +template: index-page.html +icon: octicons-rocket-24 --- + +# Deploy Your Network in Minutes + +With Tanssi, launching your network is straightforward and efficient. The platform simplifies the process, so you can focus on building your application. + +## Quick Overview of Deploying via the Tanssi DApp + +Deploying a Tanssi-powered network via the [Tanssi dApp](https://apps.tanssi.network){target=\_blank} is accomplished as a single, streamlined flow consisting of five distinct steps: + +1. Select a [template](/builders/build/templates/overview/){target=\_blank} and configure it +2. Satisfy the required minimum token balances +3. Reserve your Tanssi network ID on the relay chain +4. Generate your custom network files +5. Register your network on Tanssi, and the relay chain + +![A diagram mapping out the steps for deploying a Tanssi network with the Tanssi dApp.](/images/builders/deploy/dapp/dapp-2.webp) + +!!! note + For [Snap networks and Dedicated networks](/builders/deploy/dapp/##snap-appchains-vs-dedicated-appchains) on the [Tanssi Dancebox TestNet](/builders/tanssi-network/testnet/dancebox/){target=\_blank}, the Tanssi team will manually complete verification. After verification, it typically takes about ten minutes for your Snap network to be ready and about two hours for a dedicated Tanssi network. For Tanssi MainNet, the process will be fully decentralized and permissionless. + +To get started, check out the Using the Tanssi DApp guide listed in the section below. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: \ No newline at end of file diff --git a/builders/index.md b/builders/index.md index 41a42091..8cf576a5 100644 --- a/builders/index.md +++ b/builders/index.md @@ -1,8 +1,75 @@ --- -title: Guides for Appchain Developers -description: Start building your appchain, set your development environment up, test and deploy your runtime, and choose the integrations that suit your use case. +title: Guides for Developing Tanssi-Powered Networks +description: Start building your network, set your development environment up, test and deploy your runtime, and choose the integrations that suit your use case. template: index-page.html -hide: - - toc - - feedback --- + +# Builders + +Explore everything you need to build, deploy, and manage networks within the Tanssi ecosystem. From development tools to account management and network connectivity, the content in this section enables you to move confidently from concept to implementation. + +## Build and Manage a Tanssi-Powered Network + +<div class="grid cards" markdown> + +- Where to Start? + + To begin building your Tanssi-powered network, you can choose one of two pathways: + + [:octicons-arrow-right-24: Build a network from scratch using a template](/builders/build/templates/) + + [:octicons-arrow-right-24: Configure an existing Substrate-based runtime to be Tanssi compatible](/builders/build/templates/custom-runtime/) + +- How to Customize Your Network + + Once your base network is set up, you can start customizing it to suit your specific needs: + + [:octicons-arrow-right-24: Leverage preexisting modules to add functionality](/builders/build/customize/adding-built-in-module/) + + [:octicons-arrow-right-24: Create your own custom module](/builders/build/customize/adding-custom-made-module/) + + [:octicons-arrow-right-24: Integrate external modules from other providers](/builders/build/customize/adding-external-module/) + +- Ready to Deploy? + + After customizing and testing your network, it’s time to deploy: + + [:octicons-arrow-right-24: Deploy your network with the Tanssi dApp](/builders/deploy/dapp/) + +- Steps to Take After Deployment + + Once your Tanssi-powered network is live, follow these steps to ensure smooth and ongoing operations: + + [:octicons-arrow-right-24: Pay for block production services](/builders/manage/dapp/services-payment/) + + [:octicons-arrow-right-24: Mint tokens for your network's economy](/builders/manage/dapp/manage-tokens/) + + [:octicons-arrow-right-24: Manage the Sudo account for administrative control](/builders/manage/developer-portal/sudo/) + +</div> + +## Interact with a Tanssi-Powered Network + +<div class="grid cards" markdown> + +- Tanssi Network Information + + Get the essential network details and access points for integrating your app with a Tanssi-powered network: + + [:octicons-arrow-right-24: Access network endpoints for integration](/builders/tanssi-network/endpoints/) + +- Tools for Tanssi Network Development + + Use the right tools to interact with and create applications on Tanssi networks + + [:octicons-arrow-right-24: Explore tools for Ethereum API integration](/builders/toolkit/ethereum-api/) + + [:octicons-arrow-right-24: Leverage Substrate tools for advanced network control](/builders/toolkit/substrate-api/) + + [:octicons-arrow-right-24: Enhance functionality of your app with integrations](/builders/toolkit/integrations/) + +</div> + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/manage/.pages b/builders/manage/.pages index 5801f084..6b849a29 100644 --- a/builders/manage/.pages +++ b/builders/manage/.pages @@ -1,6 +1,6 @@ -title: Manage Your Appchain +title: Manage Your Network hide: false nav: - index.md - - developer-portal - dapp + - developer-portal diff --git a/builders/manage/dapp/.pages b/builders/manage/dapp/.pages index 801874ac..10b3a8b9 100644 --- a/builders/manage/dapp/.pages +++ b/builders/manage/dapp/.pages @@ -4,5 +4,5 @@ nav: - index.md - 'Block Production Services Payment': 'services-payment.md' - 'Manage Tokens': 'manage-tokens.md' - - 'Manage Cross-Chain Communication Channels': 'xcm-channels.md' - - 'Register External Assets': 'register-external-assets.md' + # - 'Manage Cross-Chain Communication Channels': 'xcm-channels.md' + # - 'Register External Assets': 'register-external-assets.md' diff --git a/builders/manage/dapp/index.md b/builders/manage/dapp/index.md index db2df124..157e6b72 100644 --- a/builders/manage/dapp/index.md +++ b/builders/manage/dapp/index.md @@ -1,8 +1,14 @@ --- -title: Using the Tanssi DApp to Manage Your Appchain -description: Learn how to use the Tanssi dApp to manage your appchain, including paying for block production services, managing tokens, opening XCM channels, and more. -template: subsection-index-page.html -hide: - - toc - - feedback +title: Using the Tanssi DApp to Manage Your Network +description: Learn how to use the Tanssi dApp to manage your network, including paying for block production services, managing tokens, opening XCM channels, and more. +icon: octicons-browser-24 +template: index-page.html --- + +# Using the Tanssi dApp To Manage Your Network + +The [Tanssi dApp](https://apps.tanssi.network){target=\_blank} is your go-to platform for handling the operational aspects of your network within the Tanssi ecosystem. Designed for ease of use, the dApp allows developers to streamline everyday tasks like managing tokens, paying for block production services, and overseeing essential network operations without needing deep technical knowledge or advanced configurations. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/manage/dapp/manage-tokens.md b/builders/manage/dapp/manage-tokens.md index a133560e..e8322d8c 100644 --- a/builders/manage/dapp/manage-tokens.md +++ b/builders/manage/dapp/manage-tokens.md @@ -1,6 +1,7 @@ --- title: Manage Tokens description: Learn how the appchain governor can manage the token of a Tanssi-powered appchain using the dApp to mint them, configure the EIP-1559 fee market, and more. +icon: octicons-database-24 --- # Manage Tokens diff --git a/builders/manage/dapp/services-payment.md b/builders/manage/dapp/services-payment.md index ac577dc8..b1edf1a9 100644 --- a/builders/manage/dapp/services-payment.md +++ b/builders/manage/dapp/services-payment.md @@ -1,6 +1,7 @@ --- title: Block Production Services Payment description: Appchains deployed through Tanssi benefit from block production services provided by a set of node operators, which are compensated with Tanssi tokens. +icon: octicons-server-24 --- # Block Production Services Payment diff --git a/builders/manage/developer-portal/impersonate.md b/builders/manage/developer-portal/impersonate.md index e72d1210..3db2bee5 100644 --- a/builders/manage/developer-portal/impersonate.md +++ b/builders/manage/developer-portal/impersonate.md @@ -1,6 +1,7 @@ --- title: Impersonating Other Accounts With Sudo description: Learn how to use the Sudo key to dispatch calls by signing a transaction as if it came from a different account. +icon: octicons-person-add-24 --- # Using Sudo to Impersonate Other Accounts diff --git a/builders/manage/developer-portal/index.md b/builders/manage/developer-portal/index.md index 258774a4..3026c4e5 100644 --- a/builders/manage/developer-portal/index.md +++ b/builders/manage/developer-portal/index.md @@ -1,8 +1,35 @@ --- -title: Using the Developer Portal to Manage Your Appchain -description: Learn how to use the developer portal to administer and manage your Appchain, including upgrading your chain's runtime, rotating the Sudo keys, and more. -template: subsection-index-page.html -hide: - - toc - - feedback +title: Using the Developer Portal to Manage Your Network +description: Learn how to use the developer portal to administer and manage your network, including upgrading your chain's runtime, rotating the Sudo keys, and more. +icon: octicons-key-24 +template: index-page.html --- + +# Using the Developer Portal + +The developer portal empowers you to efficiently manage your Tanssi-powered network operations, security, and customization. With intuitive tools at your disposal, you can ensure smooth management and tailor your network to meet your project's unique requirements. + +## How to Connect to the Developer Portal + +Before getting started, you need to retrieve your network's WS URL. This information is available on your network's **Dashboard** in the Tanssi dApp underneath the **Properties** section. + +![Retrieve your WS URL from the Tanssi dashboard](/images/builders/manage/developer-portal/index-1.webp) + +Now you're ready to connect your Tanssi-powered network to the developer portal. Navigate to [Polkadot.js Apps](https://polkadot.js.org/apps/){target=\_blank} and click on the chain information in the top left corner to switch to your network. + +![Retrieve your WS URL from the Tanssi dashboard](/images/builders/manage/developer-portal/index-2.webp) + +To configure your network, take these steps: + +1. Scroll down the left-side menu til you see **Development**. Click on that to expand the options +2. Click on **Local Node** +3. Enter in your RPC URL in the **custom endpoint** input field +4. Click the save button. The portal will reload and you should be connected to your network + +![](/images/builders/manage/developer-portal/index-3.webp) + +Now that you have your network loaded on the developer portal, you can dive into the following guides to start managing your network. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/manage/developer-portal/maintenance.md b/builders/manage/developer-portal/maintenance.md index 039cfcc1..5b32388f 100644 --- a/builders/manage/developer-portal/maintenance.md +++ b/builders/manage/developer-portal/maintenance.md @@ -1,6 +1,7 @@ --- title: Enabling Maintenance Mode description: Learn how to use Sudo to turn on and off maintenance mode, which effectively pauses your appchain while still producing blocks and allowing select calls. +icon: octicons-stop-24 --- # Enabling Maintenance Mode diff --git a/builders/manage/developer-portal/minting.md b/builders/manage/developer-portal/minting.md index 0a46b344..b8cb9680 100644 --- a/builders/manage/developer-portal/minting.md +++ b/builders/manage/developer-portal/minting.md @@ -1,6 +1,7 @@ --- title: Minting Native Tokens with Sudo description: Learn how to use the Sudo key to manage your appchain and perform the privileged action of minting additional native tokens of your Tanssi appchain. +icon: material-creation-outline --- # Using Sudo to Mint Native Tokens diff --git a/builders/manage/developer-portal/pause-transactions.md b/builders/manage/developer-portal/pause-transactions.md index b3960523..961e1b43 100644 --- a/builders/manage/developer-portal/pause-transactions.md +++ b/builders/manage/developer-portal/pause-transactions.md @@ -1,6 +1,7 @@ --- title: Pausing Transactions description: Learn how to use Sudo to temporarily pause hand-picked transactions, preventing their execution while allowing all other transactions to proceed as usual. +icon: octicons-stopwatch-24 --- # Pausing Transactions diff --git a/builders/manage/developer-portal/smart-contracts-creation-filter.md b/builders/manage/developer-portal/smart-contracts-creation-filter.md index 279293b3..0a773386 100644 --- a/builders/manage/developer-portal/smart-contracts-creation-filter.md +++ b/builders/manage/developer-portal/smart-contracts-creation-filter.md @@ -1,6 +1,7 @@ --- title: Smart EVM - Whitelist Contract Deployments description: Learn how to use Sudo to whitelist smart contract deployers for your Smart EVM Tanssi appchain, increasing overall security. +icon: octicons-file-binary-24 --- # Smart EVM - Whitelist Contract Deployments diff --git a/builders/manage/developer-portal/sudo.md b/builders/manage/developer-portal/sudo.md index 373203ad..cd8fd251 100644 --- a/builders/manage/developer-portal/sudo.md +++ b/builders/manage/developer-portal/sudo.md @@ -1,6 +1,7 @@ --- title: Managing the Sudo Account description: Learn how to manage the Sudo account of your appchain, including viewing and importing the Sudo key into Polkadot.js Apps and changing the current Sudo key. +icon: octicons-key-24 --- # Managing Your Appchain's Sudo Account diff --git a/builders/manage/developer-portal/upgrade.md b/builders/manage/developer-portal/upgrade.md index 4155669a..bc525d08 100644 --- a/builders/manage/developer-portal/upgrade.md +++ b/builders/manage/developer-portal/upgrade.md @@ -1,6 +1,7 @@ --- title: Upgrade Your Appchain's Runtime description: Learn how to use the Sudo key to manage your appchain by performing the privileged action of upgrading the runtime of your Tanssi appchain. +icon: octicons-arrow-up-24 --- # Upgrading Your Appchain Runtime with Sudo diff --git a/builders/manage/index.md b/builders/manage/index.md index 142e528e..6814ce25 100644 --- a/builders/manage/index.md +++ b/builders/manage/index.md @@ -1,8 +1,28 @@ --- -title: Manage Your Appchain -description: Learn how to use the developer portal and the Tanssi dApp to manage your appchain, including minting tokens, paying for block production services, and more. -template: subsection-index-page.html -hide: - - toc - - feedback +title: Manage Your Network +description: Learn how to use the developer portal and the Tanssi dApp to manage your network, including minting tokens, paying for block production services, and more. +icon: octicons-gear-24 +template: index-page.html --- + +# Managing Your Tanssi-Powered Network + +The Tanssi dApp and the developer portal serve different purposes when managing your network, offering unique benefits tailored to your needs: + +- **[Tanssi dApp](https://apps.tanssi.network){target=\_blank}** - simplifies the entire network lifecycle, from deployment to basic management. By removing technical complexities, it enables a faster and more streamlined experience for creating and managing networks. Some actions that can be performed via the dApp include: + + - [Paying for block production services](/builders/manage/dapp/services-payment/) + - [Managing tokens](/builders/manage/dapp/manage-tokens/) (i.e., minting and transferring tokens, updating balances, and more) + +- **Developer portal** - built on Polkadot.js Apps, the developer portal provides advanced tools for network management, including runtime upgrades, token minting, and more. It is ideal for tasks requiring precise control and customization. Some actions that can be performed via the developer portal include: + + - [Managing the Sudo account](/builders/manage/developer-portal/sudo/) + - [Dispatching runtime upgrades](/builders/manage/developer-portal/upgrade/) + - [Minting tokens](/builders/manage/developer-portal/minting/) + - [Pausing transactions](/builders/manage/developer-portal/pause-transactions/) or [enabling maintenance mode](/builders/manage/developer-portal/maintenance/) in emergencies + +Jump into the sections below to explore how each tool helps you manage your Tanssi-powered network efficiently. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/tanssi-network/endpoints.md b/builders/tanssi-network/endpoints.md index 3c8a9366..93182f1b 100644 --- a/builders/tanssi-network/endpoints.md +++ b/builders/tanssi-network/endpoints.md @@ -1,6 +1,7 @@ --- title: Network Endpoints description: Tanssi networks have two endpoints available for users to connect to, one for HTTPS and one for WSS. This page has the RPC endpoints you need to get started. +icon: octicons-share-android-24 --- ## Network Endpoints diff --git a/builders/tanssi-network/index.md b/builders/tanssi-network/index.md index 588da360..443bd50a 100644 --- a/builders/tanssi-network/index.md +++ b/builders/tanssi-network/index.md @@ -1,8 +1,34 @@ --- -title: Tanssi Network +title: Network Essentials description: Discover everything you need to know about the different networks in the Tanssi ecosystem and get started developing and interacting with each of them. -template: subsection-index-page.html -hide: - - toc - - feedback +icon: octicons-star-24 +template: index-page.html --- + +# Network Essentials + +Learn about the key networks within the Tanssi ecosystem and how to get started with development and interaction on each of them. + +## Network Overview + +- **Dancebox** - the official Tanssi TestNet for rapid network deployment and experimentation +- **Tanssi-powered networks** - networks built on the Tanssi platform, leveraging its capabilities to create custom blockchains +- **Demo EVM network** - a sample Ethereum-compatible network that demonstrates a fully operational Tanssi-powered network + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: + +## Next Steps + +<div class="subsection-wrapper"> + <div class="card"> + <a href="/builders/toolkit/"> + <div class="card-header"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M7.875 2.292a.114.114 0 0 0-.032.018A7.239 7.239 0 0 0 4.75 8.25a7.248 7.248 0 0 0 3.654 6.297c.57.327.982.955.941 1.682v.002l-.317 6.058a.75.75 0 1 1-1.498-.078l.317-6.062v-.004c.006-.09-.047-.215-.188-.296A8.749 8.749 0 0 1 3.25 8.25a8.738 8.738 0 0 1 3.732-7.169 1.547 1.547 0 0 1 1.709-.064c.484.292.809.835.809 1.46v4.714a.25.25 0 0 0 .119.213l2.25 1.385c.08.05.182.05.262 0l2.25-1.385a.25.25 0 0 0 .119-.213V2.478c0-.626.325-1.169.81-1.461a1.547 1.547 0 0 1 1.708.064 8.741 8.741 0 0 1 3.732 7.17 8.747 8.747 0 0 1-4.41 7.598c-.14.081-.193.206-.188.296v.004l.318 6.062a.75.75 0 1 1-1.498.078l-.317-6.058v-.002c-.041-.727.37-1.355.94-1.682A7.247 7.247 0 0 0 19.25 8.25a7.239 7.239 0 0 0-3.093-5.94.114.114 0 0 0-.032-.018l-.01-.001c-.003 0-.014 0-.031.01-.036.022-.084.079-.084.177V7.19c0 .608-.315 1.172-.833 1.49l-2.25 1.385a1.75 1.75 0 0 1-1.834 0l-2.25-1.384A1.752 1.752 0 0 1 8 7.192V2.477c0-.098-.048-.155-.084-.176a.068.068 0 0 0-.031-.011l-.01.001Z"></path></svg> + <h2 class="title">Network Toolkit</h2> + </div> + <p class="description">Dive into tools and resources designed to streamline the development process when building dApps on Tanssi and Tanssi-powered networks.</p> + </a> + </div> +</div> \ No newline at end of file diff --git a/builders/tanssi-network/testnet/dancebox.md b/builders/tanssi-network/testnet/dancebox.md index 1d5b16fe..ac3fbe27 100644 --- a/builders/tanssi-network/testnet/dancebox.md +++ b/builders/tanssi-network/testnet/dancebox.md @@ -1,6 +1,7 @@ --- title: Get Started with Dancebox description: Dancebox is the Tanssi TestNet, and it is the easiest way to get started with the Tanssi Network to deploy your Substrate or EVM-compatible appchain. +icon: octicons-star-24 --- # Get Started with Dancebox diff --git a/builders/tanssi-network/testnet/demo-evm-appchain.md b/builders/tanssi-network/testnet/demo-evm-appchain.md index ca9ab6d4..d4aab9b6 100644 --- a/builders/tanssi-network/testnet/demo-evm-appchain.md +++ b/builders/tanssi-network/testnet/demo-evm-appchain.md @@ -1,6 +1,7 @@ --- title: Demo EVM Tanssi Appchain description: Test our demo EVM Tanssi appchain to discover the capabilities of a fully Ethereum-compatible appchain deployed through Tanssi in just a few minutes. +icon: material-ethereum --- ## Introduction diff --git a/builders/tanssi-network/testnet/index.md b/builders/tanssi-network/testnet/index.md index ae3ae872..db1ee479 100644 --- a/builders/tanssi-network/testnet/index.md +++ b/builders/tanssi-network/testnet/index.md @@ -1,8 +1,16 @@ --- title: Test Networks -description: Learn about Tanssi's TestNet, Dancebox, and the demo EVM appchain deployed on Dancebox and how to get started developing and interacting with each network. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn about Tanssi's TestNet, Dancebox, and the demo EVM network deployed on Dancebox and how to get started developing and interacting with each network. +icon: octicons-telescope-24 +template: index-page.html --- + +## TestNet + +The official Tanssi TestNet, Dancebox, allows developers to experiment with blockchain applications in a controlled environment before going live. It provides the tools to configure networks, interact with test versions of protocols, and troubleshoot issues to ensure a smoother transition to production. + +When you're ready to see how your project could thrive in a real-world setting, try out the demo EVM environment. Fully compatible with Ethereum, this Tanssi-powered setup showcases key features and offers an immersive experience, giving you a glimpse into the full potential of your customized solution. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/.pages b/builders/toolkit/.pages index 1e3b6ef9..44b9c618 100644 --- a/builders/toolkit/.pages +++ b/builders/toolkit/.pages @@ -1,4 +1,4 @@ -title: Appchain Toolkit +title: Network Toolkit hide: false nav: - index.md diff --git a/builders/toolkit/ethereum-api/.pages b/builders/toolkit/ethereum-api/.pages index dfefe404..e31148f2 100644 --- a/builders/toolkit/ethereum-api/.pages +++ b/builders/toolkit/ethereum-api/.pages @@ -3,7 +3,7 @@ hide: false nav: - index.md - wallets - - libraries - dev-env + - libraries - precompiles - 'JSON-RPC Methods' : 'rpc.md' \ No newline at end of file diff --git a/builders/toolkit/ethereum-api/dev-env/foundry.md b/builders/toolkit/ethereum-api/dev-env/foundry.md index 39d4e8f6..c3d251ad 100644 --- a/builders/toolkit/ethereum-api/dev-env/foundry.md +++ b/builders/toolkit/ethereum-api/dev-env/foundry.md @@ -1,6 +1,7 @@ --- title: Deploy Contracts with Foundry description: Learn how to use Foundry, an Ethereum development environment, to compile, deploy, and interact with Solidity smart contracts on your Tanssi EVM appchain. +icon: octicons-code-square-24 --- # Using Foundry to Deploy to Your EVM Appchain diff --git a/builders/toolkit/ethereum-api/dev-env/hardhat.md b/builders/toolkit/ethereum-api/dev-env/hardhat.md index 7c6336aa..ca897d89 100644 --- a/builders/toolkit/ethereum-api/dev-env/hardhat.md +++ b/builders/toolkit/ethereum-api/dev-env/hardhat.md @@ -1,6 +1,7 @@ --- title: Deploy Contracts with Hardhat description: Learn how to use Hardhat, an Ethereum development environment, to compile, deploy, and interact with Solidity smart contracts on your Tanssi EVM appchain. +icon: octicons-code-square-24 --- # Using Hardhat to Deploy to Your EVM Appchain diff --git a/builders/toolkit/ethereum-api/dev-env/index.md b/builders/toolkit/ethereum-api/dev-env/index.md index 8a2accd8..539802db 100644 --- a/builders/toolkit/ethereum-api/dev-env/index.md +++ b/builders/toolkit/ethereum-api/dev-env/index.md @@ -1,8 +1,20 @@ --- title: Dev Environments -description: Learn how to interact with your Tanssi EVM-compatible appchain through the Ethereum API with different Ethereum tools like Remix, Hardhat, Foundry, and more. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn how to interact with your Tanssi EVM-compatible network through the Ethereum API with different Ethereum tools like Remix, Hardhat, Foundry, and more. +icon: octicons-code-square-24 +template: index-page.html --- + +# Development Environments + +Establishing an effective development environment is crucial for building, testing, and deploying smart contracts efficiently. Development environments simplify the process of building blockchain applications by abstracting away many of the underlying complexities involved in interacting with blockchain networks. They provide the necessary tools and frameworks to: + +- Write, compile, test, and deploy Solidity smart contracts +- Simulate blockchain interactions locally for testing and debugging +- Automate workflows for faster deployments + +Each development environment helps you achieve the same goal—building and deploying blockchain applications—but they do so in unique ways. For instance, browser-based IDEs like Remix provide a fast and accessible way to start coding, while tools like Foundry and Hardhat cater to developers who prefer specific workflows, such as a Solidity-first or JavaScript-integrated approach. Choose the one that aligns best with your needs and development style. + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/ethereum-api/dev-env/remix.md b/builders/toolkit/ethereum-api/dev-env/remix.md index 04c5b0c1..76613c46 100644 --- a/builders/toolkit/ethereum-api/dev-env/remix.md +++ b/builders/toolkit/ethereum-api/dev-env/remix.md @@ -1,6 +1,7 @@ --- title: Deploy Smart Contracts with Remix description: Learn how to use one of the most popular Ethereum developer tools, the Remix IDE, to interact with your Tanssi EVM appchain. +icon: octicons-code-square-24 --- # Using Remix to Deploy to Your Tanssi EVM Appchain diff --git a/builders/toolkit/ethereum-api/dev-env/thirdweb.md b/builders/toolkit/ethereum-api/dev-env/thirdweb.md index 2da08b84..8f550ddf 100644 --- a/builders/toolkit/ethereum-api/dev-env/thirdweb.md +++ b/builders/toolkit/ethereum-api/dev-env/thirdweb.md @@ -1,6 +1,7 @@ --- title: How to use thirdweb description: This guide will show you some of thirdweb's features, including building, testing, and deploying smart contract templates to launch dApps on Tanssi. +icon: octicons-code-square-24 --- # Using thirdweb on Tanssi diff --git a/builders/toolkit/ethereum-api/index.md b/builders/toolkit/ethereum-api/index.md index f962f209..6152b852 100644 --- a/builders/toolkit/ethereum-api/index.md +++ b/builders/toolkit/ethereum-api/index.md @@ -1,8 +1,22 @@ --- title: Ethereum API -description: Learn how to interact with your Tanssi EVM-compatible appchain through the Ethereum API with different Ethereum tools like Remix, Hardhat, Foundry, and more. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn how to interact with your Tanssi EVM-compatible network through the Ethereum API with different development environments, libraries, and more. +icon: material-ethereum +template: index-page.html --- + +# Ethereum Tools + +Developing on Tanssi-powered EVM-compatible chains requires understanding how to interact with the blockchain effectively. Whether you're building decentralized applications (dApps), deploying smart contracts, or querying blockchain data, using the right tools and workflows is essential. + +This section offers an overview of the key tools and workflows that developers use to interact with these networks, helping to enhance your development workflow. + +Ready to dive in? Check out some of the following tools: + +- **Development environments** - [Remix](/builders/toolkit/ethereum-api/dev-env/remix/), [Foundry](/builders/toolkit/ethereum-api/dev-env/foundry/), and [Hardhat](/builders/toolkit/ethereum-api/dev-env/hardhat/) +- **Libraries** - [Ethers.js](/builders/toolkit/ethereum-api/libraries/ethersjs/), [viem](/builders/toolkit/ethereum-api/libraries/viem/), and [Web3.js](/builders/toolkit/ethereum-api/libraries/web3js/) +- **Wallets** - [MetaMask](/builders/toolkit/ethereum-api/wallets/metamask/), [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/ethereum-api/libraries/ethersjs.md b/builders/toolkit/ethereum-api/libraries/ethersjs.md index 11521203..c4ac7029 100644 --- a/builders/toolkit/ethereum-api/libraries/ethersjs.md +++ b/builders/toolkit/ethereum-api/libraries/ethersjs.md @@ -1,6 +1,7 @@ --- title: EVM Transactions & Contracts with Ethers.js description: Learn how to use the Ethereum EtherJS Library to send transactions and deploy Solidity smart contracts to your Tanssi EVM appchain. +icon: octicons-code-24 --- # Ethers.js JavaScript Library diff --git a/builders/toolkit/ethereum-api/libraries/index.md b/builders/toolkit/ethereum-api/libraries/index.md index f1f22af3..8225429d 100644 --- a/builders/toolkit/ethereum-api/libraries/index.md +++ b/builders/toolkit/ethereum-api/libraries/index.md @@ -1,8 +1,22 @@ --- title: Ethereum Libraries -description: Learn how to use Ethereum libraries such as Ethers.js, Web3.js, or Web3.py to send transactions or deploy contracts on your Tanssi EVM appchain. -template: subsection-index-page.html -hide: - - toc - - feedback +description: Learn how to use Ethereum libraries such as Ethers.js, Web3.js, or Web3.py to send transactions or deploy contracts on your Tanssi EVM network. +icon: octicons-code-24 +template: index-page.html --- + +# Libraries + +Libraries are essential tools for interacting with blockchain networks. They provide pre-built functions and abstractions that simplify tasks like reading and writing chain data. These libraries eliminate the need to handle raw blockchain requests, making it easier for developers to build and deploy decentralized applications while ensuring compatibility with Ethereum and other EVM-compatible networks. + +Some key capabilities of working with libraries include: + +- **Transaction management** - create, sign, and broadcast transactions +- **Smart contract interactions** - simplify calling contract functions, decoding responses, and handling contract events +- **Wallet integration** - facilitate secure wallet integrations for transacting with the network +- **Blockchain data parsing** - decode and interpret complex data structures returned by smart contracts +- **Event monitoring** - listen to events emitted by contracts and trigger specific application actions + +## Explore What This Section Covers + +:::INSERT_GENERATED_CARDS::: diff --git a/builders/toolkit/ethereum-api/libraries/viem.md b/builders/toolkit/ethereum-api/libraries/viem.md index 0594fe12..99779608 100644 --- a/builders/toolkit/ethereum-api/libraries/viem.md +++ b/builders/toolkit/ethereum-api/libraries/viem.md @@ -1,6 +1,7 @@ --- title: How to use viem Ethereum Library description: In this tutorial use the viem TypeScript interface for Ethereum to send transactions and deploy Solidity smart contracts to your Tanssi EVM appchain. +icon: octicons-code-24 --- # viem TypeScript Ethereum Library diff --git a/builders/toolkit/ethereum-api/libraries/web3js.md b/builders/toolkit/ethereum-api/libraries/web3js.md index 5701c627..bdc0254b 100644 --- a/builders/toolkit/ethereum-api/libraries/web3js.md +++ b/builders/toolkit/ethereum-api/libraries/web3js.md @@ -1,6 +1,7 @@ --- title: EVM Transactions & Contracts with Web3.js description: Learn how to use the Ethereum Web3 JavaScript Library to send transactions and deploy Solidity smart contracts to your Tanssi EVM appchain. +icon: octicons-code-24 --- # Web3.js JavaScript Library diff --git a/builders/toolkit/ethereum-api/libraries/web3py.md b/builders/toolkit/ethereum-api/libraries/web3py.md index 8ef1575c..b23a8f42 100644 --- a/builders/toolkit/ethereum-api/libraries/web3py.md +++ b/builders/toolkit/ethereum-api/libraries/web3py.md @@ -1,6 +1,7 @@ --- title: EVM Transactions & Contracts with Web3.py description: Learn how to use the Ethereum Web3 Python Library to send transactions and deploy Solidity smart contracts to your Tanssi EVM appchain. +icon: octicons-code-24 --- # Web3.py Python Library diff --git a/builders/toolkit/ethereum-api/precompiles/.pages b/builders/toolkit/ethereum-api/precompiles/.pages index 0648d36b..270696f0 100644 --- a/builders/toolkit/ethereum-api/precompiles/.pages +++ b/builders/toolkit/ethereum-api/precompiles/.pages @@ -5,6 +5,6 @@ nav: - 'Batch': batch.md - 'Call Permit': call-permit.md - 'Native Token ERC-20': erc20.md - - 'Cross Chain Transfers': cross-chain-transfers.md - - 'External Assets as ERC-20': external-assets-erc20.md + # - 'Cross Chain Transfers': cross-chain-transfers.md + # - 'External Assets as ERC-20': external-assets-erc20.md - 'Proxy': proxy.md diff --git a/builders/toolkit/ethereum-api/precompiles/batch.md b/builders/toolkit/ethereum-api/precompiles/batch.md index 30dab34e..2a51b10d 100644 --- a/builders/toolkit/ethereum-api/precompiles/batch.md +++ b/builders/toolkit/ethereum-api/precompiles/batch.md @@ -2,6 +2,7 @@ title: Batch Precompile description: Learn how to combine multiple transfers and contract interactions together via a Solidity interface with Tanssi's Batch Precompile for your EVM appchain. keywords: solidity, ethereum, batch, transaction, moonbeam, precompiled, contracts +icon: octicons-stack-24 --- # Interacting with the Batch Precompile diff --git a/builders/toolkit/ethereum-api/precompiles/call-permit.md b/builders/toolkit/ethereum-api/precompiles/call-permit.md index b35d8b41..8ef1898c 100644 --- a/builders/toolkit/ethereum-api/precompiles/call-permit.md +++ b/builders/toolkit/ethereum-api/precompiles/call-permit.md @@ -2,6 +2,7 @@ title: Call Permit description: Learn how to use the Call Permit Precompile on Tanssi EVM appchains to sign a permit for any EVM call that can be dispatched by anyone or any smart contract. keywords: solidity, ethereum, call permit, permit, gasless transaction, moonbeam, precompiled, contracts, tanssi +icon: octicons-arrow-up-right-24 --- # Interacting with the Call Permit Precompile diff --git a/builders/toolkit/ethereum-api/precompiles/erc20.md b/builders/toolkit/ethereum-api/precompiles/erc20.md index 663561ed..2010e172 100644 --- a/builders/toolkit/ethereum-api/precompiles/erc20.md +++ b/builders/toolkit/ethereum-api/precompiles/erc20.md @@ -2,6 +2,7 @@ title: Native Token ERC-20 Precompile description: Learn how to access and interact with an ERC-20 representation of the native token on Tanssi EVM appchains through the precompiled ERC-20 Interface. keywords: solidity, ethereum, native, token, moonbeam, precompiled, contracts +icon: material-circle-outline --- # Native Token ERC-20 Precompile diff --git a/builders/toolkit/ethereum-api/precompiles/index.md b/builders/toolkit/ethereum-api/precompiles/index.md index fd5d30fa..405d5a71 100644 --- a/builders/toolkit/ethereum-api/precompiles/index.md +++ b/builders/toolkit/ethereum-api/precompiles/index.md @@ -1,8 +1,57 @@ --- title: Solidity Precompiles -description: These guides showcase interacting with precompiles, which expose Substrate features via the easy-to-access Ethereum API of Tanssi EVM ContainerChains. -template: subsection-index-page.html -hide: - - toc - - feedback +description: These guides demonstrate how to interact with precompiles to access Substrate features through the familiar Ethereum API on Tanssi's EVM-compatible networks. +icon: octicons-file-code-24 +template: index-page.html --- + +# Precompiles + +Precompiles are built-in blockchain modules designed to handle specific tasks more efficiently than standard smart contracts. These modules are pre-deployed at fixed addresses and provide optimized solutions for operations like cryptographic functions, transaction batching, and token management. + +Since Tanssi-powered networks are Substrate-based, precompiled contracts can support both Ethereum-compatible functions and operations specific to the underlying Substrate chain. This dual approach ensures that developers can interact with familiar Ethereum tools while also taking advantage of the unique performance and flexibility offered by Substrate. + +## Flow of Interacting with Precompiles + +The flow below illustrates how user requests pass through the Ethereum interface, interact with precompiles, and ultimately access Substrate functionality, simplifying complex operations for seamless integration. + +```mermaid +graph LR + + A[User] + B[Ethereum Interface] + C[Precompile] + D[Substrate Interface] + + A -->|Interacts through| B + B -->|Calls| C + C -->|Accesses| D + + %% Node styling + style A fill:#1e1e1e,stroke:#4ecdc4,stroke-width:2px,rx:10px,ry:10px + style B fill:#2a2a2a,stroke:#4ecdc4,stroke-width:2px,rx:10px,ry:10px + style C fill:#3a3a3a,stroke:#4ecdc4,stroke-width:2px,rx:10px,ry:10px + style D fill:#4a4a4a,stroke:#4ecdc4,stroke-width:2px,rx:10px,ry:10px + + %% Arrow styling + linkStyle default stroke-width:2px,stroke:#4ecdc4,stroke-dasharray: 5, 5 + + %% Optional: Add a note or description + classDef note fill:#1a1a1a,stroke:#4ecdc4,stroke-width:1px; + class A,B,C,D note +``` + +## Precompile Addresses Quick Reference + +| Precompile | Address | +|---------------------|--------------------------------------------------------------| +| Native Token ERC-20 | <pre>```0x0000000000000000000000000000000000000800```</pre> | +| Call Permit | <pre>```0x0000000000000000000000000000000000000802```</pre> | +| Proxy | <pre>```0x0000000000000000000000000000000000000805```</pre> | +| Batch Transactions | <pre>```0x0000000000000000000000000000000000000801```</pre> | + +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? + +<div class="subsection-wrapper"> + <div class="card"> + <a href="/builders/build/"> + <div class="card-header"> + <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24"><path d="M11.03 2.59a1.501 1.501 0 0 1 1.94 0l7.5 6.363a1.5 1.5 0 0 1 .53 1.144V19.5a1.5 1.5 0 0 1-1.5 1.5h-5.75a.75.75 0 0 1-.75-.75V14h-2v6.25a.75.75 0 0 1-.75.75H4.5A1.5 1.5 0 0 1 3 19.5v-9.403c0-.44.194-.859.53-1.144ZM12 3.734l-7.5 6.363V19.5h5v-6.25a.75.75 0 0 1 .75-.75h3.5a.75.75 0 0 1 .75.75v6.25h5v-9.403Z"></path></svg> + <h2 class="title">Build Your Network</h2> + </div> + <p class="description">Learn how to design and customize your network with ready-to-use templates and tools tailored to your technical needs.</p> + </a> + </div> +</div> 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 }