Rollups-as-a-service or building yourself with Rollups SDKs– which is viable?

Zeeve - Jan 9 - - Dev Community

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. 

Image description

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. 

Image description

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: 

  • Pre-development challenges: Building a rollup chain requires aggressive planning and consultation to move things forward in the right direction. For example, you may be confused about choosing between a rollup frameworkOptimistic or Zkrollups or you need help in choosing services from external service providers, like a decentralized sequencer, DA layer, account abstraction, etc.

  • Challenges of setting up a reliable infrastructure:  Even when someone is building a rollup with SDKS, they need some infrastructure to host its virtual machine, RPC and non-RPC nodes etc. Also, they need additional infrastructure partners for DA, Sequencer, interoperability, and more.

  • Rollup engineering-related complexity: There are so many things required to build rollups with SDKs, like programming smart contracts, deploying nodes, integrating rollup components, testing, and deployment. Any developers doing this, will require extensive blockchain development skills with complete knowledge of latest technologies.

  • Selection of additional rollup services: To add modularity to a rollup chain or we can say building a sovereign rollup require you to integrate additional rollup services. For example, you can choose a decentralized sequencer from Celestia, an account abstraction layer from Biconony or Halliday, and interoperability from XYZ, etc. This also requires intense research and analysis to choose the right services to achieve best output in a cost-optimized way.

  • Performance & monitoring : Even after you successfully build your rollup chain with SDKs, it needs proper maintenance for uptime & performance. For example, your rollup setup should follow best security practices, its infrastructure should be scalable on-demand, gas cost optimization should be there, response time should be high, and so on.
  • 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?

  • Project consultation & decision-making support: A reliable RaaS providers does not only offer a node-deployment platform. Rather, they offer expert’s support and end-to-end consultation to analyze your requirements well. For example- addressing your confusion of choosing between various rollup frameworks, support for tooling & infrastructure, etc.

  • Ready-to-deploy, production-grade infrastructure-  RaaS platform are optimized to offer a production-grade, low-code rollup deployment infrastructure. Whether its about hosting nodes, or managing virtual machines– you do not need to manage infrastructure on your end. 

  • Standardization: rollups-as-a-services are designed both– experts and people having less familiarity in rollups or blockchain. Hence, RaaS solutions offer a default configuration of a standard rollup chain for every framework. You can simply go ahead with the setup and deploy your rollup. However, you have the option to customize every aspect of your chain, from EVM configuration to wallets, infrastructure, and more.

  • Seamless Integration for third-party rollup services: With a reliable RaaS solution, you will get the flexibility to integrate a range of third-party rollup services, be it a decentralized sequencer, aggregator, prover, storage solution, or interoperability layer.

  • Proactive rollup monitoring & maintenance: Once deployed on any RaaS infrastructure, your rollup network will be monitored on critical parameters such as instance metrics, validium metrics, RPC metrics, logs, and alerts, maintaining uptime and superior performance of your chain. 
  • Image description

    Image description

    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. 

    Image description

    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.

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .