Skip to content

Commit

Permalink
minor edits
Browse files Browse the repository at this point in the history
  • Loading branch information
eshaben committed Jan 3, 2025
1 parent 5f55593 commit d600a22
Show file tree
Hide file tree
Showing 10 changed files with 42 additions and 51 deletions.
25 changes: 19 additions & 6 deletions builders/build/templates/index.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,33 @@
---
title: Network Templates
title: Templates for Network Development
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
# 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.

As presented in the [Network Templates Included in Tanssi](/learn/networks/included-templates/){target=\_blank} page from the Learn section, Tanssi already provides two templates to jumpstart the development process:
## Choose a Template

- **[Baseline Tanssi network template](/learn/networks/included-templates#baseline-network-template){target=\_blank}** - a template that provides the basic platform to start adding custom logic
- **[Baseline Tanssi EVM (Ethereum Virtual Machine) network template](/learn/networks/included-templates/#baseline-evm-template){target=\_blank}** - a template that provides full Ethereum compatibility
Tanssi provides two templates to jumpstart the development process:

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.
- **Baseline Tanssi network template** - a template that provides the basic platform to start adding custom logic
<br>

[:octicons-arrow-right-24: Learn about what this template provides](/learn/decentralized-networks/included-templates#baseline-network-template)

[:octicons-arrow-right-24: Start building with this template](/builders/build/templates/substrate/)

- **Baseline Tanssi EVM (Ethereum Virtual Machine) network template** - a template that provides full Ethereum compatibility
<br>

[:octicons-arrow-right-24: Learn about what this template provides](/learn/decentralized-networks/included-templates/#baseline-evm-template)

[:octicons-arrow-right-24: Start building with this template](/builders/build/templates/evm/)

To learn about the minimum requirements for your chain to function on Tanssi and what modules are automatically included, check out the [Template Overview](/builders/build/templates/overview/) page.

## Explore This Section

Expand Down
30 changes: 6 additions & 24 deletions builders/build/templates/overview.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Templates
description: Tanssi includes templates to kick-start the development of a network offering options such as a basic one and another featuring full EVM (Ethereum) support.
title: Requirements and Features of Templates
description: Explore the foundational setup and key features included in each Tanssi template, designed to streamline the building and deployment of Tanssi networks.
icon: octicons-home-24
---

Expand All @@ -10,30 +10,12 @@ icon: octicons-home-24

Networks deployed through Tanssi are fully customizable blockchains benefiting from a shared set of sequencers and the security of a provider of their choice. The templates presented in this article implement the necessary functionalities and configurations to support the Tanssi protocol, making development easier.

## 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

In this article, the required base setup and how to use the templates as a starting point to start building your Tanssi network are presented.

## Base Setup to Support the Tanssi Protocol {: #base-setup-supporting-tanssi }

Tanssi networks must implement the following modules to support the protocol and benefit safely from Tanssi's block production as a service:

- **Author Noting** - registers the set of sequencers assigned to the network by Tanssi
- **Author Inherent** - Allows the sequencer authoring the block to include its identity to get validated and rewarded
- **Author Inherent** - allows the sequencer authoring the block to include its identity to get validated and rewarded

If you don't include these modules in the Tanssi network's runtime, there won't be a method to confirm that the blocks are being generated by trustworthy sequencers designated by the Tanssi orchestrator. This could create a vulnerability for malicious actors to exploit and compromise the network. For more information about Tanssi's block production as a service please refer to the [Block Production Services](/learn/tanssi/network-services/block-production/){target=\_blank} article.

Expand All @@ -45,7 +27,7 @@ Besides block production, there are other essential aspects for any network cove

## Included Modules {: #included-modules }

Besides the necessary modules to support the operation of a Tanssi network, many other modules provide functional behavior that the users can interact with.
Besides the necessary modules to support the operation of a Tanssi network, many other modules provide functional behavior that the users can interact with.

These are some of the functional modules exposing a behavior to the users that are included in the templates and ready to use:

Expand All @@ -58,7 +40,7 @@ These are some of the functional modules exposing a behavior to the users that a

## Start Building {: #getting-started }

To start building on top of the provided templates, be it the [Baseline Tanssi network template](/builders/build/templates/substrate/){target=\_blank} or the [Baseline EVM (Ethereum Virtual Machine) template](/builders/build/templates/evm/){target=\_blank}, the recommended approach is to fork the [Tanssi repository](https://github.com/moondance-labs/tanssi){target=\_blank} and start adding [built-in modules](/builders/build/customize/adding-built-in-module/){target=\_blank} or [custom-made modules](/builders/build/customize/adding-custom-made-module/){target=\_blank} on top of the [latest release](https://github.com/moondance-labs/tanssi/releases/latest){target=\_blank} tag.
To start building on top of the provided templates, be it the [baseline Tanssi network template](/builders/build/templates/substrate/){target=\_blank} or the [baseline EVM (Ethereum Virtual Machine) template](/builders/build/templates/evm/){target=\_blank}, the recommended approach is to fork the [Tanssi repository](https://github.com/moondance-labs/tanssi){target=\_blank} and start adding [built-in modules](/builders/build/customize/adding-built-in-module/){target=\_blank} or [custom-made modules](/builders/build/customize/adding-custom-made-module/){target=\_blank} on top of the [latest release](https://github.com/moondance-labs/tanssi/releases/latest){target=\_blank} tag.

This approach comes with some advantages, such as:

Expand All @@ -68,4 +50,4 @@ This approach comes with some advantages, such as:
- Run the included tests, ensuring that block production on your Tanssi network works as intended
- Run a complete local environment with the included [Zombienet](https://paritytech.github.io/zombienet){target=\_blank} configuration

If the templates already cover your use case needs, or after building and testing your chain, you can continue with the [Deploy your Tanssi network via the Tanssi dApp](/builders/deploy/dapp/){target=\_blank} article to know how to use the Tanssi dApp to register and get your chain up and running.
If the templates already cover your use case needs, or after building and testing your chain, you can continue with the [Deploy Your Network via the Tanssi DApp](/builders/deploy/dapp/){target=\_blank} article to know how to use the Tanssi dApp to register and get your chain up and running.
2 changes: 1 addition & 1 deletion builders/deploy/dapp.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Learn how to spin up and deploy a network on Tanssi in minutes usin
icon: octicons-browser-24
---

# Deploy your Network via the Tanssi DApp
# Deploy Your Network via the Tanssi DApp

<style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://www.youtube.com/embed/SQw9fn_MOQA?si=INbq35lvKQdJ7IA2' frameborder='0' allowfullscreen></iframe></div>
<style>.caption { font-family: Open Sans, sans-serif; font-size: 0.9em; color: rgba(170, 170, 170, 1); font-style: italic; letter-spacing: 0px; position: relative;}</style>
Expand Down
2 changes: 1 addition & 1 deletion builders/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Explore everything you need to build, deploy, and manage networks within the Tan
<div class="grid cards" markdown>

- <h2 class="title">Tanssi Network References</h2>
[:octicons-arrow-right-24: Network Endpoints](/builders/tanssi-network/endpoints/)
[:octicons-arrow-right-24: Access network endpoints](/builders/tanssi-network/endpoints/)

- <h2 class="title">Tools for Tanssi Network Development</h2>
[:octicons-arrow-right-24: Explore tools for Ethereum API integration](/builders/toolkit/ethereum-api/)
Expand Down
4 changes: 2 additions & 2 deletions learn/decentralized-networks/included-templates.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ The two included templates are the *baseline network template* and the *baseline

As presented in the [Overview](/learn/tanssi/overview/){target=\_blank} article, networks deployed through Tanssi are fully sovereign and customizable blockchains.

As part of the Tanssi ecosystem, networks must include the essential components to implement the consensus mechanism and be able to interact and synchronize with the security provider of their choice (for example, [Symbiotic](https://symbiotic.fi/){target=\_blank} on Ethereum). The baseline Tanssi network Template includes all the necessary functionality for the block producers logic, p2p, database, and synchronization layers between the network and the security provider, allowing developers to focus solely on customizing their product.
As part of the Tanssi ecosystem, networks must include the essential components to implement the consensus mechanism and be able to interact and synchronize with the security provider of their choice (for example, [Symbiotic](https://symbiotic.fi/){target=\_blank} on Ethereum). The baseline Tanssi network template includes all the necessary functionality for the block producers logic, p2p, database, and synchronization layers between the network and the security provider, allowing developers to focus solely on customizing their product.

This template also includes Tanssi's [Author Noting](https://github.com/moondance-labs/tanssi/blob/master/pallets/author-noting/src/lib.rs){target=\_blank} module, which implements the logic for retrieving and validating the set of sequencers assigned to provide block production services to the network. It also includes logic that allows a sequencer to sign the block when the consensus mechanism determines that it is the sequencer's turn to produce the block (and thus be rewarded accordingly).

Expand All @@ -50,7 +50,7 @@ Extending the [baseline Tanssi network template](#baseline-network-template), th

Leveraging a set [EVM-specific modules](https://github.com/paritytech/frontier){target=\_blank}, this template includes an Ethereum compatibility layer for networks to allow running unmodified Ethereum dApps.

Using this template, networks support the deployment and running of any existing Smart Contract written in Solidity or Vyper with no changes. By emulating Ethereum block production and exposing the expected RPC interface, developers can also continue using the same tools like [Metamask](https://metamask.io){target=\_blank}, [Hardhat](https://hardhat.org){target=\_blank}, [Remix](https://remix.ethereum.org){target=\_blank}, [Foundry](https://github.com/foundry-rs/foundry){target=\_blank}, and many more out of the box, with no extra adapters.
Using this template, networks support the deployment and running of any existing smart contract written in Solidity or Vyper with no changes. By emulating Ethereum block production and exposing the expected RPC interface, developers can also continue using the same tools like [Metamask](https://metamask.io){target=\_blank}, [Hardhat](https://hardhat.org){target=\_blank}, [Remix](https://remix.ethereum.org){target=\_blank}, [Foundry](https://github.com/foundry-rs/foundry){target=\_blank}, and many more out of the box, with no extra adapters.

With this EVM template, developers can deploy a [Moonbeam](https://moonbeam.network){target=\_blank}-like network in no time and add their custom logic and features specific to their use case.

Expand Down
4 changes: 2 additions & 2 deletions learn/tanssi/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ template: index-page.html

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.

Tanssi's modular framework, runtime customization, transaction management and interoperability transform network development into an accessible and efficient process, drastically reducing time to market while ensuring high performance and scalability.
Tanssi's modular framework, runtime customization, transaction management, and interoperability transform network development into an accessible and efficient process, drastically reducing time to market while ensuring high performance and scalability.

This section includes an overview of Tanssi’s core capabilities that support network development, covering everything from infrastructure and security to essential integrations.

## Explore This Section

:::INSERT_GENERATED_CARDS:::
:::INSERT_GENERATED_CARDS:::
4 changes: 2 additions & 2 deletions node-operators/network-node/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ 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. Options using a containerized environment and node as a service automation are included:
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. Explore options tailored to different deployment approaches:

- [**Using Docker**](/node-operators/network-node/rpc-docker/) - instructions to set up your node in a containerized environment for easy deployment and isolation
- [**Using Systemd**](/node-operators/network-node/rpc-systemd/) - guidance for configuring your node as a service, enabling automated management and system integration

## Explore This Section

:::INSERT_GENERATED_CARDS:::
:::INSERT_GENERATED_CARDS:::
2 changes: 1 addition & 1 deletion node-operators/sequencers/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ Becoming a sequencer is a critical role in maintaining the security and efficien

## Explore This Section

:::INSERT_GENERATED_CARDS:::
:::INSERT_GENERATED_CARDS:::
7 changes: 2 additions & 5 deletions node-operators/sequencers/onboarding/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ template: index-page.html

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:
Use the following resources to get started as a sequencer:

- [**Hardware requirements**](/node-operators/sequencers/onboarding/run-a-sequencer/#hardware-requirements) - understand the recommended hardware specifications to ensure optimal performance of your sequencer node
- [**Port configuration**](/node-operators/sequencers/onboarding/run-a-sequencer/#required-network-ports) - learn which network ports need to be open to facilitate proper communication within the Tanssi ecosystem
Expand All @@ -18,7 +18,4 @@ Getting Started as a Sequencer:

## Explore This Section

:::INSERT_GENERATED_CARDS:::



:::INSERT_GENERATED_CARDS:::
13 changes: 6 additions & 7 deletions node-operators/sequencers/onboarding/run-a-sequencer/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,12 @@ Recommended Hardware:

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) |

| Network | Port |
|------------------|-------------|
| Tanssi Chain | 30333 (TCP) |
| Relay Chain | 30334 (TCP) |
| Assigned Network | 30335 (TCP) |

## Explore This Section

:::INSERT_GENERATED_CARDS:::
:::INSERT_GENERATED_CARDS:::

0 comments on commit d600a22

Please sign in to comment.