【CTO Tech Blog】Blockstream JadeをDIYしてみた
- CTO Tech blog

Blockstream JadeはBlockstreamが提供しているハードウェアウォレット。Githubのリポジトリを見てみると、DIY用のガイドがあったので、M5Stack Basicにセットアップしてみた。
環境構築
README.mdに書かれてる内容に従って、ESP32の開発環境であるesp-idfをセットアップする(実行環境はUbuntu 24.04 LTS)↓
$ mkdir ~/esp $ cd ~/esp $ git clone -b v5.4 --recursive https://github.com/espressif/esp-idf.git $ cd ~/esp/esp-idf $ git checkout 67c1de1eebe095d554d281952fde63c16ee2dca0 $ ./install.sh --enable-gdbgui esp32 esp32s3 $ python ~/esp/esp-idf/tools/idf_tools.py install qemu-xtensa
そして、環境変数の設定する↓
$ . $HOME/esp/esp-idf/export.sh
ファームウェアのビルドにCMakeとninjaが必要みたいなので、入ってなければいれておく↓
$ sudo apt install cmake ninja-build
また、シリアルポートを使ってファームウェアをロードする権限が必要で、その権限のグループに属しているか確認する。M5Stackをつないで↓を確認すると、
$ ls -l /dev/ttyACM0 crw-rw---- 1 root dialout 166, 0 3月 21 17:55 /dev/ttyACM0
dialout
グループに入ってれば良さそうなので、groups
コマンドで自分がメンバーが確認する。入ってなければグループに追加(要再ログイン)↓
$ sudo usermod -aG dialout $USER
ファームウェアのビルド
続いて、Jadeのコードをチェックアウトしてファームウェアをビルドする。
$ git clone --recursive https://github.com/Blockstream/Jade.git $HOME/jade $ cd $HOME/jade $ git submodule update --init --recursive
リポジトリをcloneしたら、configs
ディレクトリがあるので、そこから手持ちのデバイスに適合する設定をコピーする。自分の場合は、M5Stack Basicだったので、sdkconfig_display_m5blackgray.defaults
を選択↓
$ cp configs/sdkconfig_display_m5blackgray.defaults sdkconfig.defaults
準備ができたのでファームウェアをビルドしてデバイスにフラッシュする↓
$ idf.py flash
完了するとセットアップができるようになる↓
受信用のアドレスを作ったりトランザクションをブロードキャストするためには連携するアプリが必要でJadeが対応してるのは↓
https://help.blockstream.com/hc/en-us/articles/9601453403801-Download-a-companion-app-for-Jade
セットアップの最後で、USB or Bluetoothでアプリとの連携を求められるので、Blockstream Greenと連携してみた(ちゃんとLinuxのデスクトップ版があるのが良い)↓
といった感じで簡単にDIYできるようになってる。
※ M5Stack Basicにはセキュアエレメントとかは搭載されてないので、あくまでホビー用途で。
と思ってたら、Jade自体はセキュアエレメントを搭載せず、PINオラクルを使ったセキュリティモデルを採用してるみたい。シードはブラインドオラクルとJadeデバイスが連携して生成したAES鍵で暗号化されて保存されてるからデバイスを入手してもシードは読めない。トレードオフとしてオラクルサーバーが必要になると↓
ブログ本文へのリンク
Chaintopeでブロックチェーンの未来を共に創りませんか?
Chaintopeは、独自のブロックチェーン「Tapyrus」と、開発プラットフォーム「Tapyrus Platform」を活用し、デジタル社会の信頼基盤を構築しています。
私たちは、ブロックチェーン技術の可能性を最大限に引き出し、社会に新しい価値を提供することを目指しています。
募集職種:
ブロックチェーンエンジニア
アプリケーションエンジニア
インフラ・保守エンジニア
プロジェクトマネージャー
フィールドセールス
Chaintopeで働く魅力:
最先端のブロックチェーン技術に触れる機会
リモートワークやフレックスタイム制による柔軟な働き方
専門性の高いチームとの協働
ブロックチェーン技術に情熱を持つあなたのスキルを、私たちのチームで活かしませんか?
詳細は、採用情報をご覧ください。
https://www.chaintope.com/recruit/