跳至主要内容

測試向量

本站的每個 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.jsonBIP39 種子、指紋與第一個地址,包含有與沒有 passphrase 的情況

簽名向量​

名稱鏈內容
btc-p2wpkhBitcoin含找零輸出的 P2WPKH 花費
btc-p2trBitcoinTaproot key-path 花費(僅提供 witness UTXO)
evm-eth-transferEthereumEIP-1559 ETH 轉帳(data-type 4)
evm-erc20-transferEthereumUSDT transfer
evm-erc20-approveEthereumUSDC approve(eth_sendTransaction 範例)
evm-bsc-legacyBNB ChainLegacy EIP-155 交易(data-type 1)
evm-avax-legacyAvalanche具有三位元組 v 的 legacy 交易
evm-personal-signEVMSign-In with Ethereum 訊息(data-type 3)
evm-eip712-permitEthereumERC-2612 Permit(data-type 2)
tron-trx-transferTRONTRX 轉帳
tron-trc20-transferTRONUSDT TRC-20 轉帳
tron-messageTRONTIP-191 訊息
sol-transferSolanaSOL 轉帳,legacy 訊息
sol-spl-transferSolanaUSDC TransferChecked
sol-messageSolana文字訊息

ECDSA(Bitcoin SegWit v0、EVM、TRON)與 Ed25519(Solana)簽名都是確定性的,因此當你的實作以相同的金鑰簽署相同的位元組時,應能逐位元組重現這些簽名。Taproot 簽名使用全新的隨機數,每次都不同:請改為驗證它們。

使用方式​

  1. 解碼器測試。 將每個匯出或回應的 frames 以打亂的順序並加入重複項,餵給你的掃描器程式碼,再將結果與解碼後的 JSON 比較。
  2. 編碼器測試。 以相同的輸入建構相同的請求,並比較 UR CBOR hex(urCBORHex)。向量中的請求 ID 是固定的(5f1e9b2c…),因此位元組可以重現。
  3. 組裝測試。 取出回應中的簽名並組裝交易;與 signedTxHex、signedTransaction、signedTransactionBase64 或 finalTxHex 比較。
  4. 端對端測試。 在測試用 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 碼格式與簽名都相同。