일상

카드퓨터 비트코인 하드월렛 빌드하기 - 내 것에 맞게 수정하기

복제고양이 2025. 9. 14. 13:21
300x250

github.com/geo-tp/Bitcoin-Card-Wallet

 

GitHub - geo-tp/Bitcoin-Card-Wallet: Bitcoin cold wallet designed for esp32. Manage wallets, create, restore, sign transactions

Bitcoin cold wallet designed for esp32. Manage wallets, create, restore, sign transactions - geo-tp/Bitcoin-Card-Wallet

github.com

 

 

 

이전에는 카드퓨터에서 비트코인 하드웨어 월렛을 사용할 수 있게 만든 bin  파일을 설치해서 사용했다.

잘 작동되는것을 확인 후 위의 오픈소스를 이용해 내가 직접 빌드하러고 한다.

 

 

 

 

직접 빌드하기

 

 

 제작자가 말한대로 star를 주고 소스를 포크했다.

 

 

dskim9752/Bitcoin-Card-Wallet: Bitcoin cold wallet designed for esp32. Manage wallets, create, restore, sign transactions

 

GitHub - dskim9752/Bitcoin-Card-Wallet: Bitcoin cold wallet designed for esp32. Manage wallets, create, restore, sign transactio

Bitcoin cold wallet designed for esp32. Manage wallets, create, restore, sign transactions - dskim9752/Bitcoin-Card-Wallet

github.com

 

 

 소스를 받고 vscode에서 platformio 확장을 설치 후 빌드를 시도했으나 실패했다.

 

lib폴더에 필요한 라이브러리가 2개 비어있었다. 

 

2개는 submodule이라 직접 git submodule update를 했는대도 받아지는게 없어서

내가 다시 submodule을 추가했다.

https://github.com/diybitcoinhardware/secp256k1-embedded.git

 

GitHub - diybitcoinhardware/secp256k1-embedded: secp256k1 library by Bitcoin Core adapted for use with Arduino, ARM Mbed and Mic

secp256k1 library by Bitcoin Core adapted for use with Arduino, ARM Mbed and MicroPython - diybitcoinhardware/secp256k1-embedded

github.com

https://github.com/diybitcoinhardware/libwally-embedded.git

 

GitHub - diybitcoinhardware/libwally-embedded: libwally-core library by Blockstream adapted for use with Arduino and ARM Mbed

libwally-core library by Blockstream adapted for use with Arduino and ARM Mbed - diybitcoinhardware/libwally-embedded

github.com

 

git submodule add https://github.com/diybitcoinhardware/libwally-embedded.git lib/libwally-embedded

git submodule add https://github.com/diybitcoinhardware/secp256k1-embedded.git lib/secp256k1-embedded

 

이후 소스트리로 수동으로 업데이트하니 제대로 받아졌다.

 

 

 

 

그래도 빌드가 실패했다. recursive 옵션을 주었는데 libwally 안의 libwally-core submodule이 받아지지 않았다.

결국 경로에 직접 들어가 수동으로 업데이트하니 받아졌다.

 

 

그래도 빌드가 실패했다.

이건 진짜 모르겠어서 ai한테 물어보니 빌드 환경이 달라져서 lib_ldf_mode를 deep+로 수정하라고 한다.

그리고 기존 build_flags의 내용중 위의 서브모듈 경로를 지우라고 한다. 그러면 자동으로 필요한 것들을 잡고 빌드한다고 한다.

결국 platformio.ini를 수정했다.

빌드 성공

 

 

 

소스 수정

원본 펌웨어는 니모닉 입력 후 패스프레이즈를 입력할때 같은 문장을 2번 입력해야한다.

마치 비밀번호를 새로 등록할때와 같다. 

이게 굳이 필요할까 싶기도 하고 불편하기도 해서 해당 기능을 제거하고 빌드했다.

이제 패스프레이즈는 한번만 입력해도 동작한다. 

 

 

 

 

반응형