Skip to main content

18 docs tagged with "dapps"

View All Tags

Assets handling

Assets exist on the base layer, which is where they have actual meaning and value. As with any execution layer solution, a Cartesi dApp that wants to manipulate assets (e.g. to allow players to bet on a game, so that the winner receives the loser's assets) needs a secure way of "teleporting" the assets from the base layer to the execution layer, and then a way to "teleport" them back to the base layer.

Breaking Changes v1.0

This guide is designed to highlight the key distinctions between v0.9 and v1.0, offering assistance to those transitioning an existing application or individuals already acquainted with v0.9 who require a concise overview.

Cartesi Rollups - Understanding the risks

Cartesi Rollups is an app-specific execution environment that can be deployed as a L2, L3, or as sovereign rollups. It's not your typical L1 blockchain, so the idea of a "Mainnet launch" is a bit different. What actually goes to mainnet are the dApps built using Cartesi! And with the launch of the Honeypot dApp, Cartesi Rollups is officially Mainnet-ready (beta)!

Create your first dApp

Once you learned how to run a simple example, it is now time to create one of your own. In order to do this, we will make use of the existing dApps available in Cartesi's rollups-examples Github repository. Once again, make sure you have installed all the necessary requirements before proceeding.

Current challenges

Cartesi Rollups are shaped by the contributions and collaborative efforts of its decentralized community. As the community continuously works together to build something amazing, there are ongoing challenges that need attention. On this page, you’ll explore these challenges and potential strategies and solutions that the community might consider.

dApp architecture

Borrowing from familiar mainstream terminology, from a developer’s point of view a Cartesi dApp is developed by implementing two main components: a front-end and a back-end.

dApp life cycle

Now that we have described the architecture of a Cartesi dApp and how the front-end and back-end communicate with the Cartesi Rollups framework, let’s step back a bit to discuss how a dApp can be implemented in practice.

Deploying dApps

Cartesi Rollups dApps are intended to be deployed to public blockchains, so that they can be accessed by users. This can be done by taking advantage of a cloud-based infrastructure provided by Cartesi.

General requirements

To start developing applications using Cartesi Rollups, first make sure that the packages listed in this section are all installed and working in your system. The instructions listed below should be enough to turn a fresh copy of the latest Ubuntu LTS distribution into a fully fledged Cartesi development environment.

Main concepts

As explained in the previous section, the Cartesi Rollups framework achieves scalability by moving the bulk of the computation outside the blockchain, using the ledger as a data source but not as an execution environment. As such, the solution contains both on-chain (L1) and off-chain (L2) components.


Cartesi's vision is that creating a dApp should not be too different from the general development of desktop, web, and mobile applications. To that end, Cartesi provides a framework for building decentralized logic, giving developers full flexibility to use the tools and libraries of their preference.


In a Cartesi dApp, the front-end and back-end parts of the application communicate with each other through the Rollups framework via a set of HTTP APIs.


The combination of an Optimistic Rollups framework and the Cartesi Machine Emulator enables the development of smart contracts and dApps using any package or library that is available for Linux. This allows developers to break free from the scalability limitations of the Ethereum Virtual Machine (EVM), and brings the rise of a new blockchain era to handle real-life and complex use cases.

Performance recommendations

The Cartesi Rollups framework offers a plethora of possibilities for developing dApps, giving you the freedom to choose the technologies and stacks that align with your goals. Nonetheless, it is essential to consider certain recommendations to ensure that the dApps work seamlessly, given the current state of the Cartesi Rollups framework.

Run an example dApp

This article explains how to build and interact with a minimalistic Cartesi Rollups application.

Run back-end in Host Mode

When developing an application, it is often important to easily test and debug it. For that matter, it is possible to run the Cartesi Rollups environment in host mode, so that the dApp's back-end can be executed directly on the host machine, allowing it to be debugged using regular development tools such as an IDE.

Sending requests

In Cartesi Rollups, there are two kinds of requests that can be made to the dApp:

© 2024 Cartesi Foundation Ltd. All rights reserved.

The Cartesi Project is commissioned by the Cartesi Foundation.

We use cookies to ensure that we give you the best experience on our website. By using the website, you agree to the use of cookies.