Claimed as the end-game for blockchain scalability, rollups are being adopted by a lot of popular web3 projects, such as Coinbase’s BASE, Immutable, dYdX, and zkBNB. Speaking about the rollup development, rollups-as-a-service solutions and rollup SDKs are currently the two viable ways for building use case-centric, customizable rollups chains. Both the RaaS and SDKs have the same end goal, which is enabling rollup development, but they work differently. Hence, there is some confusion around their usefulness.
This article addresses all the concerns and confusion related to using rollups-as-a-service or building with Rollups SDKs. If you are planning to build your custom rollup chain, go through all the details given here to choose a setup that seems suitable for you.
Breaking the confusions around rollups-as-a-service and rollup SDKs:
Because the concept of rollups-as-a-service is relatively new, it can be confusing for many people. Also, RaaS is often confused as a counterpart for rollup SDKs, which they are definitely not. So, What exactly are rollups-as-a-service and rollup SDKs, let’s understand.
What exactly are rollups-as-a-service?
Rollup-as-a-service are decentralized RaaS stack that allows anyone– be it dApp projects, web3 enterprises, or independent developers, to deploy their own modular rollup chain via a fully-managed services and no-code deployment panel. RaaS can be better referred to as the one-stop rollup deployment platform that gives you flexibility and modularity to deploy both Optimistic and Zk rolllups using frameworks like ZkStack, Polygon CDK, OP Stack, and Arbitrum Orbit. It is designed to abstract away all the major challenges of building application-specific rollups, which can be smart contracts development, managing infrastructure, configuration, integration of rollup components, hosting, infrastructure optimization, etc.
To tackle these complexities, rollups-as-a-service solutions provide a no-code deployment panel, where you can login, choose your preferred stack, select configuration options (such as choosing sequencer, aggregator, prover, DA etc), test your rollup chain, and deploy it seamlessly within few minutes. However, even to use RaaS, you must be familiar with the basic concept of rollups, its functions, components, and ideal features.
Now, let’s learn about rollup SDKs
Rollup SDKs refer to the modular frameworks that web3 developers can use to build custom-fit L2/L3 rollup chains, suiting the specific needs of their dApps. Basically, rollup SDKs are a set of tools and components such as starter templates, customizable virtual machines, and open-source codebase. Anyone with expertise in blockchain development can modify some aspects of these existing components to design a rollup from scratch that becomes a version of their application.
Rollup SDKs offer you the flexibility to customize your rollup network, and do additional configuration for DA (data availability) layer, sequencer, prover, or storage. Simply put, It’s a fully customizable system that allows you to add anything in the rollup chain that you think is required from your applications’s perspective.
Polygon CDK, Op Stack, zkStack, Arbitrum Orbit, and Rollkit are some of the popular rollup frameworks that are being actively used in the web3 developer community to build solutions for various industry sectors– be it gaming, DeFi, NFTs, government, real-world asset tokenization, or media & entertainment.
As discussed, it’s not fair to compare RaaS and SDKs, because these two just two distinct setups that serve the same purpose. Rollups-as-a-service allows you to do some checkbox and your rollup chain becomes ready. On the other hand, with rollup frameworks– you have to go ahead and write code to inject in your dApp. So, its basically code vs no-code, but not RaaS vs Rollup SDKs.
Rollups-as-a-service and building with rollup SDKs: diving into development process, stacks, resources, etc:
As rollup-as-a-service works as a launchpad for rollup SDKs, the approach to building rollups with these two setups is different. Let’s discuss those steps with respect to a standard RaaS solution and rollup SDK:
Using rollups-as-a-service solutions–
Step:1- Developer onboarding: First, you need to sign up/register yourself on your desired rollups-as-a-service platform. This generally requires email, a passcode, and, in some cases, a contact number. After that, login to RaaS platform and continue with your preferred stack.
Step:2- Rollup configurations: General configuration, blockchain-level, EVM, RPC, and infrastructure are some of the configuration options required in a rollup chain. RaaS solution (as you can see in the below image) offers an automated, default configuration for each of these components.
Further, to enhance the modularity of your rollup, you can do RPC configuration, choose the DA layer, sequencer type, nodes, storage type, interoperability layer, etc, from third-party integration partners.
Step:3 Testing and deployment: Once you test your setup thoroughly in DevNet, push your rollup chain to production with the one-click deployment option of RaaS.
Using rollup SDKs–
Step:1 Setting up environment: Building with frameworks, requires you to have specific types of hardware and software setup. For example, you will need Operating system, cloud setup, hosting infrastructure, virtual machine, docker containers, RPCs, etc.
Step:2 Writing smart contract: You need to create smart contract for your rollup chain in the language that is supported on your preferred stack. For example, if you choose SDKs like Polygon CDK and zkStack, then a Solidity, Rust, or Vyper based contract will work because these are EVM-compatible frameworks.
Step:3 Wallet creation: A web3 wallet is needed to perform transactions, pay the gas fees, and access other apps. You use existing web3 wallets or you can one from scratch.
Step:4 Hosting nodes: Since you are deploying your rollup chain by yourself, you also have to host one or more nodes as required. For this, you can opt for Node hosting service providers like Zeeve.
Step:3 Configuring rollup components: To continue with deployment, you need to configure rollup components, such as prover, synchronizer, transaction manager, RPCs, sequencer, aggregator, explorer, bridges,etc. For each of these components, you will need their specific command lines.
Step:4 Testing and upgrade: Test your rollup chain on your preferred testnet, ensuring that its components and features work as expected. Do the required upgrade to improve its functionalities.
Step:5 Deploying the rollup chain: Push your rollup chain’s entire setup to the production environment to make it available for the intended users.
Step:6 Maintaining your rollup: To ensure your rollup chain remain up and running all the time, you need to monitor it 24x7 and do all the required upgrades.
What are the possible challenges of building with Rollup SDKs?
Since rollup SDKs require developers to build their L2 or L3 chain from scratch, they may come across some sort of challenges, such as:
Speaking about monitoring, you will need to perform multiple layers of integration in your rollup, which is a challenging task to do. For example, you need to set up a component for real-time alerts, customize it to do monitoring on all the important parameters, have graphical analytics should be there, and a lot more.
How can Rollups-as-a-service solve the above challenges?
Rollups-as-a-service solution or building with rollup SDKs: Which one you should choose, and why:
Rollups-as-a-services are becoming a preferred choice for a lot of industry leaders, futuristic projects, and dApps. Below is a tweet from Sandeep Narwal, Co-Founder of Polygon, highlighting the need of RaaS for building modular dApps.
Now, talking about choosing between rollups-as-a-service or rollup SDKs, it all depends on the stage of your application and its overall complexity.
If you already manage a use case in the form of protocol or a fully-matured dApp or smart contract, where you just want to spin up a additional L2/L3 chain, then using RaaS solutions is the viable option for this scenario. That’s because you don’t need to do anything from scratch, you just want to add an additional chain to your existing infrastructure.
For other cases, like upgrading a web2 application to web3 or you are building a new web3 application, SDKs may be more suitable. Note that, rollups-as-a-service can also work here. But, with SDKs you can choose everything from base level to design a highly personalized ecosystem. For example, what kind of state machine your application needs, what state transition function is required, and so on. Doing this same thing with RaaS can be a little heavy lifting because configurations are standardized there. Above all these, end decision is up to the projects, if they want an automated setup then RaaS is a viable option,and if they want to do things by themselves, then SDKs will work.
Try Zeeve’s modular Raas Stack— The most easy way to deploy rollups
Zeeve offers a modular rollups-as-a-service stack to deploy production-grade rollups natively integrated with all the essential rollup tools & components such as white-labeled blockchain explorers, cross-chain bridges, advanced wallets, data indexers, scalable nodes. Zeeve calls its RaaS stack modular because it supports integration for a range of rollup services such as Avail, Near DA, and Celestia for data availability, Biconomy and Halliday for Account Abstraction (AA), Chainlink for decentralized oracles, Espresso and Radius for Decentralized Sequencer, Subgraph for data indexers, and LayerZero and Router Protocol for interoperability layer.
Zeeve currently offers Polygon CDK sandbox—a one-click deployment tool for launching custom CDK chains. The sandbox tool is absolutely free to use, which allows you to try and test your rollup chain multiple times unless it is ready for production. Soon, Zeeve will offer a similar RaaS stack for launching zkSync era, Hyperchains and Arbitrum Orbit. These are just a snapshot of what Zeeve can offer, the list is vast, and its expanding with each passing day.
For more information about Zeeve and its comprehensive stack, feel free to connect with our experts or schedule a one-to-one call for a detailed discussion.