Network Templates Included in Tanssi¶
Introduction¶
Building a new network from scratch can be a daunting prospect. Fortunately, thanks to the network development framework used by Tanssi and its modular-oriented architecture, developers can leverage some pre-bundled network templates that help them jumpstart the process and benefit in some aspects, such as:
-
Head Start - Tanssi network templates provide a starting point for your project, saving significant time and effort by providing a basic structure and a set of tested and ready-to-use functionalities. It allows developers to accelerate the construction of prototypes or minimum viable products (MVPs) and reduce the time to market
-
Consistency - included Tanssi network templates follow established design patterns, coding standards, and best practices widely accepted among the developer community. They also provide a default set of architecture definitions to streamline blockchain development
-
UX - Tanssi network templates cover the most demanded use cases, such as the EVM support for an Ethereum-compatible network
-
Customizability - Tanssi network templates are a great starting point and are completely customizable. The functionalities and default configurations they include can be modified, replaced, or extended to meet the specific requirements of the use case
-
Upgrades and Compatibility - Tanssi is built on top of an evolving framework, with new features, enhancements, and bug fixes being regularly introduced. The provided Tanssi network templates are kept up-to-date with these upgrades
Start Building a Network¶
To start building a decentralized network to deploy in Tanssi, some useful Tanssi network templates to kick-start the development process are provided in the official repository.
The process is as simple as:
- Select one of the templates
- Add the specific logic to adapt the runtime to the requirements of the use case
- Deploy in Tanssi
The two included templates are Baseline network template and Baseline EVM Template, which are presented in the following sections.
Baseline Network Template¶
As presented in the Overview 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 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 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).
The source code for this template is public and accessible on the Tanssi GitHub repository.
Baseline EVM (Ethereum Virtual Machine) Template¶
Extending the baseline Tanssi network template, this template provides not only Tanssi protocol support but also an EVM and full Ethereum compatibility.
Leveraging a set EVM-specific modules, 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, Hardhat, Remix, Foundry, and many more out of the box, with no extra adapters.
With this EVM template, developers can deploy a Moonbeam-like network in no time and add their custom logic and features specific to their use case.
The source code for this template is public and accessible on the Tanssi GitHub repository.
| Created: July 10, 2023