Pages:
Author

Topic: Multiple Wallets, one computer (multiple accounts) - page 2. (Read 12073 times)

administrator
Activity: 5166
Merit: 12850
You could create an additional database file with public keys associated with usernames/passwords. Creating an address logs the resulting public key to the new database (in addition to wallet.dat); CreateTransaction is modified to only select coins from those addresses associated with the account; the various "list transactions" commands are modified to only tally/show transactions to addresses associated with the account; new commands are added to transfer keys from one account to another. You could make it possible to transfer funds (without the keys) from one account to another without a real transaction, but this would involve much more complexity.

Implementation wouldn't be too difficult, I think (if you don't have to deal with the UI). The worst part would be dealing with the new database file and figuring out how to replace the existing authentication with your own stuff.
legendary
Activity: 1304
Merit: 1014
Can you just create a new windows user and log in with that user?  Bitcoin creates a directory per windows user, I think.
legendary
Activity: 1540
Merit: 1001
I want to have multiple "accounts" with unique balances and to send and receive coins on a per-account basis.  The equiv. of having multiple wallets running at the same time.   

It would help to simply list the balance for each 'receiving address' and to specify a 'source' address when sending coins. 

I guess one way to do this would be use the -datadir=  command line arg to specify a data directory (other than the default "$(HOME)/.bitcoin/"). You would only run the client on one directory at a time. (Note the directory is relative to the current directory for the SERVER bitcoind. Its safest to specify a fully qualified directory starting at the root.) Also of course the client does not need to be running  on any specific directory nor running at all to receive payments to addresses in any/all of the wallets.




Yeah, I've been considering how to best go about this for the web services. Right now multiple services on the same machine run multiple clients bound to separate rpc ports. It works... to a point.

What I want is a separate wallet per user, and that scales pretty badly, so what I thought could be done is have multiple wallets in memory at the same time, based on some key (which would be the subdir inside the datadir for the wallet) and the rpc calls would take a -wallet= switch. I just don't know how many wallets I would be able to keep in memory at the same time, and I would loose the ability to move money instantly amongst them, but that's ok, I guess.

A slightly more scalable alternative would be to lazily load the wallets on demand. I know wallets keep a bunch of information, but maybe we could limit that to own addresses and transactions?

Satoshi: are you planning on doing any of this? As I'm not familiar with this part of the code, it would suck to spend a week trying to figure out the best way to do this and then you pushing the perfect implementation to svn Smiley
lfm
full member
Activity: 196
Merit: 104
I want to have multiple "accounts" with unique balances and to send and receive coins on a per-account basis.  The equiv. of having multiple wallets running at the same time.   

It would help to simply list the balance for each 'receiving address' and to specify a 'source' address when sending coins. 

I guess one way to do this would be use the -datadir=  command line arg to specify a data directory (other than the default "$(HOME)/.bitcoin/"). You would only run the client on one directory at a time. (Note the directory is relative to the current directory for the SERVER bitcoind. Its safest to specify a fully qualified directory starting at the root.) Also of course the client does not need to be running  on any specific directory nor running at all to receive payments to addresses in any/all of the wallets.


legendary
Activity: 1937
Merit: 1001
It's something im missing too, it would be nice to have seperate 'accounts' with each it's own balance and transactions. One for personal use, one for business, etc.
hero member
Activity: 770
Merit: 566
fractally
Nope, I really need it on a per-receiving address so that it is easy to directly track the balances from customers paying me. 
lfm
full member
Activity: 196
Merit: 104
I want to have multiple "accounts" with unique balances and to send and receive coins on a per-account basis.  The equiv. of having multiple wallets running at the same time.   

It would help to simply list the balance for each 'receiving address' and to specify a 'source' address when sending coins. 

Would it help to use the attached messages you have when sending to an IP address? It should be easy to record a "sending ip address" in that case also.
sr. member
Activity: 294
Merit: 252
Firstbits: 1duzy
It would help to simply list the balance for each 'receiving address' and to specify a 'source' address when sending coins. 

+1
hero member
Activity: 770
Merit: 566
fractally
I want to have multiple "accounts" with unique balances and to send and receive coins on a per-account basis.  The equiv. of having multiple wallets running at the same time.  

It would help to simply list the balance for each 'receiving address' and to specify a 'source' address when sending coins.  
Pages:
Jump to: