cryptoseed 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.ko.md ADDED
@@ -0,0 +1,224 @@
1
+ # ๐Ÿ›ก๏ธ cryptoseed
2
+
3
+ ๐ŸŒ **Select Language / Selecione o Idioma:**
4
+ [Portuguรชs](./README.md) | [English](./README.en.md) | [Espaรฑol](./README.es.md) | [Franรงais](./README.fr.md) | [Italiano](./README.it.md) | [Tรผrkรงe](./README.tr.md) | [ะ ัƒััะบะธะน](./README.ru.md) | [็ฎ€ไฝ“ไธญๆ–‡](./README.zh.md) | [ๆ—ฅๆœฌ่ชž](./README.ja.md) | [ํ•œ๊ตญ์–ด](./README.ko.md) | [ืขื‘ืจื™ืช](./README.he.md)
5
+
6
+
7
+ **cryptoseed**๋Š” ๋ถ„์‹ค๋˜์—ˆ๊ฑฐ๋‚˜, ์ˆœ์„œ๊ฐ€ ๋’ค์„ž์˜€๊ฑฐ๋‚˜, ํ˜น์€ ์ฒ ์ž ์˜ค๋ฅ˜๋กœ ์ž˜๋ชป ์ž…๋ ฅ๋œ ์•”ํ˜ธํ™” ์—ฐ์ƒ ๊ธฐํ˜ธ ๋ณต๊ตฌ ๋‹จ์–ด(*seed phrases*)๋ฅผ ์ง„๋‹จ, ๊ฒ€์ฆ ๋ฐ ๋ณต๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ **์ˆœ์ˆ˜ JavaScript**(Node.js) ๊ธฐ๋ฐ˜์˜ ๊ฐ€๋ณ๊ณ  ๊ณ ์„ฑ๋Šฅ์ธ ๊ธฐ์—…๊ธ‰ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค.
8
+
9
+ **b2 wallet**([diegooris](https://diegohorantunes.web.app/)์˜ ์ง€ํœ˜ ์•„๋ž˜ [better2better](https://better2better.net)๊ฐ€ ์šด์˜ํ•˜๋Š” ๋ณด์•ˆ ๋ฐ ์ธํ”„๋ผ ์—์ฝ”์‹œ์Šคํ…œ) ์•„๋ž˜์—์„œ ๊ฐœ๋ฐœ๋œ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ฐœ๋ฐœ์ž์™€ ๋ณด์•ˆ ๋ถ„์„๊ฐ€์—๊ฒŒ **39๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๋ธ”๋ก์ฒด์ธ ๋ฐ ์—์ฝ”์‹œ์Šคํ…œ**์—์„œ ์ฃผ์†Œ ๋„์ถœ ์‹œ ์ตœ๊ณ ์˜ ๊ฒฌ๊ณ ํ•จ, ์ดˆ๊ณ ์† ๊ฒ€์ƒ‰ ์†๋„, ๊ทธ๋ฆฌ๊ณ  ์ˆ˜์ˆ ๊ณผ ๊ฐ™์ด ์ •๊ตํ•œ ์—ญ์‚ฌ์  ์ •ํ™•์„ฑ์„ ์ œ๊ณตํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์€ ๋นŒ๋“œ์˜ ์ด์‹์„ฑ์„ ํ•ด์น  ์ˆ˜ ์žˆ๋Š” ๋„ค์ดํ‹ฐ๋ธŒ C/C++ ์ปดํŒŒ์ผ ์ข…์†์„ฑ์ด๋‚˜ ์™ธ๋ถ€ ํŒจํ‚ค์ง€ ์—†์ด 100% ์ž์œจ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
10
+
11
+ ---
12
+
13
+ ## ๐Ÿ“… ์ง€์›ํ•˜๋Š” BIP ๋ณ€ํ˜• ๋ฐ ์—ญ์‚ฌ์  ํƒ€์ž„๋ผ์ธ
14
+
15
+ ์ž๊ธˆ์„ ์ •ํ™•ํ•˜๊ฒŒ ๋ณต๊ตฌํ•˜๋ ค๋ฉด ๋‹จ์ˆœํžˆ ๋‹จ์–ด๋ฅผ ์•„๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์ˆ ์ ์ธ ์‚ฌ์–‘๊ณผ ์ง€๊ฐ‘์ด ์ƒ์„ฑ๋œ ์—ฐ๋„๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. **cryptoseed**๋Š” ์—ญ์‚ฌ์ ์ธ ํ‘œ์ค€(BIP)์„ ์—„๊ฒฉํ•˜๊ฒŒ ๊ตฌํ˜„ํ•˜๊ณ  ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.
16
+
17
+ ### ๐Ÿ” ๊ตฌํ˜„ ๋ฐ ์ •๋ ฌ๋œ BIP ํ‘œ์ค€ ์ผ๋žŒํ‘œ
18
+
19
+ | BIP | ๊ทœ๊ฒฉ๋ช… | **cryptoseed**์—์„œ์˜ ๊ตฌํ˜„ ๋ฐ ์ง€์› ์ƒํ™ฉ |
20
+ | :---: | :--- | :--- |
21
+ | **BIP-32** | *Hierarchical Deterministic Wallets* | **์™„์ „ ์ง€์›.** HD ๋„์ถœ ํŠธ๋ฆฌ์˜ ์ˆ˜ํ•™์  ๊ธฐ๋ฐ˜์ž…๋‹ˆ๋‹ค. ์ž์ฒด ํ‚ค ์—”์ง„์„ ํ†ตํ•ด ์ˆœ์ˆ˜ ํƒ€์› ๊ณก์„  ์ˆ˜ํ•™์„ ์‚ฌ์šฉํ•˜์—ฌ ์—”์ง„์ด ๋‹จ์ผ ๋งˆ์Šคํ„ฐ ์‹œ๋“œ๋กœ๋ถ€ํ„ฐ ๊ณต๊ฐœ ํ‚ค/๊ฐœ์ธ ํ‚ค(`xprv`/`xpub`)์˜ ๋ฌดํ•œํ•œ ๊ฒฝ๋กœ๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. |
22
+ | **BIP-39** | *Mnemonic Code* | **์™„์ „ ์ง€์›.** ์—…๊ณ„ ๊ณตํ†ต ํ‘œ์ค€. **10๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์–ธ์–ด** ์‚ฌ์ „๊ณผ ํ†ตํ•ฉ๋œ 4~8๋น„ํŠธ ์ฒดํฌ์„ฌ(*checksum*) ๊ฒ€์ฆ์„ ํ†ตํ•ด **12, 15, 18, 21 ๋˜๋Š” 24๊ฐœ ๋‹จ์–ด**์˜ ๊ตฌ๋ฌธ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. |
23
+ | **BIP-43** | *Purpose Field* | **์™„์ „ ์ง€์›.** ๊ฒฝ๋กœ ํŠธ๋ฆฌ์˜ ์ตœ์ƒ์œ„์—์„œ ๋ชฉ์  ํ•„๋“œ(`m / purpose'`)๋ฅผ ์ •์˜ํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ์ค€์ˆ˜ํ•˜๋ฉฐ, ์—”์ง„์ด ๋‹ค๋ชฉ์  ์ง€๊ฐ‘์œผ๋กœ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋ผ์šฐํŒ…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. |
24
+ | **BIP-44** | *Multi-Account* | **์™„์ „ ์ง€์›.** ์—…๊ณ„์—์„œ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋„์ถœ ๊ฒฝ๋กœ ํ‘œ์ค€: `m/44'/coin_type'/account'/change/address_index`. ๋น„ํŠธ์ฝ”์ธ ๋ ˆ๊ฑฐ์‹œ, ์ด๋”๋ฆฌ์›€, EVM ํ˜ธํ™˜ ์ฒด์ธ, ์†”๋ผ๋‚˜ ๋ ˆ๊ฑฐ์‹œ, ํŠธ๋ก , ์นด๋ฅด๋‹ค๋…ธ ๋ ˆ๊ฑฐ์‹œ ๋“ฑ์— ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. |
25
+ | **BIP-45** | *Multisig HD* | **๊ฒฝ๋กœ ์ •๋ ฌ.** ๋ชฉ์  ๊ฒฝ๋กœ `m/45'`์˜ ๋‹ค์ค‘ ์„œ๋ช… ์ง€๊ฐ‘์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. BIP-45 ๋ฉ€ํ‹ฐ์‹œ๊ทธ ์„ค์ •์˜ ์ผ๋ถ€์ธ ๊ฐœ๋ณ„ ์‹œ๋“œ๋ฅผ ๋ณต๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ, ์—”์ง„์€ ์ด ๊ฒฝ๋กœ์—์„œ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๊ฐœ๋ณ„ ๊ฐœ์ธ ํ‚ค๋ฅผ ๋„์ถœํ•ฉ๋‹ˆ๋‹ค. |
26
+ | **BIP-47** | *Payment Codes* | **์‹œ๋“œ ํ˜ธํ™˜์„ฑ.** ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ  ํ”„๋ผ์ด๋น—ํ•œ ๊ฒฐ์ œ ์ฝ”๋“œ(์‚ฌ๋ฌด๋ผ์ด ์ง€๊ฐ‘ ๋“ฑ). BIP-47์„ ์‚ฌ์šฉํ•˜๋Š” ์ง€๊ฐ‘์˜ ๋ฐฑ์—…์€ ํ‘œ์ค€ 12๋‹จ์–ด ๋˜๋Š” 24๋‹จ์–ด BIP-39 ์‹œ๋“œ์ž…๋‹ˆ๋‹ค. **cryptoseed**๋Š” ์ด ๋งˆ์Šคํ„ฐ ์‹œ๋“œ๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ๋ณต๊ตฌํ•ฉ๋‹ˆ๋‹ค. |
27
+ | **BIP-48** | *Multisig Structure* | **ํ˜ธํ™˜์„ฑ.** ๊ฒฝ๋กœ `m/48'/coin_type'/...`์„ ์‚ฌ์šฉํ•˜๋Š” BIP-43 ๊ธฐ๋ฐ˜์˜ ๊ณ ๊ธ‰ ๋ฉ€ํ‹ฐ์‹œ๊ทธ ๊ตฌ์กฐ. ์ด๋Ÿฌํ•œ ๋ฉ€ํ‹ฐ์‹œ๊ทธ ํŠธ๋žœ์žญ์…˜์„ ์„œ๋ช…ํ•˜๋Š” ๋งˆ์Šคํ„ฐ ์‹œ๋“œ์˜ ๋ณต๊ตฌ์— ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. |
28
+ | **BIP-49** | *Nested SegWit* | **์™„์ „ ์ง€์›.** ๊ณต์‹ ๊ฒฝ๋กœ `m/49'/0'/0'/0/index` ์•„๋ž˜์—์„œ ๋„์ถœ๋˜๋Š”, ๋ฌธ์ž `3`์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋น„ํŠธ์ฝ”์ธ ๊ณผ๋„๊ธฐ ์ฃผ์†Œ(P2SH-P2WPKH ํ˜•์‹). |
29
+ | **BIP-84** | *Native SegWit* | **์™„์ „ ์ง€์›.** `m/84'/0'/0'/0/index`(LTC์˜ ๊ฒฝ์šฐ `m/84'/2'/...`) ์•„๋ž˜์—์„œ ๋„์ถœ๋˜๋Š”, `bc1q`๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ตœ์‹  ๊ณ ์„ฑ๋Šฅ ๋น„ํŠธ์ฝ”์ธ ์ฃผ์†Œ ๋ฐ `ltc1`๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ผ์ดํŠธ์ฝ”์ธ ์ฃผ์†Œ(Bech32 ํ˜•์‹). |
30
+ | **BIP-85** | *Child Seeds* | **๊ฐœ๋…์  ํ˜ธํ™˜์„ฑ.** BIP-39 ๋งˆ์Šคํ„ฐ ์‹œ๋“œ๊ฐ€ `m/85'/...`์™€ ๊ฐ™์€ ๊ฒฝ๋กœ ์•„๋ž˜์—์„œ ๋‹ค๋ฅธ ์ง€๊ฐ‘์„ ์œ„ํ•ด ์ƒˆ๋กœ์šด ์•ˆ์ „ํ•œ ํ•˜์œ„ ์‹œ๋“œ(12๋‹จ์–ด ๋˜๋Š” 24๋‹จ์–ด)๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋ถ„์‹คํ•œ ์‹œ๋“œ๊ฐ€ BIP-85์— ์˜ํ•ด ๋„์ถœ๋œ ํ•˜์œ„ ์‹œ๋“œ์ธ ๊ฒฝ์šฐ, ์—”์ง„์€ ์ผ๋ฐ˜์ ์ธ BIP-39 ์‹œ๋“œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ด๋ฅผ ๋ณต๊ตฌํ•ฉ๋‹ˆ๋‹ค. |
31
+ | **BIP-86** | *Taproot* | **์™„์ „ ์ง€์›.** ํ‘œ์ค€ ๊ฒฝ๋กœ `m/86'/0'/0'/0/index` ์•„๋ž˜์—์„œ ๋„์ถœ๋˜๋Š”, `bc1p`๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ฐจ์„ธ๋Œ€ ๋น„ํŠธ์ฝ”์ธ ์ฃผ์†Œ(Schnorr/Taproot ์„œ๋ช…)(Bech32m ํ˜•์‹). |
32
+
33
+ ---
34
+
35
+ ## โšก ์™œ cryptoseed๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๋Š”๊ฐ€?
36
+
37
+ **b2 wallet** / [better2better](https://better2better.net) ์—์ฝ”์‹œ์Šคํ…œ์˜ ๊ณ ๊ฐ๊ณผ ์นœ๊ตฌ๋“ค์„ ์œ„ํ•ด ์ง€๊ฐ‘์„ ๋ณต๊ตฌํ•ด์•ผ ํ–ˆ์„ ๋•Œ, ๊ธฐ์กด ๋„๊ตฌ๋Š” ๋„ˆ๋ฌด ๋ณต์žกํ•˜๊ฑฐ๋‚˜(Node๋ฅผ ์†์ƒ์‹œํ‚ค๋Š” ๋„ค์ดํ‹ฐ๋ธŒ C++ ์ปดํŒŒ์ผ์ด ํ•„์š”ํ•จ) ๋ธ”๋ก์ฒด์ธ์˜ ์—ญ์‚ฌ์  ๋ณ€ํ™”๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.
38
+
39
+ 1. **๋„ค์ดํ‹ฐ๋ธŒ ์ข…์†์„ฑ ์ œ๋กœ (Pure JS):** Windows, Linux ๋˜๋Š” macOS์—์„œ ๋ฌธ์ œ์—†์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. `pkg`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด์‹ ๊ฐ€๋Šฅํ•œ ์‹คํ–‰ ํŒŒ์ผ์„ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
40
+ 2. **"๊ธ€์ž ์Šฌ๋ผ์ด์‹ฑ" ๊ธฐ์ˆ  (Prefix Fallback):** `engino`์™€ ๊ฐ™์ด ์ž˜๋ชป๋œ ๋‹จ์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๊ณต์‹ ์‚ฌ์ „์—์„œ ๊ฐ€์žฅ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๋‹จ์–ด๋ฅผ ์ž๋™์œผ๋กœ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ๋‹จ์–ด๋ฅผ ๋ฌธ์ž๋ณ„๋กœ ์Šฌ๋ผ์ด์‹ฑํ•˜๋Š”(`e-n-g-i-n-o` -> `e-n-g-i-n` -> `engine`) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
41
+ 3. **์Šค๋งˆํŠธํ•œ ๋ถ„์‹ค ๋‹จ์–ด ์ฒ˜๋ฆฌ:** ์‚ฌ์ „์— ์ ‘๋‘์‚ฌ ์ผ์น˜๊ฐ€ ์—†๋Š” ๋ฏธ์ง€์˜ ๋‹จ์–ด๋ฅผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋ฐœ๊ฒฌํ•˜๋ฉด, ์‚ฌ์ „์˜ ๋ชจ๋“  ๊ฐ€๋Šฅ์„ฑ์„ ์ž๋™์œผ๋กœ ํ•˜๋‚˜์”ฉ ํ…Œ์ŠคํŠธํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฅผ ์™€์ผ๋“œ์นด๋“œ(`*`)๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
42
+ 4. **์กฐ๊ธฐ ๊ฐ€์ง€์น˜๊ธฐ (Early Branch Pruning):** ์ œ์•ฝ ์กฐ๊ฑด(ํ•„์ˆ˜ ๋‹จ์–ด ๋ฐ ์ œ์™ธ ๋‹จ์–ด - NOK)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์กฐ๊ธฐ ๊ฐ€์ง€์น˜๊ธฐ๋ฅผ ๊ฐ–์ถ˜ ๊ฒ€์ƒ‰ ์—”์ง„์„ ๊ฐœ๋ฐœํ•˜์—ฌ ํ”„๋กœ์„ธ์„œ๊ฐ€ ์ˆ˜์‹ญ์–ต ๊ฐœ์˜ ๋ฌด์˜๋ฏธํ•œ ์กฐํ•ฉ์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.
43
+ 5. **ํ†ตํ•ฉ ์ฒดํฌ์„ฌ ์šฐํšŒ:** BIP-39 ์‹œ๋“œ์—๋Š” ์ฒดํฌ์„ฌ์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์ฝ”๋“œ๋Š” ๋ฌด๊ฑฐ์šด ํƒ€์› ๊ณก์„  ์ˆ˜ํ•™์„ ์‹œ๋„ํ•˜๊ธฐ ์ „์— ์ƒ์„ฑ๋œ ๋ชจ๋“  ์กฐํ•ฉ์˜ **99.6%**๋ฅผ ๋ฌด์‹œํ•˜์—ฌ CPU ์‹œ๊ฐ„์„ 1000๋ฐฐ ๋‹จ์ถ•ํ•ฉ๋‹ˆ๋‹ค.
44
+
45
+ ---
46
+
47
+ ## ๐Ÿ› ๏ธ ๋ณต๊ตฌ ๊ธฐ๋Šฅ ๋ฐ ๊ฒ€์ƒ‰ ์—”์ง€๋‹ˆ์–ด๋ง
48
+
49
+ ์›๋ž˜ **2023**๋…„์— **b2 wallet**([better2better](https://better2better.net)) ์—์ฝ”์‹œ์Šคํ…œ ์ „์šฉ ํˆด๋กœ ๊ฐœ๋ฐœ๋œ **cryptoseed**๋Š” ์‹œ์žฅ์˜ ์ผ๋ฐ˜์ ์ธ ์†”๋ฃจ์…˜์— ๋น„ํ•ด ๊ณผํ•™์ ์œผ๋กœ ์šฐ์ˆ˜ํ•œ ๋ณต๊ตฌ ์ธํ”„๋ผ๋ฅผ ์ œ๊ณตํ•˜๊ณ ์ž ๋Œ€์ค‘์—๊ฒŒ ์˜คํ”ˆ์†Œ์Šค๋กœ ๊ณต๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ ์—”์ง„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ๊ณผ ๊ธฐ์ˆ ์  ์ฐจ๋ณ„์ ์„ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค:
50
+
51
+ ### ๐ŸŽฏ ๋‹จ์–ด๋ณ„ ์ƒํƒœ ๋ถ„๋ฅ˜
52
+ ์ผ๋ฐ˜์ ์ธ ๋ณต๊ตฌ ์Šคํฌ๋ฆฝํŠธ์™€ ๋‹ฌ๋ฆฌ, ๋Œ€ํ™”ํ˜• ๋งˆ๋ฒ•์‚ฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์„ธ ๊ฐ€์ง€ ์˜๋ฏธ ์ฒด๊ณ„ ๋ถ„๋ฅ˜๋ฅผ ํ†ตํ•ด ์‹œ๋“œ ๊ตฌ๋ฌธ์˜ ๊ฐ ๋‹จ์–ด๋ณ„ ์‹ ๋ขฐ ์ƒํƒœ๋ฅผ ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:
53
+ * **โœ”๏ธ**: ๋‹จ์–ด์™€ ์‹œ๋“œ ๋‚ด์˜ ์ •ํ™•ํ•œ ์œ„์น˜๊ฐ€ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—”์ง„์ด ํ•ด๋‹น ๋‹จ์–ด๋ฅผ ๊ณ ์ •(Lock)ํ•˜๊ณ  ์ฒ˜๋ฆฌ ๋Šฅ๋ ฅ์„ ๋‚˜๋จธ์ง€ ์Šฌ๋กฏ์—๋งŒ ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค.
54
+ * **๐Ÿ”€**: ๋‹จ์–ด๋Š” ์•Œ๋ ค์ ธ ์žˆ๊ณ  ์„ธํŠธ์— ํฌํ•จ๋˜์ง€๋งŒ, ๊ทธ ์œ„์น˜๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๊ฑฐ๋‚˜ ๋ถˆํ™•์‹คํ•ฉ๋‹ˆ๋‹ค. ์—”์ง„์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋นˆ ์Šฌ๋กฏ ๋‚ด์—์„œ๋งŒ ์•ˆ์ „ํ•œ ์ˆœ์—ด(Permutations)์„ ์œ„ํ•ด ์ด ๋‹จ์–ด๋ฅผ ๋™์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ค‘๋ณต ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
55
+ * **๐ŸŽฒ**: ๋‹จ์–ด๋ฅผ ์™„์ „ํžˆ ๋ถ„์‹คํ–ˆ๊ฑฐ๋‚˜ ์•Œ์•„๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์—”์ง„์ด ํ•ด๋‹น ํ˜•์‹์˜ ์‚ฌ์ „ ๋‚ด ๋ชจ๋“  ๊ฐ€๋Šฅ์„ฑ์„ ์ž๋™์ ์ด๊ณ  ์ „์ˆ˜์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•ฉ๋‹ˆ๋‹ค.
56
+
57
+ ### ๐Ÿ“Š ์ „์ฒ˜๋ฆฌ ๋ฐ ์‹คํ˜„ ๊ฐ€๋Šฅ์„ฑ ์˜ˆ์ธก
58
+ ์ปดํ“จํŒ… ์—๋„ˆ์ง€๋ฅผ ์†Œ๋ชจํ•˜๊ธฐ ์ „์— ์—”์ง„์€ ์ œ๊ณต๋œ ์ œ์•ฝ ์กฐ๊ฑด๊ณผ ์‹œ๋“œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ƒ์„ธํ•œ ์ˆ˜ํ•™์  ํŒจ๋„์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค:
59
+ * **์›์‹œ ๊ฒ€์ƒ‰ ๊ณต๊ฐ„**: ๊ตฌ์„ฑ๋œ ๊ตฌ์กฐ๊ฐ€ ๊ฐ–๋Š” ์ด๋ก ์  ์กฐํ•ฉ์˜ ์ •ํ™•ํ•œ ์ˆ˜ํ•™์  ํ•ฉ๊ณ„๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
60
+ * **ํŠธ๋ฆฌ ๊ฐ€์ง€์น˜๊ธฐ (์ฒดํฌ์„ฌ & ํ•„ํ„ฐ)**: ์ฒดํฌ์„ฌ์ด๋‚˜ NOK ๋‹จ์–ด ์ œ์•ฝ ์กฐ๊ฑด๊ณผ ๊ฐ™์€ ๋…ผ๋ฆฌ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•œ ํ›„ ๋‚จ์€ ์กฐํ•ฉ์˜ ์ˆ˜๋ฅผ ์•Œ๋ ค์ฃผ์–ด ๋ฌด๊ฑฐ์šด ํ‚ค ๋„์ถœ ๊ณ„์‚ฐ๋Ÿ‰์„ ๋Œ€ํญ ์ค„์—ฌ์ค๋‹ˆ๋‹ค.
61
+ * **์Šค์บ” ์‹œ๊ฐ„ ์˜ˆ์ธก**: ํ‰๊ท  ์ง€์—ฐ ์—ฐ๊ฒฐ(๊ณต๊ฐœ API)๊ณผ ๊ณ ์„ฑ๋Šฅ ๋กœ์ปฌ ์—ฐ๊ฒฐ(๋กœ์ปฌ RPC ๋…ธ๋“œ)์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์‹ค์‹œ๊ฐ„ ์Šค์บ” ์‹œ๊ฐ„ ์˜ˆ์ƒ์น˜๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.
62
+ * **์‹คํ˜„ ๋ถˆ๊ฐ€๋Šฅ์„ฑ ๊ฒฝ๊ณ **: ๊ตฌ์„ฑ๋œ ๋ณต์žก๋„๊ฐ€ ์Šˆํผ์ปดํ“จํ„ฐ ์„ฑ๋Šฅ์„ ์š”๊ตฌํ•˜๋Š” ์ˆ˜์ค€์ผ ๊ฒฝ์šฐ ์—”์ง„์ด ์‚ฌ์šฉ์ž์—๊ฒŒ ํˆฌ๋ช…ํ•˜๊ฒŒ ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ํ•˜๋“œ์›จ์–ด๊ฐ€ ๋ฌด์˜๋ฏธํ•˜๊ฒŒ ์ž ๊ธฐ๋Š” ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.
63
+
64
+ ### ๐ŸŒ ๋‹ค์ค‘ ๊ฒ€์ฆ ์—”์ง„ ๋ฐ ํ˜•์‹ ์ง€์›
65
+ ์—์ฝ”์‹œ์Šคํ…œ์€ ๊ณ ์œ ์˜ ํ˜•์‹ ๊ฒ€์ฆ ๊ทœ์น™์„ ๊ฐ€์ง„ ๋‹ค์–‘ํ•œ ์•”ํ˜ธํ™” ๊ตฌ์กฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:
66
+ * **BIP-39 ์—”์ง„**: **12, 15, 18, 21, 24๋‹จ์–ด** ์‹œ๋“œ๋ฅผ ์ง€์›ํ•˜๋ฉฐ, ๋„์ถœ ์ „์— ์ž˜๋ชป๋œ ๊ฐ€์„ค์˜ **99.6%**๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด ํ†ตํ•ฉ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ(*checksum*)๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.
67
+ * **Electrum ์—”์ง„**: Electrum ์‹œ๋“œ(Legacy ๋ฐ Modern)์˜ ๊ณ ์œ  ๊ทœ์น™์— ๊ธฐ๋ฐ˜ํ•œ ๊ฒ€์ฆ ๋ฐ ๋„์ถœ.
68
+ * **Electron Cash ์—”์ง„**: Bitcoin Cash ์—์ฝ”์‹œ์Šคํ…œ์˜ ๋„์ถœ ๋ฐ ์ฒดํฌ์„ฌ ๊ฒ€์ฆ ๋กœ์ง์˜ ์ •ํ™•ํ•œ ํฌํŒ….
69
+ * **๋ฌด๊ฒ€์ฆ ๋ชจ๋“œ (๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…)**: ์ฒดํฌ์„ฌ ๊ฒ€์‚ฌ๊ฐ€ ์—†๋Š” ์›์‹œ ๋„์ถœ ์—”์ง„์œผ๋กœ, ๋…์ ์ ์ธ ๊ธฐ์กด ๋ ˆ๊ฑฐ์‹œ ํ˜•์‹์ด๋‚˜ ๋น„ํ‘œ์ค€ ์ปค์Šคํ…€ ์‹œ๋“œ ๊ตฌ๋ฌธ์— ์ ํ•ฉํ•˜๋ฉฐ ์ตœ๋Œ€์˜ ๊ฒ€์ƒ‰ ๋ฒ”์œ„๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
70
+
71
+ ### ๐Ÿงฉ ๋ณต์žกํ•œ ๊ฒฐํ•ฉ ์ผ€์ด์Šค ํ•ด๊ฒฐ
72
+ ์—”์ง„์€ ๋‹จ ํ•œ ๋ฒˆ์˜ ์‹คํ–‰์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณ ๋‚œ๋„ ๋ณตํ•ฉ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค:
73
+ * ์•Œ๋ ค์ง„ ์œ„์น˜ ๋˜๋Š” ์•Œ๋ ค์ง€์ง€ ์•Š์€ ์œ„์น˜์—์„œ ํ•˜๋‚˜ ์ด์ƒ์˜ ๋‹จ์–ด๊ฐ€ ์™„์ „ํžˆ ๋ถ„์‹ค๋œ ๊ฒฝ์šฐ.
74
+ * ์•Œ๋ ค์ง„ ๋‹จ์–ด๋“ค์˜ ์ˆœ์„œ๊ฐ€ ๋’ค์„ž์ธ ๊ฒฝ์šฐ.
75
+ * ํ˜ผํ•ฉ ์‹œ๋‚˜๋ฆฌ์˜ค(์˜ˆ: ๋‹จ์–ด๊ฐ€ ๋ˆ„๋ฝ๋˜๋Š” ๋™์‹œ์— ์•Œ๋ ค์ง„ ๋‹จ์–ด๋“ค์˜ ์ˆœ์„œ๋„ ์–ด๊ธ‹๋‚œ ๊ฒฝ์šฐ).
76
+ * ๊ฒ€์ƒ‰ ํ”„๋กœํ•„ ์„ ํƒ: **์ตœ๋Œ€ ์†๋„**(์ฒดํฌ์„ฌ ๋ฐ ์ œ์•ฝ ์กฐ๊ฑด ์‚ฌ์šฉ) ๋˜๋Š” **์ตœ๋Œ€ ๋ฒ”์œ„**(๊ด‘๋ฒ”์œ„ํ•œ ์ˆ˜ํ•™์  ๋ฌด์ฐจ๋ณ„ ๋Œ€์ž…).
77
+
78
+ ---
79
+
80
+ ## โš™๏ธ ์„ค์น˜
81
+
82
+ ### ๊ธ€๋กœ๋ฒŒ ์„ค์น˜ (๋Œ€ํ™”ํ˜• CLI ๋„๊ตฌ๋ฅผ ํ„ฐ๋ฏธ๋„์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•  ๊ฒฝ์šฐ)
83
+ ```bash
84
+ npm install -g cryptoseed
85
+ ```
86
+
87
+ ### ๋กœ์ปฌ ์„ค์น˜ (Node ํ”„๋กœ์ ํŠธ์— ๋กœ์ง์„ ์ž„ํฌํŠธํ•  ๊ฒฝ์šฐ)
88
+ ```bash
89
+ npm install cryptoseed
90
+ ```
91
+
92
+ ---
93
+
94
+ ## ๐Ÿ›ก๏ธ ์ฝ”๋“œ์—์„œ์˜ ์‚ฌ์šฉ ๋ฐฉ๋ฒ• (JavaScript API)
95
+
96
+ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— **b2 wallet**์˜ ๋ณด์•ˆ ๋กœ์ง์„ ์ฆ‰์‹œ ํ†ตํ•ฉํ•˜๊ธฐ ์œ„ํ•œ ๊นจ๋—ํ•˜๊ณ  ์ž˜ ๊ตฌ์กฐํ™”๋œ ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
97
+
98
+ ```javascript
99
+ const { wordlists, searchEngine, addressDeriver, typo } = require('cryptoseed');
100
+
101
+ // 1. "๊ธ€์ž ์Šฌ๋ผ์ด์‹ฑ"์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฒ ์ž ์˜ค๋ฅ˜ ์ˆ˜์ •ํ•˜๊ธฐ
102
+ const dictionary = wordlists.bip39.ko || wordlists.bip39.en;
103
+ const wordWithError = "*";
104
+ const suggestions = typo.getPrefixSuggestions(wordWithError, dictionary);
105
+ console.log("์ถ”์ •๋œ ๋‹จ์–ด:", suggestions); // [ 'engine' ]์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
106
+
107
+ // 2. MetaMask (EVM)์˜ ์‹ค์ œ ๊ณต๊ฐœ ํ‚ค ์ฃผ์†Œ ๋„์ถœํ•˜๊ธฐ
108
+ const seed = "cabin engine harvest fiction witness walnut ladder tumble insect fox notable spoon";
109
+ const ethAddress = addressDeriver.deriveAddress(seed, 'metamask', 'ETH', 0);
110
+ console.log("Ethereum ์ฃผ์†Œ:", ethAddress);
111
+
112
+ // 3. B2 Wallet์˜ ์•”ํ˜ธํ™” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งž์ถคํ˜• ์ฃผ์†Œ ๋„์ถœํ•˜๊ธฐ
113
+ const b2Address = addressDeriver.deriveAddress(seed, 'b2wallet', 'BTC', 0);
114
+ console.log("B2 Wallet์ƒ์˜ Bitcoin ์ฃผ์†Œ:", b2Address);
115
+ ```
116
+
117
+ ---
118
+
119
+ ## ๐Ÿ’ป ๋Œ€ํ™”ํ˜• CLI
120
+
121
+ ํ„ฐ๋ฏธ๋„์—์„œ ๋ฉ”์ธ ๋ช…๋ น์„ ์ž…๋ ฅํ•˜๊ณ  ๋งˆ๋ฒ•์‚ฌ์˜ ์ง€์‹œ๋ฅผ ๋”ฐ๋ฅด๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
122
+ ```bash
123
+ cryptoseed
124
+ ```
125
+
126
+ ### ๋„์›€๋ง ๋ฐ ์—ญ์‚ฌ ๊ด€๋ จ ๋ช…๋ น
127
+
128
+ * **๋น ๋ฅธ ๋„์›€๋ง (`-h` ๋˜๋Š” `--help`):** ์‚ฌ์šฉ ๊ฐ€์ด๋“œ์™€ ๋ช…๋ น์ค„ ์˜ต์…˜์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
129
+ ```bash
130
+ cryptoseed --help
131
+ ```
132
+ * **์ •๋ณด ์ฝ˜ํŽœ๋””์›€ (`-i` ๋˜๋Š” `--info`):** ์ง€์›๋˜๋Š” ๊ฐ ๋ธ”๋ก์ฒด์ธ์˜ ์™„์ „ํ•œ ์—ญ์‚ฌ์  ์š”์•ฝ, ์—ฐ๋„๋ณ„๋กœ ์‚ฌ์šฉ๋˜๋Š” ํ‘œ์ค€ HD ๊ฒฝ๋กœ ๋ฐ ํ˜ธํ™˜๋˜๋Š” ์ง€๊ฐ‘์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์˜› ์ž๊ธˆ์ด ์–ด๋””์— ๋ณด๊ด€๋˜์–ด ์žˆ๋Š”์ง€ ์ฐพ๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค!
133
+ ```bash
134
+ cryptoseed --info
135
+ ```
136
+
137
+ ---
138
+
139
+ ## ๐Ÿงฎ ์ˆ˜ํ•™์  ๋ฐฐ๊ฒฝ ๋ฐ ์‹คํ˜„ ๊ฐ€๋Šฅ์„ฑ์˜ ํ•œ๊ณ„
140
+
141
+ ์‹œ๋“œ๋ฅผ ๋ถ„์‹คํ•œ ๊ฒฝ์šฐ ๋ณต๊ตฌ ํ™•๋ฅ ์— ๋Œ€ํ•ด ํ˜„์‹ค์ ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜๊ฐ€ ๋†’์€ ๊ฒ€์ƒ‰์„ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํ˜„์‹ค์ ์ธ ๊ฒฝ๊ณ ๋ฅผ ํ‘œ์‹œํ•˜๋„๋ก ๊ฒ€์ƒ‰ ์—”์ง„์„ ์„ค๊ณ„ํ–ˆ์Šต๋‹ˆ๋‹ค.
142
+
143
+ ### BIP-39 ์กฐํ•ฉ ํ‘œ (2048๋‹จ์–ด ์‚ฌ์ „)
144
+
145
+ | ๋ถ„์‹คํ•œ ๋‹จ์–ด ์ˆ˜ | ์กฐํ•ฉ ๊ณ„์‚ฐ ๊ณต์‹ | ์ด ๊ฐ€๋Šฅ์„ฑ | ์‹ค์ œ ์‹คํ˜„ ๊ฐ€๋Šฅ์„ฑ |
146
+ | :---: | :---: | :---: | :--- |
147
+ | **1 ๋‹จ์–ด** | $2048^1$ | **2,048** | **์™„์ „ํžˆ ๊ฐ€๋Šฅ** (๋ชจ๋“  CPU์—์„œ 1์ดˆ ๋ฏธ๋งŒ) |
148
+ | **2 ๋‹จ์–ด** | $2048^2$ | **4,194,304** | **๊ฐ€๋Šฅ** (์ตœ์ ํ™”๋œ ์—”์ง„์œผ๋กœ ๋ช‡ ์ดˆ ๋‚ด์— ๋ณต๊ตฌ) |
149
+ | **3 ๋‹จ์–ด** | $2048^3$ | **8,589,934,592** | **๋งค์šฐ ๋ฌด๊ฑฐ์›€** (๋‹จ์–ด ์œ„์น˜๋ฅผ ์•Œ๊ฑฐ๋‚˜ ์ œ์•ฝ ์กฐ๊ฑด์ด ์žˆ์œผ๋ฉด ๊ฐ€๋Šฅ) |
150
+ | **4 ๋‹จ์–ด** | $2048^4$ | **17,592,186,044,416** | **์‹คํ–‰ ๋ถˆ๊ฐ€๋Šฅ** (์ผ๋ฐ˜ PC์—์„œ๋Š” ์ˆ˜์ฃผ ๋˜๋Š” ์ˆ˜๊ฐœ์›” ์†Œ์š”) |
151
+ | **5 ๋‹จ์–ด** | $2048^5$ | **36,028,797,018,963,968**| **์ˆ˜ํ•™์ ์œผ๋กœ ๋ถˆ๊ฐ€๋Šฅ** (์Šˆํผ์ปดํ“จํ„ฐ ํ•„์š”) |
152
+
153
+ ---
154
+
155
+ ## ๐Ÿ“Š ์ง€์›ํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ ๋ฐ ์ง€๊ฐ‘ ๋งคํŠธ๋ฆญ์Šค (39๊ฐœ ๋„คํŠธ์›Œํฌ)
156
+
157
+ ๋‹ค์Œ์€ **cryptoseed** ๋„์ถœ ์—”์ง„์— ์˜ํ•ด ๊ณ ์œ ํ•˜๊ฒŒ ์ง€์›๋˜๋Š” ๋ชจ๋“  39๊ฐœ์˜ ๋„คํŠธ์›Œํฌ ๋ฐ ์—์ฝ”์‹œ์Šคํ…œ์˜ ์ƒ์„ธ ๋ชฉ๋ก์ด๋ฉฐ, ํ•˜์œ„ ํ˜ธํ™˜์„ฑ ๋ฐ ํ˜„๋Œ€์  ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
158
+
159
+ | ์—์ฝ”์‹œ์Šคํ…œ / ๋„คํŠธ์›Œํฌ | ์‹ฌ๋ณผ | ๊ธฐ๋ณธ ๋„์ถœ ๊ฒฝ๋กœ (HD Path) | ํ˜ธํ™˜ ๊ฐ€๋Šฅํ•œ ์ฐธ์กฐ ์ง€๊ฐ‘ |
160
+ | :--- | :---: | :--- | :--- |
161
+ | **Bitcoin** | BTC | `m/84'/0'/0'/0/i` (Native SegWit)<br>`m/49'/0'/0'/0/i` (Nested SegWit)<br>`m/44'/0'/0'/0/i` (Legacy)<br>`m/86'/0'/0'/0/i` (Taproot) | B2 Wallet, Electrum, Trust Wallet, Ledger, Trezor |
162
+ | **Ethereum** | ETH | `m/44'/60'/0'/0/i` | B2 Wallet, MetaMask, Rabby, Trust Wallet, Ledger, Trezor |
163
+ | **BNB Chain** | BNB | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Trust Wallet, Ledger, Trezor |
164
+ | **Polygon** | MATIC | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Trust Wallet, Ledger, Trezor |
165
+ | **Arbitrum** | ARB | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Rabby, Trust Wallet, Ledger, Trezor |
166
+ | **Optimism** | OP | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Rabby, Trust Wallet, Ledger, Trezor |
167
+ | **Avalanche** | AVAX | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, Core, MetaMask, Trust Wallet, Ledger, Trezor |
168
+ | **Base** | BASE | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Trust Wallet, Ledger, Trezor |
169
+ | **Fantom** | FTM | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Trust Wallet, Ledger, Trezor |
170
+ | **Cronos** | CRO | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Trust Wallet, Ledger, Trezor |
171
+ | **Harmony** | ONE | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Trust Wallet |
172
+ | **Gnosis Chain** | GNOSIS | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Rabby, Trust Wallet, Ledger, Trezor |
173
+ | **Solana** | SOL | `m/44'/501'/0'/0'` (Phantom Standard)<br>`m/44'/501'/0'/0/i` (Sollet/Legacy) | B2 Wallet, Phantom, Sollet, Solflare, Trust Wallet |
174
+ | **Cardano** | ADA | `m/1852'/1815'/0'/0/i` (Shelley Native)<br>`m/44'/1815'/0'/0/i` (Byron Legacy) | Yoroi, Daedalus, Eternl, Lace |
175
+ | **TRON** | TRX | `m/44'/195'/0'/0/i` | B2 Wallet, TronLink, Trust Wallet, Ledger, Trezor |
176
+ | **Waves** | WAVES | `m/44'/5741564'/0'/0/i` | Waves Keeper, Waves Client |
177
+ | **Stellar** | XLM | `m/44'/148'/0'/0/i` | Lobstr, Stellar Wallet, Ledger |
178
+ | **Ripple** | XRP | `m/44'/144'/0'/0/i` | Toast Wallet, Xumm, Ledger, Trezor |
179
+ | **Polkadot** | DOT | `m/44'/354'/0'/0'/0'` (Substrate Path) | Polkadot.js, Talisman, Fearless |
180
+ | **Kusama** | KSM | `m/44'/434'/0'/0'/0'` (Kusama Path) | Polkadot.js, Talisman, Fearless |
181
+ | **Cosmos** | ATOM | `m/44'/118'/0'/0/i` | Keplr, Cosmostation, Ledger |
182
+ | **Osmosis** | OSMO | `m/44'/118'/0'/0/i` | Keplr, Cosmostation, Ledger |
183
+ | **Secret Network** | SCRT | `m/44'/529'/0'/0/i` | Keplr, Cosmostation |
184
+ | **Injective** | INJ | `m/44'/60'/0'/0/i` (Keccak-256) | Keplr, MetaMask, Leap |
185
+ | **Hedera** | HBAR | `m/44'/3030'/0'/0/i` | Hashpack, Blade Wallet |
186
+ | **NEM** | XEM | `m/44'/43'/0'/0/i` | NEM Wallet |
187
+ | **Chia** | XCH | `m/44'/8444'/0'/0/i` | Chia Wallet |
188
+ | **Tezos** | XTZ | `m/44'/1729'/0'/0/i` | Temple, Kukai, Ledger |
189
+ | **Algorand** | ALGO | `m/44'/283'/0'/0'/0'` | Pera Wallet, Defly Wallet |
190
+ | **Near** | NEAR | `m/44'/397'/0'/0'/0'` | MyNearWallet, Sender Wallet |
191
+ | **Sui** | SUI | `m/44'/784'/0'/0'/0'` | Sui Wallet, Suiet, Trust Wallet |
192
+ | **Aptos** | APT | `m/44'/637'/0'/0'/0'` | Petra Wallet, Pontem, Martian |
193
+ | **Litecoin** | LTC | `m/84'/2'/0'/0/i` (Native SegWit)<br>`m/44'/2'/0'/0/i` (Legacy) | B2 Wallet, Electrum LTC, Trust Wallet, Ledger |
194
+ | **Dogecoin** | DOGE | `m/44'/3'/0'/0/i` | B2 Wallet, Multidoge, Trust Wallet, Ledger, Trezor |
195
+ | **Bitcoin Cash** | BCH | `m/44'/145'/0'/0/i` | B2 Wallet, Electron Cash, Trust Wallet, Ledger |
196
+ | **Dash** | DASH | `m/44'/5'/0'/0/i` | B2 Wallet, Dash Core, Trust Wallet, Ledger |
197
+ | **Zcash** | ZEC | `m/44'/133'/0'/0/i` | B2 Wallet, Trust Wallet, Ledger |
198
+ | **Kaspa** | KAS | `m/44'/111111'/0'/0/i` | Kaspium, Kaspa Web Wallet |
199
+ | **Monero** | XMR | `m/44'/128'/0'/0/i` | Cake Wallet, Monerujo, GUI Wallet |
200
+
201
+ ---
202
+
203
+ ## ๐Ÿ› ๏ธ ์„ฑ๋Šฅ: ๋กœ์ปฌ RPC ๋…ธ๋“œ vs ๊ณต๊ฐœ API
204
+
205
+ ๊ฐ ๊ฒ€์ƒ‰์˜ ์ข…๋ฃŒ ์‹œ์ ์— **cryptoseed**๋Š” ์ƒ์„ธํ•œ ๋ณต๊ตฌ ๋ณด๊ณ ์„œ๋ฅผ ๋””์Šคํฌ์— ์ €์žฅํ•˜๊ณ (`resultado_recuperacao_[timestamp].txt`), ๋ฐœ๊ฒฌ๋œ ์‹œ๋“œ๊ฐ€ ์˜จ์ฒด์ธ์—์„œ ์ž๊ธˆ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ฟผ๋ฆฌ ์†๋„์˜ ํ˜„์‹ค์ ์ธ ์˜ˆ์ธก์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
206
+
207
+ * **๊ณต๊ฐœ API์— ์˜ํ•œ ์ฟผ๋ฆฌ (์š”์ฒญ๋‹น 50ms):** ํ›„๋ณด ์‹œ๋“œ๊ฐ€ ๊ทนํžˆ ์ ์€ ๊ฒฝ์šฐ($<100$)์—๋งŒ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท ์ง€์—ฐ ๋ฐ ์š”์ฒญ ์†๋„ ์ œํ•œ์˜ ์˜ํ–ฅ์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
208
+ * **๋กœ์ปฌ RPC ๋…ธ๋“œ์— ์˜ํ•œ ์ฟผ๋ฆฌ (์š”์ฒญ๋‹น 0.1ms):** ๋Œ€๊ทœ๋ชจ ๊ฒ€์ƒ‰($>1000$ ์‹œ๋“œ)์— ์ด์ƒ์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ž์‹ ์˜ ์ปดํ“จํ„ฐ์—์„œ ๋กœ์ปฌ๋กœ ์‹คํ–‰ํ•˜์—ฌ ์ด ์Šค์บ” ์‹œ๊ฐ„์„ ์ตœ๋Œ€ **500๋ถ„์˜ 1**๋กœ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
209
+
210
+ ---
211
+
212
+ ## ๐ŸŽ“ ์‚ฌํ† ์‹œ ์‹œ๋Œ€์˜ ์ด์Šคํ„ฐ ์—๊ทธ (2009 - 2010)
213
+
214
+ ์ง€๊ฐ‘์ด **2010๋…„ ์ด์ „**์— ์ƒ์„ฑ๋œ ๊ฒƒ์„ ๋ณต๊ตฌ ๋งˆ๋ฒ•์‚ฌ์—์„œ ์„ ํƒํ•˜๋ ค๊ณ  ํ•˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์€ ์‹คํ–‰์„ ์ค‘๋‹จํ•˜๊ณ  ์—ญ์‚ฌ์  ๋น„๋ฐ€์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. **์ด ์ฐฝ์„ธ๊ธฐ ์‹œ๋Œ€์—๋Š” ์—ฐ์ƒ ๊ธฐํ˜ธ ๋ณต๊ตฌ ์‹œ๋“œ ๊ตฌ๋ฌธ์ด๋ผ๋Š” ๊ฒƒ ์ž์ฒด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค!**
215
+ ์‚ฌํ† ์‹œ ๋‚˜์นด๋ชจํ† ์˜ ์›๋ž˜ ํด๋ผ์ด์–ธํŠธ(Bitcoin-Qt)๋Š” ์ด์ง„ ํŒŒ์ผ `wallet.dat`์— ์ €์žฅ๋œ ๋ฌด์ž‘์œ„ ๊ฐœ์ธ ํ‚ค๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ํŒŒ์ผ์„ ๋ถ„์‹คํ•œ ๊ฒฝ์šฐ ๊ฒฐ์ •๋ก ์  ์‹œ๋“œ๋Š” ์•„์ง ๋ฐœ๋ช…๋˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋– ํ•œ ๋‹จ์–ด ๊ตฌ๋ฌธ๋„ ์ž๊ธˆ์„ ๋ณต๊ตฌํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค!
216
+
217
+ ---
218
+
219
+ ## ๐Ÿ›ก๏ธ ๋ผ์ด์„ ์Šค, ๋ณด์•ˆ ๋ฐ ๊ฑฐ๋ฒ„๋„Œ์Šค
220
+
221
+ ์ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ์—์„œ **100% ์˜คํ”„๋ผ์ธ ๋ฐ ๋กœ์ปฌ**๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” ๊ฐœ๋ฐฉ์ ์ด๊ณ  ๊นจ๋—ํ•˜๋ฉฐ ๋‹จ์–ด๋‚˜ ๊ฐœ์ธ ํ‚ค๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•œ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์€ ์ „ํ˜€ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ณด์•ˆ์ด ์ตœ์šฐ์„ ์ž…๋‹ˆ๋‹ค.
222
+
223
+ * **๋ผ์ด์„ ์Šค:** MIT (2023๋…„ ๊ฐœ๋ฐœ)
224
+ * **ํฌ๋ ˆ๋”ง:** **b2 wallet** / [better2better](https://better2better.net) / [diegooris](https://diegohorantunes.web.app/) ํ”„๋กœ์ ํŠธ.
package/README.md ADDED
@@ -0,0 +1,224 @@
1
+ # ๐Ÿ›ก๏ธ cryptoseed
2
+
3
+ ๐ŸŒ **Select Language / Selecione o Idioma:**
4
+ [Portuguรชs](./README.md) | [English](./README.en.md) | [Espaรฑol](./README.es.md) | [Franรงais](./README.fr.md) | [Italiano](./README.it.md) | [Tรผrkรงe](./README.tr.md) | [ะ ัƒััะบะธะน](./README.ru.md) | [็ฎ€ไฝ“ไธญๆ–‡](./README.zh.md) | [ๆ—ฅๆœฌ่ชž](./README.ja.md) | [ํ•œ๊ตญ์–ด](./README.ko.md) | [ืขื‘ืจื™ืช](./README.he.md)
5
+
6
+
7
+ O **cryptoseed** รฉ uma biblioteca de classe empresarial, leve e de alta performance desenvolvida em **JavaScript Puro** (Node.js) voltada ao diagnรณstico, validaรงรฃo e recuperaรงรฃo de sementes mnemรดnicas (*seed phrases*) criptogrรกficas que foram perdidas, desordenadas ou digitadas com incorreรงรตes ortogrรกficas.
8
+
9
+ Desenvolvida sob o ecossistema de seguranรงa e infraestrutura da **b2 wallet** ([better2better](https://better2better.net), sob lideranรงa de [diegooris](https://diegohorantunes.web.app/)), a biblioteca foi projetada para prover a desenvolvedores e analistas de seguranรงa robustez mรกxima, alta velocidade de busca e precisรฃo histรณrica cirรบrgica na derivaรงรฃo de endereรงos em **39 blockchains e ecossistemas distintos**. Tudo isso operando de forma 100% autรดnoma, sem dependรชncias de compilaรงรฃo nativa C/C++ ou pacotes externos que possam comprometer a portabilidade do build.
10
+
11
+ ---
12
+
13
+ ## ๐Ÿ“… Linha do Tempo e Variaรงรตes de BIPs Suportadas
14
+
15
+ Para recuperar fundos com precisรฃo, nรฃo basta saber as palavras; vocรช precisa entender em qual especificaรงรฃo tรฉcnica e em qual ano a carteira foi criada. O **cryptoseed** implementa e respeita rigorosamente as variaรงรตes dos padrรตes histรณricos (BIPs).
16
+
17
+ ### ๐Ÿ” Tabela de Padrรตes BIP Implementados e Alinhados
18
+
19
+ | BIP | Nome | Implementaรงรฃo & Suporte no **cryptoseed** |
20
+ | :---: | :--- | :--- |
21
+ | **BIP-32** | *Hierarchical Deterministic Wallets* | **Suporte Total.** ร‰ a base da รกrvore de derivaรงรฃo HD. Permite que o motor derive caminhos infinitos de chaves pรบblicas/privadas (`xprv`/`xpub`) a partir de uma รบnica semente mestre usando matemรกtica de curva elรญptica pura via nosso motor de chaves. |
22
+ | **BIP-39** | *Mnemonic Code* | **Suporte Total.** O padrรฃo mais comum do mercado. Suporta frases de **12, 15, 18, 21 ou 24 palavras** com verificaรงรฃo de integridade (*checksum*) integrada de 4 a 8 bits e dicionรกrios em **10 idiomas** diferentes. |
23
+ | **BIP-43** | *Purpose Field* | **Suporte Total.** Respeita a estrutura que introduziu o campo de propรณsito (`m / purpose'`) no topo da รกrvore de caminhos, garantindo que o motor roteie corretamente para carteiras multiuso. |
24
+ | **BIP-44** | *Multi-Account* | **Suporte Total.** O padrรฃo de rota mais comum da indรบstria: `m/44'/coin_type'/account'/change/address_index`. Usado por padrรฃo para Bitcoin Legacy, Ethereum, EVMs, Solana Legacy, TRON, Cardano Legacy, etc. |
25
+ | **BIP-45** | *Multisig HD* | **Alinhamento de Caminho.** Utilizado para carteiras multifirmas em caminhos de propรณsito `m/45'`. Se vocรช estiver recuperando uma semente individual que faz parte de um conjunto multisig BIP-45, o motor deriva as chaves privadas individuais desse caminho normalmente. |
26
+ | **BIP-47** | *Payment Codes* | **Compatibilidade de Semente.** Cรณdigos de pagamento reutilizรกveis e privados (como as carteiras Samourai). O backup das carteiras que usam BIP-47 รฉ uma semente BIP-39 padrรฃo de 12 ou 24 palavras. O **cryptoseed** recupera essa semente mestre perfeitamente. |
27
+ | **BIP-48** | *Multisig Structure* | **Compatibilidade.** Estrutura multisig avanรงada baseada em BIP-43 utilizando o caminho `m/48'/coin_type'/...`. Compatรญvel para recuperar a semente mestre que assina essas transaรงรตes multifirmas. |
28
+ | **BIP-49** | *Nested SegWit* | **Suporte Total.** Endereรงos de transiรงรฃo do Bitcoin que iniciam com o caractere `3` (formato P2SH-P2WPKH), derivados sob o caminho oficial `m/49'/0'/0'/0/index`. |
29
+ | **BIP-84** | *Native SegWit* | **Suporte Total.** Endereรงos modernos de alta performance do Bitcoin que iniciam com `bc1q` e Litecoin iniciando com `ltc1` (formato Bech32), derivados sob `m/84'/0'/0'/0/index` (e `m/84'/2'/...` para LTC). |
30
+ | **BIP-85** | *Child Seeds* | **Compatibilidade Conceitual.** Permite que uma semente mestre BIP-39 gere novas sub-sementes seguras (de 12 ou 24 palavras) para outras carteiras em caminhos como `m/85'/...`. Se a sua semente perdida for uma semente filha derivada por BIP-85, o motor a recuperarรก como qualquer semente BIP-39 normal. |
31
+ | **BIP-86** | *Taproot* | **Suporte Total.** Endereรงos Bitcoin de รบltima geraรงรฃo (Schnorr/Taproot) iniciando com `bc1p` (Bech32m), derivados sob o caminho padrรฃo `m/86'/0'/0'/0/index`. |
32
+
33
+ ---
34
+
35
+ ## โšก Por Que Escrevi o cryptoseed?
36
+
37
+ Quando precisei recuperar carteiras de clientes e amigos do ecossistema **b2 wallet** / [better2better](https://better2better.net), percebi que as ferramentas existentes eram ou muito complexas (exigindo compilaรงรตes em C++ nativo que quebravam o Node) ou nรฃo entendiam a histรณria de transiรงรฃo das blockchains. Criei esta biblioteca com as seguintes soluรงรตes:
38
+
39
+ 1. **Zero Dependรชncias Nativas (Pure JS):** Funciona sem dor de cabeรงa no Windows, Linux ou macOS. Excelente para compilar executรกveis portรกteis usando o `pkg`.
40
+ 2. **Tecnologia "Comer por Letras" (Prefix Fallback):** Escrevi um algoritmo que, se vocรช digitar uma palavra errada como `engino`, fatiarรก a palavra letra por letra (`e-n-g-i-n-o` -> `e-n-g-i-n` -> `engine`) identificando a palavra mais provรกvel no dicionรกrio oficial automaticamente.
41
+ 3. **Tratamento Inteligente de Palavras Perdidas:** Se o algoritmo encontrar uma palavra desconhecida que nรฃo tenha correspondรชncia de prefixo no dicionรกrio, ele a transforma em um curinga (`*`) para testar todas as possibilidades do dicionรกrio 1 por 1 de maneira automatizada.
42
+ 4. **Early Branch Pruning (Poda de รrvores):** Desenvolvi o motor de busca com poda antecipada baseada em restriรงรตes (palavras obrigatรณrias e palavras excluรญdas - NOK), evitando que o processador calcule bilhรตes de permutaรงรตes inรบteis.
43
+ 5. **Checksum Bypass Integrado:** Como sementes BIP-39 contรชm somas de verificaรงรฃo, o cรณdigo descarta **99.6%** de todas as combinaรงรตes geradas antes mesmo de tentar fazer a matemรกtica pesada de chaves elรญpticas, economizando 1000x de tempo de CPU.
44
+
45
+ ---
46
+
47
+ ## ๐Ÿ› ๏ธ Recursos de Recuperaรงรฃo e Engenharia de Busca
48
+
49
+ Originalmente desenvolvido em **2023** como uma ferramenta de uso exclusivo do ecossistema **b2 wallet** ([better2better](https://better2better.net)), o **cryptoseed** foi aberto ao pรบblico para fornecer uma infraestrutura de recuperaรงรฃo cientificamente superior ร s soluรงรตes comuns do mercado. O motor de busca possui as seguintes capacidades e diferenciais:
50
+
51
+ ### ๐ŸŽฏ Marcaรงรฃo de Estados por Palavra
52
+ Diferente de scripts rudimentares, o assistente permite que vocรช configure o estado de confianรงa de cada uma das palavras da semente de forma individual usando trรชs classificaรงรตes semรขnticas:
53
+ * **โœ”๏ธ**: A palavra e a sua posiรงรฃo exata na semente estรฃo confirmadas. O motor trava essa palavra e foca os recursos de processamento exclusivamente nos outros slots.
54
+ * **๐Ÿ”€**: A palavra รฉ conhecida e pertence ao conjunto, mas a sua posiรงรฃo estรก incorreta ou รฉ incerta. O motor considera essa palavra dinamicamente para permutaรงรตes seguras apenas nas vagas disponรญveis, evitando testes redundantes.
55
+ * **๐ŸŽฒ**: A palavra estรก totalmente perdida ou รฉ ilegรญvel. O motor testa de forma exaustiva todas as possibilidades do dicionรกrio do padrรฃo de forma automatizada.
56
+
57
+ ### ๐Ÿ“Š Prรฉ-Processamento e Estimativa de Viabilidade
58
+ Antes de gastar energia computacional, o motor analisa a semente e as restriรงรตes fornecidas para exibir um painel matemรกtico detalhado:
59
+ * **Espaรงo de Busca Bruto**: Exibe o total matemรกtico exato de combinaรงรตes teรณricas que a estrutura configurada possui.
60
+ * **Poda de รrvore (Checksum & Filtros)**: Informa quantas combinaรงรตes restam apรณs aplicar filtros lรณgicos imediatos (como checksums ou restriรงรตes de palavras NOK), reduzindo drasticamente o nรบmero de derivaรงรตes pesadas.
61
+ * **Estimativas de Tempo de Varredura**: Compara em tempo real a projeรงรฃo de tempo necessรกria usando conexรตes de latรชncia mรฉdia (APIs pรบblicas) vs. conexรตes de altรญssima performance (RPC local).
62
+ * **Alerta de Inviabilidade**: O motor avisa de forma transparente caso a complexidade configurada exija supercomputaรงรฃo, prevenindo o travamento desnecessรกrio do hardware do usuรกrio.
63
+
64
+ ### ๐ŸŒ Mรบltiplos Motores de Validaรงรฃo e Formatos
65
+ O ecossistema suporta diferentes estruturas criptogrรกficas com regras especรญficas de validaรงรฃo:
66
+ * **Motor BIP-39**: Suporte a sementes de **12, 15, 18, 21 e 24 palavras**, aplicando verificaรงรฃo de integridade (*checksum*) integrada para descartar **99.6%** das hipรณteses falsas antes da derivaรงรฃo.
67
+ * **Motor Electrum**: Validaรงรฃo e derivaรงรฃo baseadas nas regras exclusivas de sementes Electrum (Legacy e Modern).
68
+ * **Motor Electron Cash**: Adaptaรงรฃo exata das lรณgicas de derivaรงรฃo e verificaรงรฃo de somas do ecossistema Bitcoin Cash.
69
+ * **Modo Sem Validaรงรฃo (Forรงa Bruta)**: Gerador cru de derivaรงรฃo sem checagem de checksum, ideal para formatos legados proprietรกrios ou sementes customizadas nรฃo padronizadas, garantindo mรกxima abrangรชncia de busca.
70
+
71
+ ### ๐Ÿงฉ Resoluรงรฃo de Casos Complexos Combinados
72
+ O motor resolve problemas de alta complexidade em uma รบnica execuรงรฃo, incluindo:
73
+ * Uma ou mais palavras completamente perdidas em posiรงรตes conhecidas ou desconhecidas.
74
+ * Palavras conhecidas com ordem embaralhada.
75
+ * Cenรกrios mistos (ex: sementes onde faltam palavras e, ao mesmo tempo, as palavras conhecidas estรฃo fora de ordem).
76
+ * Escolha do perfil de busca: **Mรกxima Velocidade** (usando checksums e restriรงรตes) ou **Mรกxima Abrangรชncia** (forรงa bruta matemรกtica ampla).
77
+
78
+ ---
79
+
80
+ ## โš™๏ธ Instalaรงรฃo
81
+
82
+ ### Instalaรงรฃo Global (Para rodar o utilitรกrio CLI interativo direto no terminal)
83
+ ```bash
84
+ npm install -g cryptoseed
85
+ ```
86
+
87
+ ### Instalaรงรฃo Local (Para importar as lรณgicas no seu projeto Node)
88
+ ```bash
89
+ npm install cryptoseed
90
+ ```
91
+
92
+ ---
93
+
94
+ ## ๐Ÿ›ก๏ธ Como Usar no Seu Cรณdigo (API JavaScript)
95
+
96
+ A biblioteca disponibiliza exportaรงรตes limpas e bem-estruturadas para integraรงรฃo imediata das lรณgicas de seguranรงa da **b2 wallet** em sua aplicaรงรฃo:
97
+
98
+ ```javascript
99
+ const { wordlists, searchEngine, addressDeriver, typo } = require('cryptoseed');
100
+
101
+ // 1. Corrigir palavra errada usando "Comer por Letras"
102
+ const dicionario = wordlists.bip39.en;
103
+ const palavraComErro = "*";
104
+ const sugestoes = typo.getPrefixSuggestions(palavraComErro, dicionario);
105
+ console.log("Palavra deduzida:", sugestoes); // Retorna [ 'engine' ]
106
+
107
+ // 2. Derivar endereรงo pรบblico real para MetaMask (EVM)
108
+ const seed = "cabin engine harvest fiction witness walnut ladder tumble insect fox notable spoon";
109
+ const enderecoEth = addressDeriver.deriveAddress(seed, 'metamask', 'ETH', 0);
110
+ console.log("Endereรงo Ethereum:", enderecoEth);
111
+
112
+ // 3. Derivar endereรงo personalizado usando a criptografia da B2 Wallet
113
+ const enderecoB2 = addressDeriver.deriveAddress(seed, 'b2wallet', 'BTC', 0);
114
+ console.log("Endereรงo Bitcoin na B2 Wallet:", enderecoB2);
115
+ ```
116
+
117
+ ---
118
+
119
+ ## ๐Ÿ’ป Como Usar a CLI Interativa
120
+
121
+ Basta digitar o comando principal no seu terminal e seguir o assistente:
122
+ ```bash
123
+ cryptoseed
124
+ ```
125
+
126
+ ### Comandos de Ajuda e Histรณrico
127
+
128
+ * **Ajuda rรกpida (`-h` ou `--help`):** Mostra o guia de uso e as opรงรตes de linha de comando.
129
+ ```bash
130
+ cryptoseed --help
131
+ ```
132
+ * **Compรชndio de Informaรงรฃo (`-i` ou `--info`):** Exibe um resumo histรณrico completo de cada blockchain suportada, os caminhos padrรฃo usados por cada ano e as carteiras compatรญveis. Excelente para entender onde os fundos antigos podem estar guardados!
133
+ ```bash
134
+ cryptoseed --info
135
+ ```
136
+
137
+ ---
138
+
139
+ ## ๐Ÿงฎ A Matemรกtica por Trรกs e Limites de Viabilidade
140
+
141
+ Se vocรช perdeu sua semente, precisa ser realista sobre as probabilidades. Escrevi o motor para exibir alertas realistas antes de iniciar qualquer busca pesada:
142
+
143
+ ### Tabela de Combinaรงรตes BIP-39 (Dicionรกrio de 2048 Palavras)
144
+
145
+ | Palavras Perdidas | Cรกlculo de Combinaรงรตes | Total de Possibilidades | Viabilidade Real |
146
+ | :---: | :---: | :---: | :--- |
147
+ | **1 Palavra** | $2048^1$ | **2.048** | **Totalmente Viรกvel** (Fraรงรตes de segundo em qualquer CPU) |
148
+ | **2 Palavras** | $2048^2$ | **4.194.304** | **Viรกvel** (Poucos segundos com nosso motor otimizado) |
149
+ | **3 Palavras** | $2048^3$ | **8.589.934.592** | **Muito Pesado** (Viรกvel se souber as posiรงรตes ou tiver restriรงรตes) |
150
+ | **4 Palavras** | $2048^4$ | **17.592.186.044.416** | **Inviรกvel** para computadores comuns (demoraria semanas/meses) |
151
+ | **5 Palavras** | $2048^5$ | **36.028.797.018.963.968**| **Matematicamente Impossรญvel** (Exigiria supercomputadores) |
152
+
153
+ ---
154
+
155
+ ## ๐Ÿ“Š Matriz de Blockchains e Carteiras Suportadas (39 Redes)
156
+
157
+ Abaixo consta a relaรงรฃo completa e detalhada de todas as 39 redes e ecossistemas suportados nativamente pelo motor de derivaรงรฃo do **cryptoseed**, assegurando compatibilidade retroativa e contemporรขnea:
158
+
159
+ | Ecossistema / Rede | Sรญmbolo | Caminho de Derivaรงรฃo Padrรฃo (HD Path) | Carteiras de Referรชncia Compatรญveis |
160
+ | :--- | :---: | :--- | :--- |
161
+ | **Bitcoin** | BTC | `m/84'/0'/0'/0/i` (Native SegWit)<br>`m/49'/0'/0'/0/i` (Nested SegWit)<br>`m/44'/0'/0'/0/i` (Legacy)<br>`m/86'/0'/0'/0/i` (Taproot) | B2 Wallet, Electrum, Trust Wallet, Ledger, Trezor |
162
+ | **Ethereum** | ETH | `m/44'/60'/0'/0/i` | B2 Wallet, MetaMask, Rabby, Trust Wallet, Ledger, Trezor |
163
+ | **BNB Chain** | BNB | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Trust Wallet, Ledger, Trezor |
164
+ | **Polygon** | MATIC | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Trust Wallet, Ledger, Trezor |
165
+ | **Arbitrum** | ARB | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Rabby, Trust Wallet, Ledger, Trezor |
166
+ | **Optimism** | OP | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Rabby, Trust Wallet, Ledger, Trezor |
167
+ | **Avalanche** | AVAX | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, Core, MetaMask, Trust Wallet, Ledger, Trezor |
168
+ | **Base** | BASE | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Trust Wallet, Ledger, Trezor |
169
+ | **Fantom** | FTM | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Trust Wallet, Ledger, Trezor |
170
+ | **Cronos** | CRO | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Trust Wallet, Ledger, Trezor |
171
+ | **Harmony** | ONE | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Trust Wallet |
172
+ | **Gnosis Chain** | GNOSIS | `m/44'/60'/0'/0/i` (EVM) | B2 Wallet, MetaMask, Rabby, Trust Wallet, Ledger, Trezor |
173
+ | **Solana** | SOL | `m/44'/501'/0'/0'` (Phantom Standard)<br>`m/44'/501'/0'/0/i` (Sollet/Legacy) | B2 Wallet, Phantom, Sollet, Solflare, Trust Wallet |
174
+ | **Cardano** | ADA | `m/1852'/1815'/0'/0/i` (Shelley Native)<br>`m/44'/1815'/0'/0/i` (Byron Legacy) | Yoroi, Daedalus, Eternl, Lace |
175
+ | **TRON** | TRX | `m/44'/195'/0'/0/i` | B2 Wallet, TronLink, Trust Wallet, Ledger, Trezor |
176
+ | **Waves** | WAVES | `m/44'/5741564'/0'/0/i` | Waves Keeper, Waves Client |
177
+ | **Stellar** | XLM | `m/44'/148'/0'/0/i` | Lobstr, Stellar Wallet, Ledger |
178
+ | **Ripple** | XRP | `m/44'/144'/0'/0/i` | Toast Wallet, Xumm, Ledger, Trezor |
179
+ | **Polkadot** | DOT | `m/44'/354'/0'/0'/0'` (Substrate Path) | Polkadot.js, Talisman, Fearless |
180
+ | **Kusama** | KSM | `m/44'/434'/0'/0'/0'` (Kusama Path) | Polkadot.js, Talisman, Fearless |
181
+ | **Cosmos** | ATOM | `m/44'/118'/0'/0/i` | Keplr, Cosmostation, Ledger |
182
+ | **Osmosis** | OSMO | `m/44'/118'/0'/0/i` | Keplr, Cosmostation, Ledger |
183
+ | **Secret Network** | SCRT | `m/44'/529'/0'/0/i` | Keplr, Cosmostation |
184
+ | **Injective** | INJ | `m/44'/60'/0'/0/i` (Keccak-256) | Keplr, MetaMask, Leap |
185
+ | **Hedera** | HBAR | `m/44'/3030'/0'/0/i` | Hashpack, Blade Wallet |
186
+ | **NEM** | XEM | `m/44'/43'/0'/0/i` | NEM Wallet |
187
+ | **Chia** | XCH | `m/44'/8444'/0'/0/i` | Chia Wallet |
188
+ | **Tezos** | XTZ | `m/44'/1729'/0'/0/i` | Temple, Kukai, Ledger |
189
+ | **Algorand** | ALGO | `m/44'/283'/0'/0'/0'` | Pera Wallet, Defly Wallet |
190
+ | **Near** | NEAR | `m/44'/397'/0'/0'/0'` | MyNearWallet, Sender Wallet |
191
+ | **Sui** | SUI | `m/44'/784'/0'/0'/0'` | Sui Wallet, Suiet, Trust Wallet |
192
+ | **Aptos** | APT | `m/44'/637'/0'/0'/0'` | Petra Wallet, Pontem, Martian |
193
+ | **Litecoin** | LTC | `m/84'/2'/0'/0/i` (Native SegWit)<br>`m/44'/2'/0'/0/i` (Legacy) | B2 Wallet, Electrum LTC, Trust Wallet, Ledger |
194
+ | **Dogecoin** | DOGE | `m/44'/3'/0'/0/i` | B2 Wallet, Multidoge, Trust Wallet, Ledger, Trezor |
195
+ | **Bitcoin Cash** | BCH | `m/44'/145'/0'/0/i` | B2 Wallet, Electron Cash, Trust Wallet, Ledger |
196
+ | **Dash** | DASH | `m/44'/5'/0'/0/i` | B2 Wallet, Dash Core, Trust Wallet, Ledger |
197
+ | **Zcash** | ZEC | `m/44'/133'/0'/0/i` | B2 Wallet, Trust Wallet, Ledger |
198
+ | **Kaspa** | KAS | `m/44'/111111'/0'/0/i` | Kaspium, Kaspa Web Wallet |
199
+ | **Monero** | XMR | `m/44'/128'/0'/0/i` | Cake Wallet, Monerujo, GUI Wallet |
200
+
201
+ ---
202
+
203
+ ## ๐Ÿ› ๏ธ Performance: Nรณ RPC Local vs API Pรบblica
204
+
205
+ Ao fim de cada busca, o **cryptoseed** salva um relatรณrio de recuperaรงรฃo detalhado no seu disco (`resultado_recuperacao_[timestamp].txt`) e faz uma estimativa real da velocidade de consulta para ver se as sementes encontradas tรชm saldo na rede:
206
+
207
+ * **Consultando via APIs Pรบblicas (50ms por requisiรงรฃo):** รštil apenas se vocรช tiver poucas sementes candidatas ($<100$). Sofre com latรชncia de internet e bloqueio de limite de requisiรงรตes.
208
+ * **Consultando via RPC Node Local (0.1ms por requisiรงรฃo):** O caminho ideal para buscas robustas ($>1000$ sementes). Reduz o tempo total de varredura em atรฉ **500 vezes** rodando de forma local na sua prรณpria mรกquina.
209
+
210
+ ---
211
+
212
+ ## ๐ŸŽ“ Easter Egg da Era Satoshi (2009 - 2010)
213
+
214
+ Se vocรช tentar selecionar no assistente que sua carteira foi criada em ou antes de **2010**, o programa interromperรก a execuรงรฃo e te contarรก um segredo histรณrico: **Nesta era gรชnese, sementes mnemรดnicas NรƒO existiam!**
215
+ O cliente original de Satoshi Nakamoto (Bitcoin-Qt) usava chaves privadas aleatรณrias armazenadas no arquivo binรกrio `wallet.dat`. Se vocรช perdeu esse arquivo, nenhuma frase de palavras poderรก recuperar os fundos, pois a semente determinรญstica simplesmente nรฃo tinha sido inventada!
216
+
217
+ ---
218
+
219
+ ## ๐Ÿ›ก๏ธ Licenรงa, Seguranรงa e Governanรงa
220
+
221
+ Esta biblioteca roda de forma **100% offline e local** na sua mรกquina. O cรณdigo รฉ aberto, limpo e nรฃo faz nenhuma requisiรงรฃo de rede para transmitir suas palavras ou chaves privadas. Seguranรงa em primeiro lugar.
222
+
223
+ * **Licenรงa:** MIT (Criado em 2023)
224
+ * **Crรฉditos:** Projeto **b2 wallet** / [better2better](https://better2better.net) / [diegooris](https://diegohorantunes.web.app/).