# \[RFP #004\] Distribution channels for the Cartesi Machine Emulator binaries

**URL:** <https://governance.cartesi.io/t/rfp-004-distribution-channels-for-the-cartesi-machine-emulator-binaries/87>\
**Category:** Old & Archived RFPs\
**Created:** [March 31, 2023, 3:22pm UTC](https://governance.cartesi.io/t/rfp-004-distribution-channels-for-the-cartesi-machine-emulator-binaries/87 "2023-03-31T15:22:08Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![tuler](https://dub1.discourse-cdn.com/flex005/user_avatar/governance.cartesi.io/tuler/32/30_2.png) [@tuler](https://governance.cartesi.io/u/tuler)\
**Post date:** [March 31, 2023, 3:22pm UTC](https://governance.cartesi.io/t/rfp-004-distribution-channels-for-the-cartesi-machine-emulator-binaries/87/1 "2023-03-31T15:22:08Z")

</div>

Distribution channels for the Cartesi Machine Emulator binaries

## Introduction

The [Cartesi Machine Emulator](https://github.com/cartesi/machine-emulator) is at the core of the Cartesi technology stack. It is used in the Cartesi Rollups framework, while running a validator node for a DApp, but it’s also used as tooling during the development of a Cartesi DApp.

The emulator binary is currently officially distributed as a docker image, available at [cartesi/machine-emulator - Docker Image](https://hub.docker.com/r/cartesi/machine-emulator) only for linux/amd64. While that may be sufficient for node execution it’s not the most convenient for tooling.

The goal of this project is to build a distribution strategy of binaries for the two main development platforms: Linux and macOS, and the two main architectures: amd64 and arm64. Windows developers are encouraged to use [WSL](https://learn.microsoft.com/en-us/windows/wsl/install), so they can use the binaries available for Linux.

## Scope of Work

The machine emulator source code, publicly available at [GitHub - cartesi/machine-emulator: The off-chain implementation of the Cartesi Machine](https://github.com/cartesi/machine-emulator), provides a Makefile and build instructions for two platforms, Linux (Ubuntu 22.04) and macOS. The scope of this work is to build an automated process for building, packaging, signing and distributing emulator binaries for those two platforms and architectures mentioned above, and as many Linux distributions as possible.

### Linux

Linux has a vast ecosystem, comprising several different distributions, and different alternatives for binary release channels. We currently only build for Ubuntu 22.04 and Alpine 3.17 as a linux/amd64 Docker image, but it’s important to expand that scenario. The two main distribution formats are .deb and .rpm, and there are several initiatives that try to facilitate the packaging and distribution, like [fpm](https://fpm.readthedocs.io/en/v1.15.1/), [appimage](https://appimage.org/), [flatpack](https://flatpak.org/), [snaps](https://ubuntu.com/core/services/guide/snaps-intro) and [homebrew](https://brew.sh/).

### macOS

macOS has a few alternatives for distribution channels, including the official macOS App Store, a standalone .dmg package, and popular alternatives like [homebrew](https://brew.sh/) and [macports](https://www.macports.org/), the latter two being more appropriate for command line tools, like the cartesi machine-emulator.

### Windows

Windows developers are encouraged to use [WSL](https://learn.microsoft.com/en-us/windows/wsl/install), so they can use the emulator binary of the Linux distribution they choose and its associated distribution channel.

## Deliverables

1. An automated build process of the machine-emulator binary artifact for Linux and macOS, and two architectures, amd64 and arm64;
2. An automated packaging and release process for any distribution channel on the platforms mentioned before;
3. Entire codebase on a permissive open-source license;
4. Readme file explaining the project.

## Technical Requirements

1. The build automation process must run using GitHub actions;
2. The automation code and procedures must be properly documented.

## Evaluation Criteria

1. Adherence to Cartesi’s technical requirements;
2. Quality and completeness of the proposal and documentation;
3. A proposal can partially fulfill the scope of work of this RFP, i.e. only for homebrew distribution, or only for .deb package.

## Submission Requirements

1. A detailed description of the proposal;
2. Overview of the team and their relevant experience and expertise;
3. Timeline for the development and delivery;
4. Cost estimate and budget breakdown;

## Bidding instructions

Interested teams should confirm the intention to submit a proposal and express their needs to the Cartesi Foundation.

The Cartesi Foundation is happy to help address any questions, share helpful resources, or advise on formulating the team’s proposal.

We are excited to see your proposals and work together towards the growth of the Cartesi ecosystem!

---

<div class="post-metadata">

**Author:** ![hellen](https://dub1.discourse-cdn.com/flex005/user_avatar/governance.cartesi.io/hellen/32/159_2.png) [@hellen](https://governance.cartesi.io/u/hellen)\
**Post date:** [May 9, 2024, 5:12am UTC](https://governance.cartesi.io/t/rfp-004-distribution-channels-for-the-cartesi-machine-emulator-binaries/87/2 "2024-05-09T05:12:04Z")

</div>

UPDATE: At the moment, the Grants Council is no longer pursuing proposal submissions for this RFP. In the meantime, teams and contributors can apply to receive a grant through any of the four areas of focus for Wave 1. Learn more about Wave 1 [here.](https://app.charmverse.io/cartesi-grants-program/cartesi-grants-program-30627419508637854)

---

<div class="post-metadata">

**Author:** ![milton-cartesi](https://avatars.discourse-cdn.com/v4/letter/m/9f8e36/32.png) [@milton-cartesi](https://governance.cartesi.io/u/milton-cartesi)\
**Post date:** [May 10, 2024, 4:42pm UTC](https://governance.cartesi.io/t/rfp-004-distribution-channels-for-the-cartesi-machine-emulator-binaries/87/3 "2024-05-10T16:42:03Z")

</div>

The Machine Reference Unit has announced that they are implementing a number of distribution channels, including macports, homebrew and some others. They recommend that additional contributions to this effort be made on top of their work, which is currently in progress.

---

<div class="post-metadata">

**Author:** ![hellen](https://dub1.discourse-cdn.com/flex005/user_avatar/governance.cartesi.io/hellen/32/159_2.png) [@hellen](https://governance.cartesi.io/u/hellen)\
**Post date:** [October 15, 2024, 4:27am UTC](https://governance.cartesi.io/t/rfp-004-distribution-channels-for-the-cartesi-machine-emulator-binaries/87/4 "2024-10-15T04:27:22Z")

</div>


