Create your own L2 Rollup with a RaaS in 2 minutes
Learn to use Conduit one of the leading EVM "Rollup as a Service" providers
TLDR:
Rollup as a Service (RaaS) is a new business model that allows anyone to create and deploy their own L2 rollup with no code.
Conduit is a very easy to use RaaS provider, below you’ll see how quick and simple it is to get an EVM L2 rollup running with a few clicks.
With your rollup active you can bridge ETH into it and deploy smart contracts and dapps, as an example I create a token called DOG and transfer it over.
Conduit also sets up a block explorer for you so you can visualize everything on-chain easily.
Ethereum mainnet has become too slow and expensive to use therefore we’ve seen a growth in Ethereum L2s, most of which are rollups as I’ve discussed before.
Creating your own rollup requires a relatively deep understanding of blockchains, but recently a growth in “rollup as a service” (RaaS) providers has meant that you can deploy an L2 rollup in minutes without writing a single line of code!
This week I explore a little how a RaaS works by looking at Conduit.
Rollups and RaaS
As Ethereum looks to scale to handle more transactions per second there’s been a growth in Layer 2 (L2) solutions, we’ve looked at EVM L2s in a past post.
Rollups are the most popular L2 type on Ethereum today. As a brief reminder rollups are a separate blockchain that execute transactions then post a summarised version back onto the main chain.
There are already tens of examples of L2 rollups out there as shown on L2 Beat:
However, even though standards have arisen with the likes of Optimism and Arbitrum creating their own toolkits to create L2s more quickly, creating your own L2 is still not trivial and requires a certain amount of technical know-how. Plus you need to run nodes to support the L2 and that can get complicated too.
This challenge has given rise to a new type of business providing a “Rollup as a Service” (RaaS). With a RaaS anyone can create and deploy their own rollup in minutes with no code by just pressing a few buttons, then start bridging ETH and running smart contracts and dapps on their very own L2!
Below I’ll show you just how simple it is to create a rollup using a RaaS.
Conduit
There are already plenty of competitors in the RaaS space including Astria, Caldera, AltLayer, Conduit, and several more.
For this post I chose to use Conduit who I found real quick and easy to get started on.
In their own words Conduit allows you to: “Deploy a rollup in minutes, not months.” Providing “fully-managed, production-grade, customizable rollups on Ethereum, Optimism, Arbitrum, Base, Mode and Zora.”
Their landing page gives a pretty clear image of just how quick and easy it is to create a rollup with Conduit.
Let’s go through these steps below.
Creating a Rollup
First select the deploy button on the landing page, you’ll be asked to create an account and organisation and then be taken immediately to the settings page to deploy your first rollup.
Creating a mainnet rollup with Conduit will cost $3,000 per month, whether you want a mainnet rollup or not you’ll still want to get started with a testnet rollup which is just $50 per month.
Conduit allows you to use Optimism’s OP stack or Arbitrum’s Orbit stack. If you select Orbit you’ll see that the subsequent options will change too.
The settlement layer is what guarantees transaction finality and security, meanwhile the data availability layer is what maintains the information needed to reconstruct the rollup at any given moment. We covered this before on my modularity post.
Both are important but as a simplification settlement should really be on a more decentralised blockchain with the most financial security like Ethereum, while data availability can be on a more centralised blockchain that supports storing a lot more data at lower costs like Celestia.
In my testnet example I stuck with the OP Stack, using Ethereum for settlement and Celestia for DA. Nonetheless, Conduit allows you to mix and match these to find what works best for your specific use-case.
When you continue you’ll be asked to pay the $50 monthly fee.
And after you’ve paid you’re done! In just a couple of minutes you’ve configured your first L2 rollup.
You’ll now just need to wait 15-20m for Conduit to set things up and once it’s done the deployment will show up like this:
The names of your organisation and rollup can be edited but are unimportant, which is why I left mine as is. Importantly you can now start using your new L2 rollup!
Getting started with your Rollup
On selecting your rollup from the deployments page, the rollup information will show up as below:
The rollup configuration settings appear on the right-hand side and the output in the black terminal box indicates the L2 is live. You don’t need to actually understand what the output is saying for now, all you need to see is that it’s continually updating.
You’ll want to select “Add to Wallet” to add the network to your Metamask or equivalent wallet.
You should then click on “Create Bridge” in the Bridge section, which will open up a bridging software called SuperBridge.
Since we’re on testnet you’ll be able to bridge Sepolia ETH to your new rollup. If you don’t have any Sepolia ETH you can get it from this faucet.
I bridged over 1 ETH a couple of times and ended up with 2 testnet ETH on my new L2 rollup that I could see on my metamask wallet!
Now with testnet ETH bridged over to your new rollup you can begin to use it!
Using your Rollup
Now that you have your own L2 rollup running you can deploy code directly to it.
First open up the Remix IDE, which I’ve already explained how to use before in my tutorial called writing your first smart contract.
Then copy the code below into a new file in Remix.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract Coin is ERC20, Ownable {
constructor(string memory name, string memory symbol)
ERC20(name, symbol) Ownable(_msgSender())
{
_mint(_msgSender(), 100000 ether);
}
}
Update the Environment to “Injected Provider” and set your Metamask to the new rollup. Next to the orange deploy button give your coin a name and symbol, in this case I’ve written “Dog, DOG”, and then hit deploy.
You’ll have to sign this transaction in Metamask, and when it get’s processed you’ll have just created a new token on your new L2 rollup - how cool is that!
If I open up metamask I can add that token into my wallet by copying the contract address created that appears in Remix.
Having done this I can see the balance of my new Dog coin is 100000 DOG. In Metamask I can then send say 100 DOG to another address on the network as such.
How amazing, not only did we just create our own rollup, but we also created our own Dog token on this new blockchain and sent it to another account on this new chain.
Integrations
As you can see you can do pretty much anything you want with your new L2 blockchain, like create your own tokens, smart contracts, and dapps.
You can have anything from a simple token to a complex AMM like Sushiswap running on your rollup, just as we see it running on several chains:
For this sort of integration with different projects Conduit has an integrations page that helps to get these apps on your new rollup.
When you select “Get” on any of the dapps on this page a typeform will pop up where you can explain why you want to integrate this dapp with your rollup.
Having this easy interface to communicate with 10s of the most popular dapps out there is an incredibly helpful thing to bootstrap a totally new rollup.
And when you’re happy with everything you’ve tested out you can then move the rollup to mainnet. However, upgrading costs $3,000 per month and you’ll need to schedule a demo call with Conduit to make it happen.
Confirming what we did on the Explorer
Having played around my new testnet rollup, I can confirm everything that’s happened by jumping into the block-explorer that Conduit also set up for you.
For example I can go back to the explorer and take a look at my address to see the transactions done and tokens I’ve got.
I can get more blockchain specific information by selecting the blockchain tab on the left side and clicking on “Deposits (L1->L2)” for example, where I can see the tokens I’ve deposited. In this case you can see the Sepolia ETH that I bridged in.
On selecting Tokens I can also see the new DOG token I deployed.
And we can dive deeper into this token and see that there are two holders as I sent 100 DOGs to another account on the network.
I’m sure it’s pretty clear that I’ve barely scratched the surface of what’s possible by having your own new rollup. In a future post I may dive into different use-cases.
What’s most fascinating is that since by using a RaaS it has become trivial to create a rollup, it’s likely that L2s will essentially become commoditized and there’ll be hundreds or possibly thousands out there.
Then the real question will be how to differentiate your L2 rollup from the rest?