It’s no groundbreaking concept: the single biggest barrier to adoption for any development language is the need to shift an entire toolset into a new, differently built environment. The amount of work this involves alone can often prevent cross-platform development and, in turn, full market and user saturation for certain applications.
In the case of blockchain development, this is particularly frustrating: despite being an exciting new frontier of technical and creative challenges and despite the massive community of experts that quickly gathered around them during the last decade, it remains a raw and troublesome experience.
Real-world dApps (decentralised applications) are stunted in terms of complexity, with barriers standing in front of simple needs such as database use, string operations or array looping.
There is, however, one very exciting prospect for a paradigm shift in the space: the work being done by Cartesi to develop the first-ever operative system (OS) entirely built on the blockchain.
A Ledger-Friendly OS
The groundbreaking OS is designed to allow developers to build within a Linux environment and utilising standard programming conventions, but while being entirely immersed in the centralised and secure world of blockchains.
It’s not difficult to see why this represents a game changer: moving past Solidity, programmers would be enabled to work on smart contracts with an array of software tools, libraries and services they’re used to relying on in other spaces. It goes without saying that mainstream coding languages such as C++ and Python will be supported.
The universal support isn’t limited to languages either, as Cartesi is entirely chain-agnostic: it supports all EVM chains such as Ethereum, BNB, Avalanche and Polygon.
Most importantly, this innovation would remove the make-or-break factor for most digital ledger projects: scalability issues. Cartesi’s own estimate speaks of an increase over 10,000x the computational scalability of dApps built elsewhere.
All the other stats at hand continue painting a very pretty picture: expected transaction throughput would soar to 15x that of programming on Ethereum just in the initial phases, and fee costs are likely to only reach around 1/15th of those encountered thus far with smart contracts.
All in all: a big win. So, how does one get started developing on Cartesi?
What is a ‘rollup’ you might ask?
In simplistic terms, it’s the smart contract equivalent of file compression, or ‘zipping’. It consists in a bundling of transaction data to reduce the amount of fees and improve speeds on a blockchain-based smart contract. It also usually involves delegating the majority of computational load to off-chain structures, further improving transaction throughput and savings.
As mentioned above this achieves the same degree of security as any other chain-based transaction, but with exponentially higher scalability potential.
They are, of course, Layer-2 solutions and were part of the initial set of proposals for Ethereum scaling.
Like all applications, they are composed of two main parts: a front-end and a back-end, the former corresponding to the user-facing interface (be it graphic or a command-line) and the latter pointing at the business logic of the application.
For decentralised apps, the back-end logic needs to be fully trustless, and needs to be executed within the Rollup. This back end then produces outputs which can be processed on Layer-1 (i.e. asset transfer) and informational statements to go along. In essence, it can be seen as an advanced form of smart contract.
Third-party services that don’t need to be verifiable and decentralised can run off-chain, thus creating further ‘back-ends’ that are not contained within Cartesi. This can be access to data sets, user communication or any other type of connection with non-blockchain services.
Connecting this front and back end are Cartesi Rollups.
DApp Implementation 101
Cartesi has defined a series of ‘stages’ of dApp development via Rollups, in order to provide developers with an experience as familiar and inviting as possible via requiring a very small number of routine changes.
Stage 1 or Design is when the conceptual planning of the dApp happens, defining frond and back-end scope and technological requirements.
Stage 2 or Proof of Concept is a checkpoint to evaluate the feasibility of the proposals produced in the earlier stage, and a performance verification opportunity.
Stage 3 or Implementation is the bulk of work in this cycle and the biggest technical game-changer. This is when the Rollups are implemented via the Cartesi Rollups Host Enviroment and when front and back end modules can be tested for the first time, like any other regular application.
Stage 4 or Packaging is when the back-end part is packaged within the Cartesi Machine, porting its execution to the Layer-2 framework. Final tests on performance are also carried out here as a back-up to those implemented in Stage 2.
Stage 5 or Deployment is the final part of the dApp’s journey, with the full application being deployed to a remote blockchain network and the publishing of the DApp back end so that Cartesi Layer-2 nodes can execute their processes within the Machine.
An Exciting Road Ahead
There is no hiding the excitement: this innovation is likely to change blockchain-based development forever, pushing the entire industry much closer to a large talent pool of developers who were uneasy to transition their skills to new dedicated chain-only languages and processes.
Those keen enough can begin working with Cartesi dApps right now, and are recommended to head over to Cartesi’s main Rollups Github repository and have a look around.
The work done by Cartesi doesn’t stop at just the technical framework, though: partnerships are in the works with a wide range of software companies spanning from diverse areas of the industry such as gaming, Internet Of Things, AI and finance.
Through the above and continued attention to community, partner and user feedback, Cartesi hopes to continue increasing the convenience and solidity of their offering, and in turn further lower the barrier of entry to the world of decentralised development.
There’s a sea of untapped programming potential out there, and the tide seems to be rising quickly.