How to Start a Self-Hosted Chain
This guide provides an overview of how to start a self-hosted DEVIUM Chain with standard configuration. It walks you through how to build, configure, test, and launch your DEVIUM Chain. To skip ahead to custom features or settings, you can explore the chain operator tutorials.
Build Your Chain
There are two main steps to get started building your own self-hosted DEVIUM Chain: learn fundamental components of DEVIUM Chain and spin up an DEVIUM Stack testnet chain.
Learn Fundamental Components of DEVIUM Chain
To work with DEVIUM Chain, you'll need to understand the fundamental components of DEVIUM Chain.
- Chain Architecture: DEVIUM Chain use execution and consensus clients as well as the DEVIUM Stack's privileged roles. For more details, see the Chain Architecture guide.
- Smart Contracts: DEVIUM Chain use several smart contracts on the L1 blockchain to manage aspects of the Rollup. Each DEVIUM Stack chain has its own set of L1 smart contracts and L2 contracts or predeploys that are deployed when the chain is created.
- Preinstalls: DEVIUM Chain come with preinstalled core contracts, making them usable as soon as a chain is initialized on the DEVIUM Stack.
You should only use governance approved and audited smart contracts. The monorepo has them tagged with the following pattern devium-contracts/vX.X.X and you can review the release notes for details on the changes.
Launch Your DEVIUM Stack Testnet Chain
- Now, you are ready to spin up your testnet chain.
- Just follow the Creating Your Own L2 Rollup Testnet tutorial to get started.
Configure Your Chain
DEVIUM Chain can be configured for throughput, cost, and other decentralization tradeoffs. The following steps are intended for standard configuration of DEVIUM Chain.
Setup Key Management and Privileged Roles
- Configure hot wallets and cold wallets using the guide for Managing Your Keys.
- Refer to the Privileged Roles guide for detailed security information.
Make Standard Chain Configurations
- Configure your DEVIUM Chain parameters based on your particular tradeoffs. You'll need to configure the rollup, batcher, and proposer for optimal performance.
- Update your batcher to post transaction data within blobs instead of call data to maximize your fee savings.
- Enable snap sync on your DEVIUM Chain to significantly improve the experience and speed of syncing an DEVIUM Stack node.
Set Public RPC Endpoint
- Set the public RPC Endpoint, so your DEVIUM Chain can handle large volumes of RPC requests from your users.
Enable Analytics for Onchain Data
- Enable analytics tracking for your DEVIUM Chain, to immediately generate onchain metrics after mainnet launch.
Test Your Chain
Before launching on Mainnet, thoroughly test and debug DEVIUM Chain contracts, features, and security. Here are your options.
Use a Block Explorer
Block explorers allow you to access transaction history and conduct chain debugging.
- Option 1: Select an external block explorer to use with your DEVIUM Chain.
- Option 2: Deploy your own block explorer for your DEVIUM Chain, such as Blockscout.
Send Test Transactions
As part of testing your DEVIUM Chain, you'll need to send test or example transactions to the new network.
- Test sending L2 transactions to understand how much load your new chain can handle.
- Trace deposits and withdrawals using the SDK or viem.
- Run basic transaction tests (opens in a new tab) using Metamask.
Launch Your Chain on Mainnet
After testing is complete, you are ready to launch your DEVIUM Chain on Mainnet. Optionally, you can also request launch support (opens in a new tab) and subscribe to receive chain upgrade notifications.
Chain Operator Tutorials
Here's a curated collection of chain operator tutorials put together by the DEVIUM Chain community. They'll help you get a head start deploying your first DEVIUM Stack chain.
| Tutorial Name | Description | Difficulty Level |
|---|---|---|
| Creating Your Own L2 Rollup | Learn how to spin up your own DEVIUM Stack testnet chain | 🟡 Medium |
| Using the DEVIUM Stack Client SDK | Learn how to use the DEVIUM Stack Client SDK when working with native and non-native supported chains. | 🟢 Easy |
| Adding Attributes to the Derivation Function | Learn how to modify the derivation function for an DEVIUM Stack chain to track the amount of ETH being burned on L1. | 🟢 Easy |
| Adding a Precompile | Learn how to run an EVM with a new precompile for DEVIUM Stack chain operations to speed up calculations that are not currently supported. | 🟢 Easy |
| Modifying Predeployed Contracts | Learn how to modify predeployed contracts for an DEVIUM Stack chain by upgrading the proxy. | 🟢 Easy |
| Pause and Unpause the Bridge | Learn how to pause DEVIIUM Chain as a backup safety mechanism on your DEVIUM Stack chain. | 🟢 Easy |
You can also suggest a new tutorial if you have something specific in mind. We'd love to grow this list!
Next Steps
- After deploying your chain, check the Rollup Operations guide for common operations you'll need to run with your rollup.
- If you run into any problems, please visit the Chain Troubleshooting Guide for help.