Sources
Tout ce que ce guide installe, d’où ça vient et sous quelle licence. Vérifiez ici l’identifiant d’un commit avant de compiler.
Le code utilisé par ce guide
| Quoi | Version | Licence |
|---|---|---|
| Modifications DIY du firmware ClassicFirmware 3.12.0 : la branche emulator de OneKey, plus un commit de modifications DIY | 287341b8338d | GPL v3 et LGPL v3 |
| Firmware OneKey Classic 1SLa branche emulator sur laquelle reposent les modifications DIY | ee01f0114fd1 | GPL v3 et LGPL v3 |
| Application OneKeyVersion v6.6.3, plus la modification d’une ligne du commit DIY | d510ab79e622 | OneKey Standard Source License 1.1 |
| Firmware TrezorLe firmware Classic de OneKey en est dérivé | GPL v3 et LGPL v3 |
Le code source de l’application OneKey est publié sous la licence propre de OneKey, et non sous une licence open source.
Comment ce guide a été vérifié
Vérifié le 25 octobre 2026, sur un ordinateur Linux (x86-64) :
- Les commandes de l’étape 4, suivies mot pour mot dans un dossier vide, téléchargent et compilent le firmware. Les deux versions (toutes les cryptomonnaies, et Bitcoin uniquement) se compilent avec l’interface de débogage désactivée, et la version pour l’écran n’a besoin d’aucune bibliothèque graphique de bureau.
- Deux nouveaux portefeuilles créés avec la version DIY ont reçu des phrases de récupération différentes. L’émulateur non modifié a créé la même phrase les deux fois.
- Quand le générateur matériel de nombres aléatoires est remplacé par une source bloquée, les tests de santé arrêtent le portefeuille. Un générateur absent, ou le générateur logiciel de Linux mis à sa place, sont tous deux refusés.
- La version DIY n’accepte que les connexions venant du même ordinateur, et son port de débogage ne répond rien. L’émulateur non modifié accepte les connexions venant de n’importe quel réseau.
- Le code de l’écran et des boutons fonctionne de bout en bout avec un écran et des touches simulés : les menus s’affichent correctement et le joystick permet de parcourir la création du portefeuille.
- Le relais USB a transmis une requête du protocole de l’application jusqu’au portefeuille, puis sa réponse en retour, sans les modifier.
- La modification de l’application s’applique proprement à la version v6.6.3 de l’application OneKey, et l’application modifiée se compile sous Linux avec les commandes de l’étape 6, puis s’ouvre. La compilation a demandé plus de 7 Go de mémoire.
- La version écran se compile aussi avec la version de compilateur qu’utilise Raspberry Pi OS sur le Pi (GCC 14 pour ARM64), et ce programme ARM64 fonctionne correctement dans un émulateur ARM, avec un écran et des touches simulés : menus, joystick et les trois touches.
- Le relais USB continue de fonctionner quand le portefeuille redémarre en pleine session.
- La vérification des nombres aléatoires, sur un Pi simulé : elle accepte le réglage Broadcom du générateur, rétablit un réglage modifié et refuse tout autre générateur. Son test statistique valide une bonne source et rejette une source bloquée ou biaisée.
Pas encore vérifié avec les vraies pièces :
- La compilation sur un Raspberry Pi Zero 2 W, et le temps qu’elle prend.
- Le sens dans lequel l’image apparaît sur l’écran Waveshare.
- La détection du portefeuille par l’application, via USB, sous macOS et Linux.
- L’empaquetage de l’application sous macOS.
- Si le générateur de nombres aléatoires du Pi réussit les tests de santé sur la durée. Ils supposent au moins 4 bits imprévisibles sur 8 ; un générateur plus faible ferait s’arrêter le portefeuille.
- Le réglage du générateur que laisse le firmware de démarrage d’un Pi Zero 2 W, et le fait que la vérification puisse le lire sur le Raspberry Pi OS actuel. Si elle n’y arrive pas, le portefeuille ne démarre pas, ce qui est le résultat sûr.