測試向量
本站的每個 QR Code、簽名與地址都來自這些檔案。它們是以公開的 BIP39 測試助記詞執行 BitTool Signer 引擎(與 iOS App 所附帶的 JavaScript bundle 相同)產生的,且每個簽名都已透過獨立的函式庫驗證。
測試助記詞,無 BIP39 passphrase
abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about
公開的測試資料
任何人都能衍生出這些地址的金鑰。切勿將資金轉入這些地址。所有交易皆為合成資料(虛構的前一筆輸出、參考區塊與 blockhash),且從未被廣播。
下載
| 檔案 | 內容 |
|---|---|
wallet-pairing.json | 錢包層級配對物件、內層 CBOR、UR CBOR、所有幀,以及每個帳戶的第一個地址 |
coin-level-exports.json | 每一種幣種層級匯出:所有 Bitcoin 類型、多重簽名共同簽名者、EVM、三個 Solana 預設組合,以及純地址匯出 |
signing.json | 所有簽名往返:請求幀與 CBOR、解碼後的欄位、回應幀與 CBOR、簽名,以及組裝完成的交易 |
walletconnect.json | 七個完整範例的 WalletConnect 請求與結果 |
recovery-phrase.json | BIP39 種子、指紋與第一個地址,包含有與沒有 passphrase 的情況 |
簽名向量
| 名稱 | 鏈 | 內容 |
|---|---|---|
btc-p2wpkh | Bitcoin | 含找零輸出的 P2WPKH 花費 |
btc-p2tr | Bitcoin | Taproot key-path 花費(僅提供 witness UTXO) |
evm-eth-transfer | Ethereum | EIP-1559 ETH 轉帳(data-type 4) |
evm-erc20-transfer | Ethereum | USDT transfer |
evm-erc20-approve | Ethereum | USDC approve(eth_sendTransaction 範例) |
evm-bsc-legacy | BNB Chain | Legacy EIP-155 交易(data-type 1) |
evm-avax-legacy | Avalanche | 具有三位元組 v 的 legacy 交易 |
evm-personal-sign | EVM | Sign-In with Ethereum 訊息(data-type 3) |
evm-eip712-permit | Ethereum | ERC-2612 Permit(data-type 2) |
tron-trx-transfer | TRON | TRX 轉帳 |
tron-trc20-transfer | TRON | USDT TRC-20 轉帳 |
tron-message | TRON | TIP-191 訊息 |
sol-transfer | Solana | SOL 轉帳,legacy 訊息 |
sol-spl-transfer | Solana | USDC TransferChecked |
sol-message | Solana | 文字訊息 |
ECDSA(Bitcoin SegWit v0、EVM、TRON)與 Ed25519(Solana)簽名都是確定性的,因此當你的實作以相同的金鑰簽署相同的位元組時,應能逐位元組重現這些簽名。Taproot 簽名使用全新的隨機數,每次都不同:請改為驗證它們。
使用方式
- 解碼器測試。 將每個匯出或回應的
frames以打亂的順序並加入重複項,餵給你的掃描器程式碼,再將結果與解碼後的 JSON 比較。 - 編碼器測試。 以相同的輸入建構相同的請求,並比較 UR CBOR hex(
urCBORHex)。向量中的請求 ID 是固定的(5f1e9b2c…),因此位元組可以重現。 - 組裝測試。 取出回應中的簽名並組裝交易;與
signedTxHex、signedTransaction、signedTransactionBase64或finalTxHex比較。 - 端對端測試。 在測試用 iPhone 上將測試助記詞匯入 BitTool Signer(App 要求裝置設有密碼),配對你的錢包,並掃描你自己的請求。
重新產生
文件儲存庫中包含產生器與經過測試的程式碼範例:
cd devdocs
npm run vectors -- /path/to/bittool-signer-ios/engine # rewrites src/data/vectors.json and static/vectors/*.json
cd examples && npm install && node test.mjs /path/to/bittool-signer-ios/engine
test.mjs 會以引擎執行本站的每個程式碼範例:範例所建構的請求由引擎解碼、比對並簽名,再由範例驗證並組裝結果。
這些向量產生於 2026-10-18,來源引擎 bundle 的 SHA-256 為 6933d0d8a6f60faa8222506ac0bd7eef80eb884c9f73e31e9f354b4740f21077:也就是 BitTool Signer 1.0.0 所發布、並經兩次安全審查檢查的引擎。
BitTool Signer Android 1.0.0 隨附同一引擎的較新建置(SHA-256 4b371759…00fa19)。它只改變了 Bitcoin 與 Solana 銷毀的摘要方式;QR 碼格式與簽名都相同。