MinaProtocol / mina

Mina is a cryptocurrency protocol with a constant size blockchain, improving scaling while maintaining decentralization and security.
https://minaprotocol.com
Apache License 2.0
1.99k stars 529 forks source link

Enable Multi-arch support for Mina Components #12089

Open kaozenn opened 2 years ago

kaozenn commented 2 years ago

Preliminary Checks

Description

Currently, all the docker images available are only built on top of AMD64 architecture.

It leads to some poor performances when simulated on other Architectures if not incompatibility. See: Mina daemon crashes inside mina-rosetta container#11718

Because the base image we are building on offer multi Arch support (linux/386, linux/amd64, linux/arm/v7, linux/arm64/v8, linux/ppc64le, linux/s390x) We could produce a mina-daemon binary that also support multi arch support

This does not mean create new artifacts. The current artifacts produced could support multiple architectures.

This will be very useful for users aiming to run Mina on Mac M1, Rapsberry Pi, or other ARM based platform.

Steps to Reproduce

N/A - This is a new feature.

Expected Result

The Mina Docker Container will run natively on the CPU architecture.

Actual Result

The Mina Docker runs only on AMD64 architecture. The Operating System has to emulates the AMD64 architecture when possible to run the container. If it cannot emulate, it will just fail to run.

How frequently do you see this issue?

Always

What is the impact of this issue on your ability to run a node?

High

Status

N/A

Additional information

No response

shimkiv commented 2 years ago

Hey @kaozenn can you please prioritize this issue by adding corresponding label (low-, medium-, high-). Thank you!