Ressources développeurs

Si vous souhaitez intégrer le BitBox02 dans votre projet ou contribuer au code, veuillez trouver les ressources nécessaires ci-dessous.

Architecture

Le portefeuille matériel BitBox02 est un appareil USB qui stocke en toute sécurité des clés cryptographiques (comme les clés privées bitcoin) et signe des transactions/messages avec cette clé. Signer avec la clé nécessite une interaction physique avec l'appareil (c'est-à-dire pas de signature automatique ou à distance possible). La BitBoxApp est l'application native qui communique avec le BitBox02. Cependant, le BitBox02 peut s'intégrer à diverses applications tierces. Il peut communiquer avec des applications s'exécutant dans un navigateur (ou des extensions de navigateur) en utilisant WebHID ou le BitBoxBridge. Le BitBox02 peut également communiquer avec des portefeuilles bitcoin tiers en utilisant l'interface Bitcoin Hardware Wallet Interface (HWI).

BitBox02 architecture diagram

Les principaux composants du BitBox02 sont :

Écran OLED: affiche des informations importantes à l'utilisateur. Comme les détails d'une transaction bitcoin ou une clé privée.

Connecteur carte microSD: utilisé pour sauvegarder les clés privées sur une carte microSD.

Capteurs tactiles: Utilisés pour interagir avec l'appareil. L'interaction avec l'appareil est requise pour les tâches importantes, comme la signature d'une transaction bitcoin.

Puce sécurisée (ATECC608B): renforce le mot de passe choisi par l'utilisateur en le combinant avec une clé stockée sur la puce sécurisée. Limite également le nombre de dérivations de clés en utilisant un compteur monotone imposé par la puce sécurisée.

Microcontrôleur (ATSAMD51J20A): exécute le firmware open source du BitBox02 et communique avec les autres composants intégrés.

GitHub

Principaux dépôts de code

Notre code open source est hébergé sur Github. Vous y trouverez nos trois principaux dépôts :

Firmware BitBox02

Le code qui s'exécute sur le portefeuille matériel BitBox02. Écrit en C et Rust.

BitBoxApp

Application de bureau/mobile native pour le BitBox02. Écrite avec un backend Go et un frontend TypeScript/JavaScript.

BitBoxBridge

Application qui permet au BitBox02 de communiquer avec les portefeuilles web. Écrite en Rust.

Bibliothèques

Intégration native

Si vous souhaitez intégrer le BitBox02 dans votre client de bureau/mobile natif, veuillez consulter nos bibliothèques Rust, Python et Go :

Go logo

Rust

Pour les projets Rust, veuillez consulter notre bibliothèque Rust :

Rust logo

Python

Le BitBox02 prend également en charge HWI, qui est une bibliothèque Python et un outil en ligne de commande pour interagir avec les portefeuilles matériels.

Python logo

Intégration de portefeuille web

Si vous souhaitez intégrer le BitBox02 dans un portefeuille web, veuillez consulter notre bibliothèque TypeScript NPM :

API playground:

JavaScript logo

Exemples d'intégrations

Voici quelques exemples d'intégrations précédentes avec des portefeuilles web.

Rabby

Extension de navigateur de portefeuille (fork MetaMask) qui vous permet de vous connecter aux Dapps basées sur Ethereum

Rabby Logo

Contribuer

Les contributions individuelles au code sont également les bienvenues. Si vous souhaitez contribuer au code BitBox, veuillez lire nos directives de contribution

BitBox02 logo
BitBox02 welcome screen

Obtenir un BitBox02 développeur

Que vous intégriez le BitBox02 dans votre portefeuille ou fassiez une contribution, il peut être utile d'avoir une version développeur du BitBox02 pour les tests.

La version développeur du BitBox02 peut charger un firmware non signé, ce qui est particulièrement utile si vous prévoyez de faire des modifications au firmware afin de pouvoir tester vos changements.

Si vous en souhaitez un, veuillez nous contacter.

Lire la suite