Comment la firmware Coldcard est structurée et pourquoi les développeurs devraient exécuter son émulateur sur PC
Le code source des portefeuille crypto matérie is examined with particular care. A single misstep in the random number generator or a bug in the code can cost millions of dollars. Take a look at the README header in the Coldcard repository: the authors openly warn about a critical entropy vulnerability affecting releases from 2021 through 2026. The developers honestly suggest updating the firmware and regenerating keys.
Cette transparence est rendue possible par l'architecture ouverte. Le firmware Coldcard est disponible pour tous, et vous pouvez construire son binaire byte-for-byte directement sur votre propre ordinateur portable.

Ce qu'il y a dans le dépôt
Le projet combine des logiciels pour plusieurs générations de portefeuille : les séries Mk3, Mk4, Mk5, et le fleuron Q1 avec un clavier complet. La pile principale inclut MicroPython pour la logique de haut niveau et C pour les opérations de bas niveau sur la puce STM32.

Le code est distribué dans des répertoires de manière assez logique :
sharedstocke la logique Python partagée pour l'émulateur et les appareils.stm32contient le firmware, les bootloaders et les makefiles pour construire le binaire final du microcontrôleur.unixinclut le code source de l'émulateur pour macOS et Linux.hardwarecontient les schémas et les spécifications des composants.
Il est rare de trouver logiciel, émulateur et schémas matériels au même endroit. Pour ceux qui s'intéressent au développement embarqué avec Python, c'est un excellent matériel d'étude.
Solutions techniques intéressantes
Builds reproductibles via Docker
L'un des critères principaux pour faire confiance à un matériel sécurisé est la certitude que le fichier compilé correspond au code source sur GitHub. L'équipe Coldcard a automatisé ce processus. Le build s'exécute via Docker avec une seule commande :
git clone https://github.com/Coldcard/firmware.git
cd firmware
git checkout 2026-03-05T2052-v5.5.0
cd stm32
make -f MK4-Makefile repro
Le script compile le code dans un environnement isolé et compare le fichier résultant avec la version officielle. Si les fichiers correspondent byte-for-byte, le processus réussit.
Émulateur complet sans matériel physique
Vous n'aurez pas besoin d'acheter un appareil à plusieurs centaines d'euros juste pour étudier le code. Le répertoire unix contient un émulateur basé sur SDL2 et MicroPython. Il recrée l'écran, les boutons et le système de fichiers SD virtuel.
Lancer le simulateur sur Linux ou macOS ne prend que quelques étapes :
git clone --recursive https://github.com/Coldcard/firmware.git
cd firmware
python3 -m venv ENV
source ENV/bin/activate
pip install -r requirements.txt
cd unix
make setup && make ngu-setup && make
./simulator.py
Après le lancement, une fenêtre avec l'interface du portefeuille apparaîtra à l'écran. Vous pouvez interagir avec via le clavier ou la souris, tester vos propres scripts et vérifier le traitement des PSBT (Partially Signed Bitcoin Transactions).
Deux branches pour différentes finalités
L'équipe maintient deux branches principales dans Git :
mastercontient le code testé pour les appareils Mk4, Mk5 et Q1 actuels.edgesert de terrain d'expérimentation. Des fonctionnalités comme le support Taproot ou Miniscript finissent ici avant d'apparaître dans la version principale. Les exigences de qualité du code dansedgesont moindres, donc les changements y avancent plus vite.
Qui trouvera ce dépôt utile
Le projet est intéressant bien au-delà des seuls passionnés de Bitcoin. Les développeurs de systèmes embarqués bénéficieront de l'expérience de combiner MicroPython avec C sur les microcontrôleurs STM32. Les spécialistes de la sécurité y trouveront un exemple clair d'implémentation de build reproductible.
Exécuter un émulateur local vous aide à comprendre comment fonctionne la signature des transactions sur les appareils air-gapped sans dépenser d'argent supplémentaire.
Projets similaires