>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Python

Como a Firmware da Coldcard É Estruturada e Por Que Desenvolvedores Devem Executar Seu Emulador no PC

O código-fonte de carteiras de hardware para criptomoedas é analisado com cuidado especial. Um único erro no gerador de números aleatórios ou um bug no código pode custar milhões de dólares. Dê uma olhada no cabeçalho do README no repositório da Coldcard: os autores alertam abertamente sobre uma vulnerabilidade crítica de entropia que afeta lançamentos de 2021 até 2026. Os desenvolvedores sugerem honestamente atualizar o firmware e regenerar as chaves.

Essa transparência é possível graças à arquitetura aberta. O firmware da Coldcard está disponível para todos, e você pode compilar seu binário byte-a-byte diretamente no seu próprio laptop.

coldcard logo

O Que Está Dentro do Repositório

O projeto combina software para várias gerações de carteiras: as séries Mk3, Mk4, Mk5 e a flagship Q1 com teclado completo. A stack principal inclui MicroPython para lógica de alto nível e C para operações de baixo nível no chip STM32.

Mk5 coldcard picture front

O código é distribuído entre diretórios de forma bastante lógica:

  • shared armazena a lógica Python compartilhada para o emulador e dispositivos.
  • stm32 contém o firmware, bootloaders e makefiles para compilar o binário final do microcontrolador.
  • unix inclui o código-fonte do emulador para macOS e Linux.
  • hardware contém esquemáticos e especificações de componentes.

É raro encontrar software, um emulador e esquemáticos de hardware todos em um só lugar. Para quem tem interesse em desenvolvimento embarcado com Python, este é um excelente material de estudo.

Soluções Técnicas Interessantes

Builds Reproduzíveis via Docker

Um dos principais critérios para confiar em hardware seguro é a confiança de que o arquivo compilado corresponde ao código-fonte no GitHub. A equipe da Coldcard automatizou esse processo. O build é executado via Docker com um único comando:

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

O script compila o código em um ambiente isolado e compara o arquivo resultante com o lançamento oficial. Se os arquivos corresponderem byte-a-byte, o processo é bem-sucedido.

Emulador Completo Sem Hardware Físico

Você não precisará comprar um dispositivo por algumas centenas de dólares apenas para estudar o código. A pasta unix contém um emulador baseado em SDL2 e MicroPython. Ele recria a tela, botões e sistema de arquivos de SD virtual.

Executar o simulador no Linux ou macOS leva apenas alguns passos:

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

Após o lançamento, uma janela com a interface da carteira aparecerá na tela. Você pode interagir com ela usando o teclado ou mouse, testar seus próprios scripts e verificar o tratamento de PSBT (Partially Signed Bitcoin Transactions).

Duas Branches para Diferentes Propósitos

A equipe mantém duas branches principais no Git:

  • master contém código testado para dispositivos Mk4, Mk5 e Q1 atuais.
  • edge serve como campo de testes para experimentos. Recursos como suporte a Taproot ou Miniscript aparecem aqui antes de serem incluídos no lançamento principal. Os requisitos de qualidade de código em edge são menores, então as mudanças lá avançam mais rápido.

Quem Vai Encontrar Este Repositório Útil

O projeto é interessante bem além de apenas entusiastas de Bitcoin. Desenvolvedores de sistemas embarcados se beneficiarão da experiência de combinar MicroPython com C em microcontroladores STM32. Especialistas em segurança encontrarão aqui um exemplo claro de implementação de build reproduzível.

Executar um emulador local ajuda você a entender como a assinatura de transações funciona em dispositivos air-gapped sem gastar dinheiro extra.

Projetos relacionados