cartenix
A Proof of concept allowing you to run Nix builds inside the Cartesi virtual machine leveraging the Nix reproducible build system
Screenshots




Problem Statement
This proof of concept allows you to run Nix build inside the Cartesi virtual machine.We built Nix tools for riscv64 and installed them on thecartesi/python:3.10-slim-jammyimage in order to create a reproducible build of a generic software given his depencencies. At the moment the docker image depends on a specific package that we are going to build (GNU hello).Since we don't have internet access inside the Cartesi VM we need to provide all the (transitive) dependencies sources, using the nix terminology, we need to provide all the fixed output derivations from the target derivation closure.
Solution
This project used Cartesi VM and Nix Package system to leverage reproducible build in a deterministic fashion environment.We extended the riscv64 cartesi/python:3.10-slim-jammy docker image installing Nix, starting from scratch compiling a brand new riscv64 Nix package, on it, and defining a way to build a generic software in a way that is reproducible providing all the fixed output derivations from the target derivation closure.
Hackathon
ETHGlobal Lisbon
2024
Prizes
- 🏆
🥇 Cartesi — Best Use
Contributors
- miltonjonat
184 contributions
- tuler
112 contributions
- marcelstanley
35 contributions
- torives
23 contributions
- gligneul
19 contributions
- endersonmaia
18 contributions
- fmoura
5 contributions
- vfusco
4 contributions
- souzavinny
4 contributions
- claudioantonio
1 contributions
- gbarros
1 contributions
- GCdePaula
1 contributions
- guidanoli
1 contributions
- VictorNogueiraRio
1 contributions