forked from BitBoxSwiss/bitbox02-backup-recovery
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackup.html
92 lines (84 loc) · 4.37 KB
/
backup.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<base target="_blank">
<title>BitBox02 backup recovery tool</title>
<link rel="stylesheet" type="text/css" href="stylesheet/backup.css">
</head>
<body>
<div class="content-width">
<h1>BitBox02 backup recovery tool</h1>
<div class="section" id="instructions">
<h2>Instructions</h2>
<ol>
<li>Download and copy this recovery tool to a computer which is ideally permanently disconnected from the Internet.</li>
<li>Insert the microSD card that holds your wallet backup into this offline computer.</li>
<li>Click the "Choose file" button below and select the wallet backup file from you microSD card.</li>
<li>Import the generated BIP-39 seed phrase into a wallet application such as <a href="https://electrum.org/#home">Electrum</a>.</li>
<li>Transfer your coins to a newly generated wallet, as the original wallet generated by the BitBox02 could now be compromised as you imported it on an ordinary computer.</li>
</ol>
</div>
<div class="section" id="backup-recovery">
<h2>Backup recovery</h2>
<p>Click the button to select the wallet backup file:</p>
<label for="the-file-input" class="custom-file-upload">Choose file</label>
<input id="the-file-input" type="file"></input>
<p>This is the BIP39 seed phrase of the chosen wallet backup file:</p>
<textarea id="backup-bip39" class="text-input" rows="3" cols="70" wrap="hard" spellcheck="false" readonly></textarea>
<div>
<p><strong>Wallet / backup name:</strong> <span id="backup-name"></span></p>
<p><strong>It was created on the following date:</strong> <span id="seed-timestamp"></span></p>
<p><strong>Using BitBox02 firmware version:</strong> <span id="firmware-version"> </span></p>
</div>
</div>
<div class="section" id="derivation-information">
<h2>Derivation information</h2>
<p>
The BitBox02 generates wallet addresses according to the <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki">BIP32</a> and <a href="https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki">BIP44</a> specifications.
With m denoting the extended master key according to BIP32, BIP44 specifies the following key derivation:
m / purpose' / coin_type' / account' / change / address_index.
</p>
<h4>Purpose level</h4>
<p>The BitBox02 sets the purpose as follows:</p>
<ul>
<li>Ethereum = 44'</li>
<li>Segwit (P2PSH) = 49'</li>
<li>Native Segwit (P2WPKH) = 84'</li>
</ul>
<h4>Coin_type level</h4>
<p>Coin_type is set in accordance with <a href="https://github.com/satoshilabs/slips/blob/master/slip-0044.md">SLIP44</a>:</p>
<ul>
<li>Bitcoin = 0'</li>
<li>Testnets = 1'</li>
<li>Litecoin = 2'</li>
<li>Ethereum (incl. ERC-20) = 60'</li>
</ul>
<h4>Account level</h4>
<p>
The BitBoxApp currently only supports a single account.
Therefore, wallets created with the BitBoxApp will use 0 for the account.
Wallets created with other wallet software can have a different account number.
The firmware of the BitBox02 limits the account number to 99, allowing at most 100 accounts.
</p>
<h4>Change level</h4>
<p>
The BitBox02 uses 0 for normal receive addresses
and 1 for change addresses according to BIP44.
</p>
<h4>Address_index level</h4>
<p>
Wallet software increment the address index from 0.
The BitBoxApp respects a gap limit of 20 unused receive addresses according to BIP44.
The gap limit for change addresses is 6 in order to be compatible with Electrum.
(For the legacy account, the receive gap limit is 60 and the change gap limit is 25 for historical reasons,
but the BitBox02 doesn't support legacy transactions.)
As the gap limit cannot be enforced by the BitBox02,
the firmware rejects address indexes higher than 9999,
allowing at most 10'000 addresses for both the internal and the external chain.
</p>
</div>
</div>
<script src="js/get_backup_bundled.js"></script>
</body>
</html>