Cartesi Incubator Spotlight-Infrastructure: Carti

Bringing packaging technology to life on Cartesi

Cartesi Foundation
Cartesi
3 min readFeb 23, 2021

--

Having chosen the three winners of the Cartesi DApp Incubation Program earlier this year, we have been exploring the products behind the winning applications in this blog series. From carbon footprint reduction initiatives to Esports NFT platforms, the winners of this initiative have shown considerable innovation and we are excited to see their plans turn into fully-fledged products, along with mentorship from some of blockchain’s best minds.

The winning projects were offered up to $20,000 in grants and were this week asked to present their efforts so far for the chance to receive a further $20,000 available through a Matching Round made possible with the help of Gitcoin. Having already looked at the team and mechanics behind two other projects, SimThunder and Creol, we will now dive into the third project; Carti, a decentralized package manager that plans to equip developers working on Cartesi with extra firepower.

A Decentralized Package Manager for Cartesi Machines

Package managers have been around for a long time. They enable users to keep track of what software is installed on your computer, and allow them to easily install new software, upgrade software to newer versions, or remove software that they previously installed. As the name hints at, package managers deal with packages which are collections of files that are bundled together and that can be installed and removed as a group. Package managers play an important role in software management, but the power of blockchain technology seemingly knows no bounds and this is yet another use case for the utility of decentralization.

Carti is a decentralized package manager for Cartesi Machines. The project’s creator Zane Starr is building a decentralized alternative to the solutions that have been used for many years; by enabling anyone to store and share components anywhere thanks to no central repository, the developer is given total control of how they want to serve their machine. Carti gives developers a choice about when, how and where they store their package data, meaning the chance to craft the experience that suits their users.

Cartesi CEO Erick de Moura talks with Carti Founder Zane Starr

Carti will ultimately allow for the Cartesi developer community to grow by building on top of each other’s efforts, reusing any work done on porting or building libraries or entire development stacks for Cartesi Machine’s RISC-V Linux environment.

As a tooling infrastructure project dedicated to improving the usability of Cartesi solutions, Carti enables developers to publish and reuse Cartesi assets such as ROM, RAM and flash drives, as well as organizing those assets into full machine configurations in a shareable and discoverable way. Carti’s solution to package management for Cartesi machines utilizes IPLD to form a base for supporting more complex and emerging storage systems, beyond traditional storage locales.

Carti Machine

The Carti machine package is a superset of Cartesi Machine Config; a portable description of a Cartesi Machine that allows users to describe dependencies which can be automatically resolved and shared with other developers. The Carti Machine allows users to describe dependencies and how to resolve them.

All commands pertaining to the machine are prefixed by the Carti machine, which relies on bundle data to add and refer to drives and boot configuration. Drives are added to machine config via Carti machine add; this mechanism looks at global and local bundles to allow the user to select what bundle they’d like to refer to in the configuration.

We are very interested to see the Carti project evolve as it offers yet another valuable alternative to an outdated solution that is still used globally by thousands every day. We look forward to providing Zane and the rest of the Carti team with the support they need to build another innovative product that leverages Cartesi. If you would like to support Carti in their efforts, you can contribute to the Gitcoin Matching Pool round here to show your support for the project.

--

--