Bitcoin Forum
May 11, 2024, 07:59:36 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [Feature request] Loading different wallets on the fly  (Read 767 times)
goodlord666 (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


100%


View Profile
September 09, 2011, 02:10:16 PM
 #1

Hello, searching the archives I didn't find a thread that covered this, so I may be the first to suggest this:


An easy to use feature in the client that allows you to load different wallets that you've created for different businesses or purposes.

You click on a button "Load wallet file" > It asks you "Do you want to create a backup of the wallet currently in use (recommended for most users)?" > Yes/No > You pick any wallet file from your storage device > The client briefly disconnects from the network, replaces the previous wallet with the new one, reconnects to the network.

The above is the simple solution, ideally you would want it to do this:

Instead of replacing wallet.dat with another wallet.dat and requiring backups before replacing, it would directly access any given wallet file in a given location and write to it directly (when creating new addresses, for instance).

This eliminates having to rename and move wallet files around folders and you could store them in a centralized folder somewhere or in multiple locations.

I want to be able to give my wallet files individual names, such as BusinessA_last_backup_01-01-2012 or BusinessB_last_backup_02_02_2012. Pick one of them from the folder and have the client load it. Also, the client could offer me to name my wallet file upon creation and ask what location to save it in. The client would have to remember where it accessed the last wallet from.

As a bonus, I'd find it cool if we could introduce a wallet file extension other than .dat. My suggestion: .btc


Let me know if I missed anything there.



The forum was founded in 2009 by Satoshi and Sirius. It replaced a SourceForge forum.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715457576
Hero Member
*
Offline Offline

Posts: 1715457576

View Profile Personal Message (Offline)

Ignore
1715457576
Reply with quote  #2

1715457576
Report to moderator
2112
Legendary
*
Offline Offline

Activity: 2128
Merit: 1068



View Profile
September 09, 2011, 04:31:02 PM
 #2

Yeah, you've missed chain reorganization / rollback / chargeback. Pretty much like anybody else who tries to modify the Satoshi client without understanding of the Satoshi whitepaper.

Loading a new wallet requires a rescan of the block-chain.

Theoretically, wallet.dat could be modified to store the hash coordinate of the tip of the block-chain when it gets "unloaded". Then upon "loading" instead of the full rescan the code could do a partial rescan "up the chain" (or "down and then up the chain" in case of the reorganization).

The amount of coding to do it properly is significantly nontrivial. About the same order of magnitude as developing a properly architectured split "bitcoind" & "bitcoinui".

Please comment, critique, criticize or ridicule BIP 2112: https://bitcointalk.org/index.php?topic=54382.0
Long-term mining prognosis: https://bitcointalk.org/index.php?topic=91101.0
wumpus
Hero Member
*****
qt
Offline Offline

Activity: 812
Merit: 1022

No Maps for These Territories


View Profile
September 11, 2011, 08:14:33 AM
 #3

An easy to use feature in the client that allows you to load different wallets that you've created for different businesses or purposes.
The groundwork for supporting multiple loaded wallets is already there (multiple CWallet objects).

Quote
You click on a button "Load wallet file" > It asks you "Do you want to create a backup of the wallet currently in use (recommended for most users)?" > Yes/No > You pick any wallet file from your storage device > The client briefly disconnects from the network, replaces the previous wallet with the new one, reconnects to the network.

Disconnecting you from the network is not even needed as the network code is not dependent on wallets; however you do need a rescan through the block chain (as 2112 mentions) to pick up new transactions "owned" by the wallet.

I've proposed this feature for the qt client once when asking what to do next, but there were not too many people interested, so it's currently at very low priority.


Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
goodlord666 (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250


100%


View Profile
September 12, 2011, 09:30:06 PM
 #4

An easy to use feature in the client that allows you to load different wallets that you've created for different businesses or purposes.
The groundwork for supporting multiple loaded wallets is already there (multiple CWallet objects).

Quote
You click on a button "Load wallet file" > It asks you "Do you want to create a backup of the wallet currently in use (recommended for most users)?" > Yes/No > You pick any wallet file from your storage device > The client briefly disconnects from the network, replaces the previous wallet with the new one, reconnects to the network.

Disconnecting you from the network is not even needed as the network code is not dependent on wallets; however you do need a rescan through the block chain (as 2112 mentions) to pick up new transactions "owned" by the wallet.

I've proposed this feature for the qt client once when asking what to do next, but there were not too many people interested, so it's currently at very low priority.




Thanks for your efforts. I'll just wait for what comes around then.


Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!