バージョン v0.4.3 | 最終更新 2026年3月19日
株式会社ハウディ・クリプト 代表取締役 浅田 一憲
Openloop Connect - Openloopハードウェアウォレット用コンパニオンアプリケーション
Openloop Connectは、Openloopハードウェアウォレットと世界中のdApp(分散型アプリケーション)を接続するブリッジソフトウェアである。
主な役割:
WalletConnectは、ウォレットとdAppを接続するためのオープンプロトコルである。
WalletConnectは、ブロックチェーン業界における事実上の世界標準となりつつある。
| プラットフォーム | OS | フレームワーク | 接続方式 | 状態 |
|---|---|---|---|---|
| Desktop | Windows | Electron | USB / BLE | ✓ 対応 |
| Desktop | macOS | Electron | USB / BLE | ✓ 対応 |
| Desktop | Linux | Electron | USB / BLE | ✓ 対応 |
| Mobile | iOS | React Native (Expo) | BLE | ✓ 対応 |
| Mobile | Android | React Native (Expo) | BLE | ✓ 対応 |
| 接続方式 | 説明 | 対応プラットフォーム |
|---|---|---|
| Deep Link | dAppのウォレット一覧から「Openloop Connect」を選択して自動接続(推奨) | 全プラットフォーム |
| QR Code | dAppが表示するQRコードをスキャン | 全プラットフォーム |
| Universal Link | HTTPSリンクからアプリを直接起動 | iOS / macOS |
| Clipboard | WalletConnect URIをコピー&ペースト | 全プラットフォーム |
| LocalWebSocket | ブラウザ拡張がws://127.0.0.1経由で直接接続 | Desktop |
| Safari Web Extension | iOS SafariからBLE経由で直接接続 | iOS |
Openloop Connectは、1つのコードベースで5つのプラットフォームをサポートするクロスプラットフォームアーキテクチャを採用している。
| レイヤー | 技術 | 説明 |
|---|---|---|
| 共通ロジック | TypeScript | WalletConnect、APDU、プロトコルハンドラー |
| デスクトップUI | Electron + React | Windows / macOS / Linux |
| モバイルUI | React Native (Expo) | iOS / Android |
| BLE通信 | Platform Native | 各OSのBLE API |
| USB通信 | node-hid | デスクトップのみ |
| OTA | CBOR-RPC | ファームウェア更新プロトコル |
| LocalWS | ws (Node.js) | ブラウザ拡張ブリッジ |
| Safari Extension | Swift + Manifest V3 | iOS BLE拡張 |
| Android Background | HeadlessJsTaskService | フォアグラウンドサービス |
他のアプリ(Ledger Live等)がデバイスにアクセスできるよう、デバイスだけを手動切断しWalletConnectセッションは維持する機能。
| プラットフォーム | 切断方式 | 再接続方式 |
|---|---|---|
| Desktop (USB) | 切断ボタン → USB HID close | 再接続ボタン → USBポーリング再開 |
| Mobile (BLE) | 切断ボタン → BLE disconnect | 自動(次回操作時にlazy接続) |
署名確認UI: - dAppのアイコン・名前・URLを表示 - メソッド表示名(signMessage, signPsbt等)を多言語対応で表示 - メッセージ/トランザクション内容をスクロール可能な領域に表示 - 警告文: 「信頼できるソースからのメッセージのみ署名してください」 - Approve / Reject ボタン - 承認中: スピナー + 段階的進捗ステータス表示 - デバイス拒否(0x6985)検出: 自動的にUSER_REJECTEDをdAppに返却
通知: - デスクトップ:
システム通知音(shell.beep()) - モバイル:
バイブレーション(200ms) -
接続リクエスト・署名リクエストの両方で通知
Openloop Connectは、複数のOpenloopハードウェアウォレットの使用をサポートする。
モバイル版では、複数のOpenloopデバイスを「登録」し、使用するデバイスを「選択」できる。
データ構造:
interface RegisteredWallet {
id: string // 一意のID (UUID)
deviceId: string // BLEデバイスID
deviceName: string // "Openloop (E854)"
address: string // Ethereumアドレス "0x..."
createdAt: number // 登録日時
lastUsedAt: number // 最終使用日時
}ウォレット管理フロー:
BLE排他制御:
デバイス識別:
デスクトップ版では、USB接続されているOpenloopデバイスを自動検出して使用する。
マルチデバイス使用: 1. 現在のデバイスをUSBから取り外し 2. 別のデバイスをUSBに接続 3. Openloop Connectが自動的に新デバイスを検出 4. 新デバイスのアドレスでdApp接続
検出方式:
| 項目 | モバイル (BLE) | デスクトップ (USB) |
|---|---|---|
| 登録必要 | ✓ 必要 | ✗ 不要 |
| 切り替え方法 | アプリ内選択 | 物理的な接続切替 |
| 同時接続数 | 1台 | 1台 |
| 再接続 | 自動(選択済みデバイス) | 自動(接続デバイス) |
| 項目 | 値 |
|---|---|
| WalletConnect | 2.0 |
| Relay Server | wss://relay.walletconnect.com |
| Project ID | f43a098a34fa6d741ffa88b5ce738113 |
| ネームスペース | CAIP-2識別子 | 説明 |
|---|---|---|
| eip155 | eip155:1, eip155:11155111, … | Ethereum/EVMチェーン |
| bip122 | bip122:000000000019d6689c085ae165831e93, … | Bitcoinチェーン |
| solana | solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp, … | Solana |
| tron | tron:0x2b6653dc, … | TRON |
| チェーン | CAIP-2識別子 |
|---|---|
| Ethereum Mainnet | eip155:1 |
| Ethereum Sepolia | eip155:11155111 |
| その他EVMチェーン | Chain IDで動的対応 |
| メソッド | 説明 | 対応状況 |
|---|---|---|
| eth_sendTransaction | トランザクション送信 | ✓ |
| eth_signTransaction | トランザクション署名 | ✓ |
| eth_sign | メッセージ署名 (非推奨) | ✓ |
| personal_sign | メッセージ署名 (EIP-191) | ✓ |
| eth_signTypedData | 型付きデータ署名 | ✓ |
| eth_signTypedData_v3 | 型付きデータ署名 v3 | ✓ |
| eth_signTypedData_v4 | 型付きデータ署名 v4 (EIP-712) | ✓ |
| wallet_getCapabilities | ウォレット機能問合せ (EIP-5792) | ✓ |
wallet_getCapabilities
メソッドに対応。dAppがウォレットの高度な機能(atomic batch,
paymaster等)を問い合わせる際に使用される。
レスポンス形式:
{
"0x1": {},
"0xaa36a7": {}
}ハードウェアウォレットとして、特別なケイパビリティは返却しない(空オブジェクト)。dAppは標準の
eth_sendTransaction にフォールバックする。
| イベント | 説明 |
|---|---|
| chainChanged | チェーン変更通知 |
| accountsChanged | アカウント変更通知 |
| チェーン | CAIP-2識別子 | Genesis Hash (先頭32文字) |
|---|---|---|
| Bitcoin Mainnet | bip122:000000000019d6689c085ae165831e93 | 000000000019d6689c085ae165831e93 |
| Bitcoin Testnet3 | bip122:000000000933ea01ad0ee984209779ba | 000000000933ea01ad0ee984209779ba |
| メソッド | 説明 | 対応状況 |
|---|---|---|
| getAccountAddresses | BIP32派生アドレス一覧取得 | ✓ |
| signPsbt | PSBT (BIP-174) 署名 | ✓ |
| signMessage | メッセージ署名 (BIP-137) | ✓ |
| sendTransfer | Bitcoin送金 | ✓ |
仕様: - Index 0を常に含める - UTXOがあるアドレスを全て含める - 未使用アドレスを最低2個含める - Gap limit: 20連続未使用で停止
実装: 1. ファームウェアからaccount xpub (m/84’/coin’/0’) を取得 2. ローカルでBIP32子鍵導出(非ハードened) 3. mempool.space APIでUTXO/履歴確認 4. receive/change並列スキャン
性能: - スキャン時間: 約8秒(111アドレス) - API並列数: 4(レート制限対策)
仕様: - Base64エンコードされたPSBTを受信 - signInputsでアドレス→パス逆引き - ファームウェアで署名実行 - 署名済みPSBTをBase64で返却
処理フロー: 1. アドレスキャッシュからパス逆引き 2. キャッシュミス時はローカル導出で検索 3. PSBT + パス情報をファームウェアに送信 4. 署名済みPSBTを取得
対応形式:
| 形式 | 説明 | 対応状況 |
|---|---|---|
| ECDSA (BIP-137) | 従来のBitcoinメッセージ署名 | ✓ |
| BIP-322 | 汎用メッセージ署名(P2WPKH witness形式) | ✓ |
ECDSA (BIP-137): - ハッシュ: SHA256(SHA256(“18Bitcoin Signed Message:” + varint(len) + message)) - 署名: [V (35-38)][R (32B)][S (32B)] - 返却形式: Base64エンコード
BIP-322: - to_spend / to_sign トランザクションペアを構築 - witness形式で署名を返却 - 返却形式: Base64エンコード
仕様: - ウォレット側でPSBTを構築(UTXO取得→手数料見積り→PSBT作成) - ファームウェアで署名実行 - 署名済みトランザクションをブロードキャスト - txidをdAppに返却
処理フロー: 1. dustチェック(546 sats未満を拒否) 2. アドレススキャン(残高のあるアドレスを検索) 3. UTXO取得(mempool.space API) 4. 手数料見積り(halfHourFee使用) 5. UTXO選択(largest first) 6. PSBT構築(お釣りアドレスにBIP32_DERIVATION付与) 7. ファームウェアで署名 8. ブロードキャスト(mempool.space API) 9. txid返却
| チェーン | CAIP-2識別子 |
|---|---|
| Mainnet Beta | solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Devnet | solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1 |
| メソッド | 説明 | 対応状況 |
|---|---|---|
| solana_signTransaction | トランザクション署名 | ✓ |
| solana_signAllTransactions | 複数TX一括署名 | ✓ |
| solana_signAndSendTransaction | 署名+ブロードキャスト | ✓ |
| solana_signMessage | メッセージ署名 (オフチェーン) | ✓ |
Ed25519署名。BIP44パス: m/44’/501’/account’/0’
| チェーン | CAIP-2識別子 |
|---|---|
| Mainnet | tron:0x2b6653dc |
| Shasta Testnet | tron:0x94a9059e |
| メソッド | 説明 | 対応状況 |
|---|---|---|
| tron_signTransaction | トランザクション署名 | ✓ |
| tron_signMessage | メッセージ署名 | ✓ |
ブラウザ拡張(Openloop Web SDK等)がOpenloop Connectを経由してハードウェアウォレットに接続するためのローカルWebSocketサーバー。
| 項目 | 値 |
|---|---|
| プロトコル | WebSocket (ws://) |
| アドレス | 127.0.0.1 (ローカルホストのみ) |
| ポート | 21320 (デフォルト) |
| データ形式 | JSON-RPC 2.0 |
| プラットフォーム | 実装 |
|---|---|
| Desktop (Electron) | Node.js ws ライブラリ |
| Mobile (Android) | HeadlessJsTaskService内WebSocketサーバー |
| Mobile (iOS) | Safari Web Extension経由(§10参照) |
iOS SafariからOpenloopハードウェアウォレットにBLE接続するためのSafari Web Extension。業界初のHWウォレット向けSafari BLE拡張。
| コンポーネント | 技術 | 役割 |
|---|---|---|
| Extension Process | Swift + CoreBluetooth | BLE通信 |
| Content Script | JavaScript | Web3 provider注入 |
| Background Script | JavaScript (Manifest V3) | メッセージルーティング |
| Popup | HTML/CSS/JS | ユーザーUI |
| Container App | React Native (Expo) | BLEパーミッション管理 |
dApp → Content Script → Background → Native Messaging → Swift BLE → Openloop
Android版はフォアグラウンドサービスにより、アプリがバックグラウンドにあってもWebSocketサーバーとBLE接続を維持する。
| コンポーネント | 説明 |
|---|---|
| WsServerService | HeadlessJsTaskService + PARTIAL_WAKE_LOCK + WIFI_LOCK |
| 通知 | 常駐通知によりフォアグラウンドサービスとして動作 |
| パーミッション | FOREGROUND_SERVICE, FOREGROUND_SERVICE_CONNECTED_DEVICE, WAKE_LOCK |
Openloop Connectは、OpenloopデバイスのファームウェアをワイヤレスまたはUSBで更新する機能を提供する。
| トランスポート | プラットフォーム | プロトコル |
|---|---|---|
| USB HID | Desktop | TAG 0x06 CBOR over Ledger HID |
| USB CDC | Desktop (Python CLI) | Raw CBOR-RPC |
| BLE | Mobile (iOS/Android) | Openloop BLEサービス |
| 対象 | 説明 |
|---|---|
| メインファームウェア | デバイスの主要機能(ウォレット、パスキー等) |
| リカバリーファームウェア | リカバリーモード用FW(OTA Recovery Mini) |
| 項目 | 仕様 |
|---|---|
| データ形式 | CBOR-RPC |
| 圧縮 | ZLIB |
| チャンク検証 | CRC32 |
| 最終検証 | SHA-256ハッシュ |
| 署名検証 | RSA-3072 (デバイス側) |
| Delta OTA | 差分更新対応 |
openloop_get_version)ota)ota_data, CRC32検証)ota_complete, SHA-256検証)FW v0.88.7以降のデバイスでは、HIDトランスポートを優先使用。HID非対応の古いFWにはCDCフォールバック。
サービスUUID:
| 項目 | UUID |
|---|---|
| Service | 13D63400-2C97-0004-0000-4C6564676572 |
| Notify Characteristic | 13D63400-2C97-0004-0001-4C6564676572 |
| Write Characteristic | 13D63400-2C97-0004-0002-4C6564676572 |
フレームプロトコル:
業界標準BLEフレーム分割プロトコル。
| 項目 | 値 |
|---|---|
| フレームプレフィックス | 0x05 |
| 最初のフレームヘッダ | 5バイト (PREFIX + INDEX + SIZE) |
| 継続フレームヘッダ | 3バイト (PREFIX + INDEX) |
| MTU | 247バイト |
| モード | VID | PID | 備考 |
|---|---|---|---|
| 独自モード | 0x303A | 0x8341 | Espressif VID / Openloop PID |
| 互換モード | 0x2C97 | 0x1011 | 互換VID / Nano S互換PID |
HID応答破損検出:
BIP122のgetAccountAddresses(約8秒)実行中にBLE接続が切れる可能性があるため、以下のメソッドで自動再接続を実行:
Ethereum:
| INS | コマンド | 説明 |
|---|---|---|
| 0x02 | GET_PUBLIC_KEY | 公開鍵・アドレス取得 |
| 0x04 | SIGN | トランザクション署名 |
| 0x08 | SIGN_PERSONAL_MESSAGE | メッセージ署名 (EIP-191) |
| 0x0C | SIGN_EIP712 | EIP-712署名 |
Bitcoin:
| INS | コマンド | 説明 |
|---|---|---|
| 0x40 | GET_WALLET_PUBLIC_KEY | 公開鍵・アドレス取得 |
| INS | コマンド | 説明 |
|---|---|---|
| 0x08 | SIGN_PERSONAL_MESSAGE | メッセージ署名 (CLA_OPENLOOP版) |
| 0x0C | SIGN_EIP712 | EIP-712署名 (CLA_OPENLOOP版) |
| 0x70 | SIGN_PSBT | PSBTデータ受信・署名開始 |
| 0x71 | GET_SIGNED_PSBT | 署名済みPSBT取得 |
| 0x72 | GET_ACCOUNT_XPUB | アカウントxpub取得 |
| 0x73 | SIGN_MESSAGE | メッセージ署名 (BIP-137) |
| INS | コマンド | 説明 |
|---|---|---|
| 0x05 | GET_PUBKEY | 公開鍵取得 (Ed25519) |
| 0x06 | SIGN_MESSAGE | トランザクション署名 |
| 0x07 | SIGN_OFFCHAIN_MESSAGE | オフチェーンメッセージ署名 |
| INS | コマンド | 説明 |
|---|---|---|
| 0x02 | GET_ADDRESS | TRONアドレス取得 (Base58Check) |
| 0x04 | SIGN_TX | トランザクション署名 (SHA-256) |
| 0x08 | SIGN_PERSONAL_MESSAGE | メッセージ署名 |
詳細は BIP122_signPsbt_Implementation_Spec.md を参照。
openloop-connect/
├── packages/
│ ├── shared/ # 共通TypeScriptコード
│ │ └── src/
│ │ ├── apdu/ # APDUプロトコル
│ │ │ ├── ethereum-app.ts
│ │ │ ├── bitcoin-app.ts
│ │ │ ├── solana-app.ts # Solana APDU
│ │ │ └── tron-app.ts # TRON APDU
│ │ ├── bitcoin/ # Bitcoin共通ロジック
│ │ │ ├── address-cache.ts # アドレス↔パス マッピングキャッシュ
│ │ │ ├── address-service.ts # Gap limitスキャン・アドレス逆引き
│ │ │ ├── bip32-derive.ts # BIP32公開鍵導出
│ │ │ ├── bip322.ts # BIP-322メッセージ署名ユーティリティ
│ │ │ ├── tx-service.ts # PSBT構築・UTXO取得・ブロードキャスト
│ │ │ └── index.ts
│ │ ├── ethereum/ # Ethereum関連ユーティリティ
│ │ │ ├── index.ts
│ │ │ ├── mini-ethers.ts
│ │ │ ├── transaction.ts
│ │ │ └── typed-data.ts
│ │ ├── codec/ # エンコーディング
│ │ │ └── base58.ts # Base58コーデック
│ │ ├── ota/ # OTAプロトコル
│ │ ├── walletconnect/ # WalletConnect
│ │ │ └── namespace-builder.ts # ネームスペースビルダー
│ │ ├── sign-handler/ # 署名ハンドラ共通化
│ │ ├── i18n/ # 共通多言語文字列
│ │ │ ├── wc-strings.ts # WalletConnect関連 (EN/JA)
│ │ │ └── index.ts
│ │ ├── transport/
│ │ │ └── interface.ts # トランスポート抽象インターフェース
│ │ ├── constants.ts # 定数・mapErrorToI18nKey()
│ │ ├── ws-protocol.ts # WSプロトコル定義
│ │ ├── index.ts
│ │ └── types.ts
│ │
│ ├── desktop/ # デスクトップアプリ (Electron)
│ │ └── src/
│ │ ├── main/ # メインプロセス
│ │ │ ├── hid-service.ts # USB HID通信 (node-hid)
│ │ │ ├── ws-server.ts # LocalWebSocketサーバー
│ │ │ ├── ota-service.ts # Desktop OTA
│ │ │ ├── device-service.ts # デバイス切断/再接続管理
│ │ │ ├── walletconnect-service.ts
│ │ │ ├── index.ts # 署名保留・確認・進捗管理
│ │ │ └── utils.ts
│ │ ├── preload/
│ │ │ └── index.ts
│ │ └── renderer/ # レンダラープロセス (React)
│ │ ├── App.tsx # 署名確認モーダル含む
│ │ ├── i18n/ # デスクトップ固有 + shared i18n
│ │ └── main.tsx
│ │
│ └── mobile/ # モバイルアプリ (React Native)
│ ├── App.tsx
│ ├── ios/
│ │ └── SafariExtension/ # Safari Web Extension
│ └── src/
│ ├── transport/ # BLEトランスポート
│ │ ├── BleTransport.ts
│ │ └── index.ts
│ ├── services/ # モバイル固有サービス
│ │ ├── device.ts # BLE接続管理
│ │ ├── wallet-storage.ts # ウォレット登録・選択
│ │ ├── walletconnect.ts
│ │ ├── ota-service.ts # Mobile OTA
│ │ └── ws-server.ts # Mobile WebSocketサーバー
│ ├── screens/ # UI画面
│ │ ├── ConnectScreen.tsx # dApp接続(メイン画面)
│ │ ├── SignScreen.tsx # 署名確認
│ │ ├── ScanDeviceScreen.tsx # BLEスキャン
│ │ └── WalletAddedScreen.tsx # 登録完了
│ ├── i18n/ # モバイル固有 + shared i18n
│ └── types/
│ └── navigation.ts
│
└── docs/
├── OpenloopConnect_Spec_2026.md # 本仕様書
└── BIP122_signPsbt_Implementation_Spec.md # BIP122実装仕様
WalletConnectは、600以上のdAppが採用するブロックチェーン業界の事実上の標準プロトコルである。
Openloop ConnectがWalletConnectに完全対応することで:
Openloop Connectは独自モード(VID: 0x303A / PID: 0x8341)の主要な実行基盤であり、対応する接続手段は拡大を続けている。
Openloop Connect経由の独自モード接続:
| 接続手段 | 説明 | プラットフォーム |
|---|---|---|
| WalletConnect | 600以上のdAppから署名リクエストを受信 | 全プラットフォーム |
| LocalWebSocket | ブラウザ拡張がws://127.0.0.1経由で直接接続 | Desktop / Android |
| Safari Web Extension | iOS SafariからBLE経由で直接接続 | iOS |
これにより、WalletConnect対応dApp、Openloop Web SDK対応のブラウザ拡張、Safari上のWeb3 dAppなど、独自モードだけでカバーできるユースケースが急速に拡大している。
独自モード戦略の全体像(WebHIDを含む)については、Openloop製品仕様書を参照。
| ドキュメント | URL |
|---|---|
| WalletConnect 2.0 Specs | https://specs.walletconnect.com/ |
| WalletConnect Cloud | https://cloud.walletconnect.com/ |
| Sign API | https://docs.walletconnect.com/api/sign |
| React Native SDK | https://docs.walletconnect.com/advanced/walletconnectmodal/about?platform=react-native |
| Electron Integration | https://docs.walletconnect.com/advanced/walletconnectmodal/about?platform=web |
| 規格 | 説明 | URL |
|---|---|---|
| CAIP-2 | Blockchain ID Specification | https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-2.md |
| CAIP-10 | Account ID Specification | https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-10.md |
| CAIP-25 | Wallet JSON-RPC Methods | https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-25.md |
| ドキュメント | URL |
|---|---|
| BIP122 Scope (WalletConnect) | https://docs.walletconnect.com/advanced/multichain/rpc-reference/bitcoin-rpc |
| CAIP-122 (signMessage) | https://github.com/ChainAgnostic/CAIPs/blob/main/CAIPs/caip-122.md |
| ドキュメント | URL |
|---|---|
| EIP155 Scope (WalletConnect) | https://docs.walletconnect.com/advanced/multichain/rpc-reference/ethereum-rpc |
| EIP-191 | https://eips.ethereum.org/EIPS/eip-191 |
| EIP-712 | https://eips.ethereum.org/EIPS/eip-712 |
| EIP-5792 (Wallet Call API) | https://eips.ethereum.org/EIPS/eip-5792 |
| 規格 | 説明 | URL |
|---|---|---|
| BIP-32 | HD Wallets | https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki |
| BIP-84 | Native SegWit | https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki |
| BIP-137 | Message Signing | https://github.com/bitcoin/bips/blob/master/bip-0137.mediawiki |
| BIP-174 | PSBT | https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki |
| ドキュメント | URL |
|---|---|
| Solana WalletConnect Scope | https://docs.walletconnect.com/advanced/multichain/rpc-reference/solana-rpc |
| Solana Web3.js | https://solana-labs.github.io/solana-web3.js/ |
| Ledger Solana App | https://github.com/LedgerHQ/app-solana |
| ドキュメント | URL |
|---|---|
| TronGrid API | https://www.trongrid.io/ |
| Ledger TRON App | https://github.com/AurelienMusic/app-tron |
| TIP-191 (signMessage) | https://github.com/tronprotocol/TIPs/blob/master/tip-191.md |
| ドキュメント | URL |
|---|---|
| CBOR (RFC 8949) | https://www.rfc-editor.org/rfc/rfc8949 |
| FIDO2 / WebAuthn | https://fidoalliance.org/fido2/ |
| バージョン | 日付 | 内容 |
|---|---|---|
| v0.1.0 | 2026-01-18 | 初版作成(EIP155 + BIP122対応) |
| v0.2.0 | 2026-01-18 | 大幅改訂: デスクトップ対応追加、アーキテクチャ詳細化、ビジョン追加、Mermaid図対応 |
| v0.2.2 | 2026-01-19 | マルチデバイス対応: モバイルBLEウォレット登録システム、デスクトップUSB物理切り替え |
| v0.3.0 | 2026-02-14 | デスクトップBIP122対応、Bitcoinサービス共通化(shared移動) |
| v0.3.1 | 2026-02-14 | 署名確認UI追加(デスクトップ)、エラー応答標準化、shared i18nモジュール |
| v0.3.4 | 2026-02-15 | EIP-5792 wallet_getCapabilities対応、通知音/バイブレーション、エラーメッセージ統一、sendTransfer仕様修正、BIP-322対応追記 |
| v0.3.6 | 2026-02-17 | Solana WalletConnect対応、App Store/Play Store公開 |
| v0.3.10 | 2026-02-17 | APDU共通化(CLA_OPENLOOP)、TRON WalletConnect対応 |
| v0.3.12 | 2026-02-25 | Desktop/Mobile UI統一、GitHub Actions CI修正 |
| v0.4.1 | 2026-03-11 | OTA USB HID対応、LocalWebSocketサーバー、Safari Web Extension、Android バックグラウンド |
| v0.4.3 | 2026-03-19 | デバイス切断/再接続、Android フォアグラウンドサービス復旧 |
Openloop Connect - 株式会社ハウディ・クリプト
© 2026 Haudi Crypto, Inc. All rights reserved.