Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: citizen on May 03, 2011, 03:28:06 PM



Title: Comprehensive Bitcoin client suggestions/ideas thread
Post by: citizen on May 03, 2011, 03:28:06 PM
I was looking for a thread that contained suggestions from the community for new features, alterations, etc in the "official" Bitcoin client.  I wasn't able to locate one.  I asked on IRC, and someone suggested I create one.  So, here it is.

You can post your ideas, suggestions, thoughts, etc regarding what you'd like to see change or what you'd like to see added to the Bitcoin client.  Perhaps popular ideas can be sifted out of the mix and discussion can begin on the merits/challenges of adopting those ideas.


Personally, I think the client is fantastically simple and effective right now, and I can't really think of anything in particular that drives me nuts.

One new feature that *might* be neat would be to allow the creation of "accounts" on the client side (perhaps this information would have to reside in the wallet as well, or perhaps not).  Accounts would simply be a way to keep portions of your wallet balance separated for handy reference purposes.  Maybe you want to save some bitcoins and not touch them, maybe you want all bitcoins received through certain receiving address(es) to be accrued under another account.  Perhaps you belong to multiple pooled mining efforts, or you mine part solo and part on a pool, you want to compare results, you want to save bitcoins, you want to keep track of bitcoins received from your online store, etc.  You want to keep these balances separate without having to run multiple bitcoin client instances and have separate wallets, etc.

Would anyone else find this to be a very handy feature worthy of consideration?

I also saw that somebody suggested removal of the "Generate Coins" option in the GUI.  I think this is a great idea too!!!


    All Suggestions
    • Wallet accounts
    • Remove Generate Coins from GUI [source] (http://bitcointalk.org/index.php?topic=5353.0) [github] (https://github.com/bitcoin/bitcoin/pull/142)
    • or remove mining from client entirely, maybe have separate RPC miner with documentation explaining that CPU mining is very ineffective
    • Encrypted wallets
    • Allow opening of multiple wallets - not dependent on path
    • Include a sample config file with all available settings listed for easy user reference
    • DNS lookup for -addnode and -connect [source] (http://bitcointalk.org/index.php?topic=7123.0) [github] (https://github.com/bitcoin/bitcoin/pull/192)


    Title: Re: Comprehensive Bitcoin client suggestions/ideas thread
    Post by: disq on May 03, 2011, 03:35:16 PM
    Another idea: A client that supports encrypted wallets. Enter passphrase to 'unlock' your wallet. Open/unlock wallet on demand. Optionally, show new transactions 'into your receiving addresses' without the need to have the wallet opened/unlocked. (So, an option to keep an unencrypted list of -some of- your public keys, to keep track of transactions towards your addresses -without opening/unlocking the wallet- )

    The client could also support multiple wallets. Open one or many at once. Closed/locked wallet files are not touched. Maybe even define separate paths for wallet files, so that opening/unlocking a wallet can require you to 'mount a volume' or 'plug a usb stick'.


    Title: Re: Comprehensive Bitcoin client suggestions/ideas thread
    Post by: wumpus on May 03, 2011, 03:35:47 PM
    The client already has internal account support. It is not exposed in the GUI, though.


    Title: Re: Comprehensive Bitcoin client suggestions/ideas thread
    Post by: Matt Corallo on May 03, 2011, 04:58:32 PM
    Another idea: A client that supports encrypted wallets. Enter passphrase to 'unlock' your wallet. Open/unlock wallet on demand. Optionally, show new transactions 'into your receiving addresses' without the need to have the wallet opened/unlocked. (So, an option to keep an unencrypted list of -some of- your public keys, to keep track of transactions towards your addresses -without opening/unlocking the wallet- )
    That is the idea behind the encryption going into 0.4.0.  Though not as customizable in that all public keys will be unencrypted (and by extension all transactions, which are public anyway) and all private keys will be encrypted ie you only need to enter the password to send coins.


    Title: Re: Comprehensive Bitcoin client suggestions/ideas thread
    Post by: citizen on May 03, 2011, 07:10:58 PM
    Looks like there is a lot of discussion on removing mining from the client entirely.  I kind of think this is a good idea.  Having a separate RPC miner with documentation explaining that CPU mining is very ineffective would be a better idea IMHO.


    Title: Re: Comprehensive Bitcoin client suggestions/ideas thread
    Post by: citizen on May 03, 2011, 07:19:50 PM
    When I was setting up the bitcoin.exe with -server argument, and had to create/edit the config file, it was a little confusing.  I was getting help on IRC, but the syntax of the config file entries were given to me wrong, so I wound up wasting a lot of time over something very simple.

    What about having a config file and having all settings displayed in there.  Lines could either be commented-out or features could be set to OFF or values just be blank.  I remember when some programs would use .ini files for these sort of things, with different headings for different categories of settings.  It was actually kind of convenient.


    Title: Re: Comprehensive Bitcoin client suggestions/ideas thread
    Post by: Matt Corallo on May 03, 2011, 08:36:38 PM
    When I was setting up the bitcoin.exe with -server argument, and had to create/edit the config file, it was a little confusing.  I was getting help on IRC, but the syntax of the config file entries were given to me wrong, so I wound up wasting a lot of time over something very simple.

    What about having a config file and having all settings displayed in there.  Lines could either be commented-out or features could be set to OFF or values just be blank.  I remember when some programs would use .ini files for these sort of things, with different headings for different categories of settings.  It was actually kind of convenient.
    IMHO the whole install+configure process needs to be much easier.  Especially the list of options (of which many are not listed on --help for reasons unknown).  Though honestly, a lot of that is done on the os-package level which is an entirely different topic.


    Title: Re: Comprehensive Bitcoin client suggestions/ideas thread
    Post by: a1k0n on May 07, 2011, 12:38:09 AM
    It would also be nice if the initial bootstrapping process for the BitCoin client didn't take so long -- currently it downloads and verifies (with a bunch of disk seeking) every single block independently as if it had just been created.  Being able to download an entire image of the extant blocks in the network from peers, and then only verifying blocks once it's "caught up", would be nice.

    I just cleaned out my BitCoin client directory and started it up and it's been three hours now and it still isn't caught up (117k out of 122kish now, so almost) and it goes much slower now than it did with the first 50k or so blocks.


    Title: Configurable wallet location, wallet backup
    Post by: Joerg Starkmuth on May 20, 2011, 01:58:52 PM
    Hello,

    I suggest that the client should allow the user to specify where the wallet is stored. For example, I would prefer to have it on my data partition which is backed up automatically each night.

    In fact I would prefer not to have any Bitcoin data under "Documents and Settings", but everything in one place (at least as an option, as the way it is done currently may still be necessary on multi-user computers).

    Also, a GUI function to back up the wallet to a preconfigured location manually or automatically (e.g. daily and after each transaction) would be nice.

    Joerg


    Title: Re: Comprehensive Bitcoin client suggestions/ideas thread
    Post by: zef on May 20, 2011, 10:31:49 PM
    Thanks for making this thread as I agree the client is lacking some things, though i appreciate the overall simplicity.

    I made a thread in another section asking about wallet management, but I think that would be appropriate here as well, and others have touched on it.  The client needs an easy way to backup your wallet securely to the "cloud" or a local location by default after so many transactions.  So say you would link it to your Google account or something, and it could back it up there, or maybe some wallet storage service, or simply a place on your hard drive.

    The lack of wallet management is really the main thing that struck me when i first used the program, so i agree with the people talking about multiple wallets, password protection, importing wallets, and on a side note removing mining from the client.