cake-tech / cake_wallet

The open source repository for Cake Wallet, a noncustodial multi-currency wallet, and Monero.com, a noncustodial Monero-only wallet. Need help? Check out https://guides.cakewallet.com
https://cakewallet.com
MIT License
708 stars 189 forks source link

Add BIP32 seed support for importing Bitcoin wallets #283

Open Edd12321 opened 2 years ago

Edd12321 commented 2 years ago

I've already transferred my coins between two wallets and lost quite a significant portion of my coins due to BLW getting deprecated. At the same time, I've been thinking of using XMR together with BTC, and I thought to use Cake. I can't transfer my coins to Cake (because of the very high transaction fees I'd lose even more money). However, I do have the seed phrase. The main problem here is that this wallet only supports Electrum-style seeds, and BIP32 seeds can't be imported. At least adding the option to import private keys directly would be appreciated. Thanks!

juanpc2018 commented 2 years ago

1.

High Transaction Fee e-coins are for large volume transactions. Ej: you cannot buy a soda and a burger with a 1Kg gold brick. https://goldprice.org/gold-price.html High value assets are for storage, long term investment or large volume transactions.

https://bitinfocharts.com/comparison/transactionfees-btc-eth-ltc-bch-xrp-bsv-etc-xmr-doge-btg.html#log&1y http://www.bitcoinmonitor.com/ https://goldprice.org/gold-price.html

2.

BTC forked to BCH because of high miner fee, and slow transaction confirmation speed... BCH was modified to solve those issues, block size was increased from 1MB to 8MB if i remember correctly. BCH forked to BSV to increase again the Block size to 32MB. there were other forks like LTC, BTG, BCD, DOGE but those forks are mainly focused in algorithm change, or increasing total coins available.

3. There is a web page you need to download, to use OFFLINE...

that web page converts BIP32 to other more compatible, Original BTC wallet for android was also BIP32 only... https://coinomi.freshdesk.com/support/solutions/articles/29000009717-what-is-the-recovery-tool-and-how-do-i-export-my-private-keys- https://coinomi.freshdesk.com/support/solutions/articles/29000013719-how-to-extract-private-keys-from-other-wallets https://www.bip32.net/ http://bip32.org/

but using converters is a High Risk, even if used offline, keys can be stolen. probably you would need to create a virtual machine in Oracle VirtualBox, and delete the machine after the conversion is done, never connect online that machine. thats the only way to make sure, keys are Not stolen when using a converter,.

4.

the other method is to import the BIP32 keys directly to a Full BTC private Node manually. https://bitnodes.io/ https://bitcoincore.org/en/download/

BTC Node Wallet requires over 400GB of space, very fast single core CPU, very fast internet, Ethernet, forget Wi-Fi, and SSD or M2 forget HDD. https://www.cpu-monkey.com/en/cpu_benchmark-cinebench_r23_single_core-15 https://www.cpubenchmark.net/mobile/singleThread.html

https://en.bitcoin.it/wiki/BIP_0032

Edd12321 commented 2 years ago

My point is that CakeWallet doesn't support importing private keys directly, it only works for XMR. With BTC, you have to import an Electrum seed as there's no option to do otherwise.

hbs commented 2 years ago

Why couldn't Cake Wallet support BIP32/BIP39 seed phrases on top of Electrum/Monero 25 words seeds? It could be a simple toggle on the wallet recovery screen. Ledger has published a while back code to convert from 24 words BIP32/BIP39 to Electrum seed https://github.com/LedgerHQ/app-monero/tree/master/tools/python

juanpc2018 commented 2 years ago

as far as i know, multi-wallets "1 wallet with different ecoins" do Not like multiple-private keys... most prefer a single passphrase for multiple private keys for multiple coins in a single wallet...

yes... Not having individual private keys is strange. maybe because portable light wallets are designed as real life portable wallets. you don´t store all the money in the world to a single portable wallet. portable wallets are for daily use... breakfast, taxi cab, movie, gym, mall shopping, etc....

that makes beginners believe that online web accounts are like bank accounts, and that´s a big mistake, totally opposite of the purpose why decentralized economy was created...

long term storage = Node Wallets, Paper. small storage / short term = portable wallets.

i understand that the problem is the transfer fee, between your wallets, seems strange, unreasonable.

Satoshi Nakamoto Original idea, to motivate the use of Node Wallets, was to include 0-Fee, IF the wallet was mining with CPU. Bitcoin developers that followed Satoshi Nakamoto disappearance, deleted that option long ago "because CPU was too slow vs. GPU vs. FPGA vs. ASIC miners" and that was a BIG Mistake of the BTC developers. that´s why there are so many coins & forks. people do Not agree and split.

One of the Few BTC forks "AltCoins" that still have Node CPU wallet mining with 0-Fee code is Credits CRDS, all the other AltCoins deleted the code like a waterfall. BTC-->LTC-->DOGE etc... CRDS has Argon2d256 algorithm, *i liked more Monero Original Cryptonight algo until ASIC miners were developed.. CRDS forked, to a very ugly weird lime green coin. is "abandonware" because the lack of Pools, and most important the lack of Portable Wallets. mining with external cpu miner "optimized" directly to Node wallet was incomplete code. and that is the Achilles heel of all coins. pool code is different than node wallet code. a Node cannot be converted easy to a pool without hard tweaking. there was a war in pool mining standard. work, getwork, stratum+tcp. https://en.bitcoin.it/wiki/Stratum_mining_protocol

https://bitcointalk.org/index.php?topic=1944858.0 https://github.com/CRDS/Credits/releases

That´s how life is. https://youtu.be/dbWi4e8xpww?t=25 https://en.wikipedia.org/wiki/Neo-Darwinism

SamsungGalaxyPlayer commented 2 years ago

We will re-enable BIP-32 for BTC/LTC wallets.

justingoldberg commented 3 months ago

I loading the seed into sparrow which says "unsupported electrum seed" on a cake mobile app generated wallet. But it did load correctly in electrum 👍