arcbtc / bowser-bitcoin-hardware-wallet Goto Github PK
View Code? Open in Web Editor NEWESP32 Hardware Wallet
License: MIT License
ESP32 Hardware Wallet
License: MIT License
It would be fun to see how much battery you have left.
Also i saw there are some other batteries that you can attached.
Still a bit confused how better is this one(https://m5stack.com/products/battery-module) than the one that comes with the grey m5.
Hello Ben, when I uploaded the new version for the first time, I entered the pin directly after pressing the wallet button, although no wallet had yet been created. Of course, the pin entry failed because I didn't have a wallet yet. I have flashed the device several times, always with the same result. Then I tried to do a hard reset with a text file on a micro SD card and then the message "Wallet not found" came up. I then flashed the old version and it worked. I created a wallet, set a pin and carried out a test transaction and brought the software up to date. Everything works fine now. Wanted to share my experience. Thank you for this great project Ben!
The pin to unlock the device is used as the BIP38 passphrase to encrypt the private key. This could lead to unexpected results when the user tries to restore their mnemonic from another device. If the user forgets their pin, it could lead to loss of funds. For users used to hardware wallets such as Ledger or Trezor, this is not intuitive, as they would assume a forgotten pin will still allow them to restore from their mnemonic.
My suggestion is to store the private key rather than the mnemonic. Then it's possible to allow the user to set an optional BIP38 passphrase, that can be backup up offline along with the mnemonic.
The wallet should display the splash screen after the pin has been entered
Hardware wallets are meant to protect the user even against compromised companion apps. If the user has on his PC a compromised Electrum, that Electrum might show a benign transaction but ask an "all funds to the hacker" transaction to be signed by "coldcard". By just writing out the serialization, the user has no way of judging if the transaction is ok or not.
Please show amount, recipient and which derivation the change goes to.
Hello, I've followed all instructions to install the wallet but receive the below error msg at compile time:
/home/trenaz/bowser-bitcoin-hardware-wallet/bowser/bowser.ino:423:11: warning: integer constant is too large for its type
delay(99999999999999999999999);
^
/home/trenaz/bowser-bitcoin-hardware-wallet/bowser/bowser.ino: In function 'void seedChecker()':
/home/trenaz/bowser-bitcoin-hardware-wallet/bowser/bowser.ino:423:34: warning: large integer implicitly truncated to unsigned type [-Woverflow]
delay(99999999999999999999999);
^
At global scope:
cc1plus: warning: unrecognized command line option '-Wno-frame-address'
In file included from /home/trenaz/Arduino/libraries/M5Stack/src/M5Display.cpp:198:0:
/home/trenaz/.arduino15/packages/esp32/hardware/esp32/2.0.0-alpha1/tools/sdk/esp32/include/esp32/include/rom/tjpgd.h:1:2: warning: #warning rom/tjpgd.h is deprecated, please use esp32/rom/tjpgd.h instead [-Wcpp]
#warning rom/tjpgd.h is deprecated, please use esp32/rom/tjpgd.h instead
^
cc1plus: warning: unrecognized command line option '-Wno-frame-address'
In file included from /home/trenaz/Arduino/libraries/M5Stack/src/utility/pngle.c:31:0:
/home/trenaz/.arduino15/packages/esp32/hardware/esp32/2.0.0-alpha1/tools/sdk/esp32/include/esp32/include/rom/miniz.h:1:2: warning: #warning rom/miniz.h is deprecated, please use esp32/rom/miniz.h instead [-Wcpp]
#warning rom/miniz.h is deprecated, please use esp32/rom/miniz.h instead
^
cc1: warning: unrecognized command line option '-Wno-frame-address'
In file included from /home/trenaz/Arduino/libraries/M5Stack/src/utility/Power.cpp:10:0:
/home/trenaz/.arduino15/packages/esp32/hardware/esp32/2.0.0-alpha1/tools/sdk/esp32/include/esp32/include/rom/rtc.h:1:2: warning: #warning rom/rtc.h is deprecated, please use esp32/rom/rtc.h instead [-Wcpp]
#warning rom/rtc.h is deprecated, please use esp32/rom/rtc.h instead
^
cc1plus: warning: unrecognized command line option '-Wno-frame-address'
/home/trenaz/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld: cannot find crt1-sim.o: No such file or directory
/home/trenaz/.arduino15/packages/esp32/tools/xtensa-esp32-elf-gcc/1.22.0-97-gc752ad5-5.2.0/bin/../lib/gcc/xtensa-esp32-elf/5.2.0/../../../../xtensa-esp32-elf/bin/ld: cannot find _vectors.o: No such file or directory
/home/trenaz/.arduino15/packages/esp32/hardware/esp32/2.0.0-alpha1/tools/sdk/esp32/lib/libwpa_supplicant.a(sha256.c.obj): In function
hmac_sha256':
/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/build/../esp-idf/components/wpa_supplicant/src/crypto/sha256.c:122: multiple definition of hmac_sha256'
libraries/uBitcoin/utility/trezor/hmac.c.o:/home/trenaz/Arduino/libraries/uBitcoin/src/utility/trezor/hmac.c:67: first defined here
collect2: error: ld returned 1 exit status
Multiple libraries were found for "Electrum.h"
Used: /home/trenaz/Arduino/libraries/uBitcoin
Not used: /home/trenaz/Arduino/libraries/uBitcoin-0.1.1
Multiple libraries were found for "WiFiClient.h"
Used: /home/trenaz/.arduino15/packages/esp32/hardware/esp32/2.0.0-alpha1/libraries/WiFi
Not used: /home/trenaz/Downloads/arduino-1.8.13/libraries/WiFi
Multiple libraries were found for "SD.h"
Used: /home/trenaz/.arduino15/packages/esp32/hardware/esp32/2.0.0-alpha1/libraries/SD
Not used: /home/trenaz/Downloads/arduino-1.8.13/libraries/SD
exit status 1
Error compiling for board M5Stack-Core-ESP32.
When I try to restore the wallet from its 24 seed words in any other wallet it returns that the seed words are invalid. My coins are stuck.
Edit: To be specific, some wallets report an INVALID CHECKSUM
Hi Ben, loved your project and been experimenting with it :)
Wanted to ask about the grey M5Stack version that is recommended. Is this because of the 9-axis sensors?
Are they used for entropy? I remember that Stepan mentioned that the Specter DIY random number generator collects entropy from users interaction with the STM board - so I was wondering if this is the case for the recommendation of the grey m5.
Thanks!
When I open the electrumwallettemplate.json in Electrum, I am unable to see or send my coins.
Add two button press or combo of buttons to enter wallet from Tetris
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.