Recursos para desarrolladores

Si quieres integrar BitBox02 en tu proyecto o contribuir al código base, encontrarás los recursos necesarios más abajo.

Arquitectura

La billetera dehardware BitBox02 es un dispositivo USB que almacena de forma segura claves criptográficas (como claves privadas de bitcoin) y firma transacciones/mensajes con esa clave. La firma con la clave requiere una interacción física con el dispositivo (es decir, no es posible la firma automática o remota). La BitBoxApp es la aplicación nativa que se comunica con la BitBox02. Sin embargo la BitBox02 puede integrarse con varias aplicaciones de terceros. Puede comunicarse con aplicaciones ejecutadas en un navegador (o extensiones de navegador) usando WebHID o usando el BitBoxBridge. La BitBox02 también puede comunicarse con billeteras bitcoin de terceros usando el Bitcoin Hardware Wallet Interface (HWI).

BitBox02 architecture diagram

Los principales componentes de la BitBox02 son:

Pantalla OLED: muestra información importante al usuario. Como los detalles de la transacción de bitcoin o una clave privada.

Conector de tarjeta microSD: utilizado para realizar copias de seguridad de claves privadas en una tarjeta microSD.

Touch sensores: Se utiliza para interactuar con el dispositivo. La interacción con el dispositivo es necesaria para tareas importantes, como firmar una transacción de bitcoin.

Chip de seguridad (ATECC608B): aumenta la seguridad de la contraseña del usuario combinándola con una clave almacenada en el chip seguro. Además, controla el número de derivaciones de clave a través de un contador monótono gestionado por el chip seguro.

Microcontrolador (ATSAMD51J20A): ejecuta el firmware de código abierto de la BitBox02 y se comunica con los demás componentes de inicio.

GitHub

Principales repositorios de código

Nuestro código fuente abierto está alojado en Github. Allí puedes encontrar nuestros tres repositorios principales:

Firmware BitBox02

El código que se ejecuta en la BitBox02. Escrito en C y Rust.

BitBoxApp

Aplicación nativa de escritorio/móvil para la BitBox02. Escrita con un backend Go y un frontend TypeScript/JavaScript.

BitBoxBridge

Aplicación que permite a la BitBox02 comunicarse con billeteras web. Escrita en Rust.

Bibliotecas

Integración nativa

Si quieres integrar la BitBox02 en tu cliente nativo de escritorio/móvil, consulta nuestras librerías Golang y Python:

Go logo

Rust

For Rust projects, please check out our Rust library:

Rust logo

Python

La BitBox02 también soporta HWI, que es una librería python y una herramienta de línea de comandos para interactuar con billeteras hardware.

Python logo

Integración de la billetera web

Si quieres integrar la BitBox02 en una billetera web, consulta nuestras librerías JS/NPM:

API playground:

JavaScript logo

Ejemplos de integración

He aquí algunos ejemplos de integraciones anteriores con billeteras web.

Rabby

Billetera de extensión del navegador (fork de MetaMask) que te permite conectarte a Dapps basadas en Ethereum.

Rabby Logo

Contribuye

Las contribuciones individuales al código base también son bienvenidas. Si deseas contribuir al código base de BitBox, lee nuestras directrices de contribución.

BitBox02 logo
BitBox02 welcome screen

Obtén una BitBox02 para desarrolladores

Tanto si vas a integrar BitBox02 en tu billetera como si vas a hacer una contribución, puede ser útil disponer de una versión para desarrolladores de la BitBox02 para realizar pruebas.

La versión para desarrolladores de la BitBox02 puede cargar firmware sin firmar, lo que es particularmente útil si planeas hacer modificaciones en el firmware para poder probar tus cambios.

Si deseas una, ponte en contacto con nosotros support@bitbox.swiss

Sigue leyendo