Author

Topic: Wallet RFC 1001 (Read 1345 times)

legendary
Activity: 1498
Merit: 1000
August 02, 2013, 08:47:43 PM
#11
Could we have something like : Full control on sending and change address(es), too, please ? I'd really like that in an official client.

Try armory, it has both those features.

Does that mean you don't wan't those features to make it in RFC 1001 ?

Edit : OP, please also add a feature to recompute balance from blockchain, as QT is (or was, at least for me) unable to do so, even with the rescan arg.

I consider those expert features, and even Gavin has expressed that the bitcoin-qt are not for that purpose. Bitcoin-qt has to be for easy of use.
sr. member
Activity: 336
Merit: 250
Cuddling, censored, unicorn-shaped troll.
August 03, 2013, 09:44:21 AM
#10
Thanks, change address should also be possibly controlled, if one wants to, imho.
And the balance accuracy is a real issue, today, in QT.

Try the following wit QT wallet:

- Go offline
- Send a small amount to another wallet you own
- QT balance will decrease accordingly
- Exit QT
- Use pywallet to delete the transaction you just issued from your wallet.dat
- Go back online
- Restart QT wallet with a rescan switch
- Cry, seeing your balance is still off the amount you sent to your other wallet, and said wallet - obviously - never received any coin, since you were offline.

Of course, the coins are not lost, and you can recover them by exporting/importing the private key, or crafting raw tx. But it really seems important to me that a wallet should be able to recompute your balance every time you ask for it - and you're online.
newbie
Activity: 41
Merit: 0
August 03, 2013, 09:33:12 AM
#9
Updated list with control of sending addresses...

This list is NOT really for the BitcoinQT client.

What I have coming next is a matrix with a scoring system to be able to compare the clients that are currently out there, using this criteria.

Really what I hope to accomplish is to provide a list of features that existing and new wallets could work from.

Keep the great input coming.
legendary
Activity: 1498
Merit: 1000
August 02, 2013, 09:11:45 PM
#8
I understand user-friendly is more than needed (even the current official client if WAY too inaccessible for most people), but I'd also like to have full control on my transactions, without having to issue raw ones myself, and an accurate balance report would be nice, too.

I won't be using anything than the official client, for safety (and time) reasons, but I'd still like it to offer those features in a more user-friendly way.

Try convincing Gavin your only chance. The developer of Armory is highly respected in the crypto field and in bitcoins, I trust him even more than the core dev team. Plus his code is open sourced.
sr. member
Activity: 336
Merit: 250
Cuddling, censored, unicorn-shaped troll.
August 02, 2013, 09:07:28 PM
#7
I understand user-friendly is more than needed (even the current official client if WAY too inaccessible for most people), but I'd also like to have full control on my transactions, without having to issue raw ones myself, and an accurate balance report would be nice, too.

I won't be using anything than the official client, for safety (and time) reasons, but I'd still like it to offer those features in a more user-friendly way.
sr. member
Activity: 336
Merit: 250
Cuddling, censored, unicorn-shaped troll.
August 02, 2013, 08:39:40 PM
#6
Could we have something like : Full control on sending and change address(es), too, please ? I'd really like that in an official client.

Try armory, it has both those features.

Does that mean you don't wan't those features to make it in RFC 1001 ?

Edit : OP, please also add a feature to recompute balance from blockchain, as QT is (or was, at least for me) unable to do so, even with the rescan arg.
sr. member
Activity: 336
Merit: 250
Cuddling, censored, unicorn-shaped troll.
August 02, 2013, 08:36:12 PM
#5
Could we have something like : Full control on sending and change address(es), too, please ? I'd really like that in an official client.
newbie
Activity: 41
Merit: 0
August 02, 2013, 08:15:31 PM
#4
As long as LevelDB supports all of the platforms and performs better, then all is good.

My reasoning behind SQLite (only for wallets, not the blockchain) is that is supports native SQL syntax, has many DB tools, is portable between platforms, supports almost every programming language and supports compression and encryption. Performance when under 1Gb in size seems to be excellent and it is widely deployed (like Adobe, Skype, Dropbox and many others).

I updated the OS list.
donator
Activity: 1464
Merit: 1047
I outlived my lifetime membership:)
August 02, 2013, 04:23:38 PM
#3
OP -- good points. I'd add to be sure to make it work best for mobile platforms (who wants a computer anymore these days anyway? The days of the computer are numbered).
sr. member
Activity: 306
Merit: 250
Donations: http://tny.im/nx
August 02, 2013, 03:32:31 PM
#2
Just one thing... "PC" is definitely not a OS name and "Mac" usually refers to the hardware by Apple. "Microsoft" is not a mobile OS name either.
I think you meant "Windows, Mac OS X and GNU/Linux" in place of "PC" and "Mac", and "Mobile - Windows Phone/Windows Mobile[dead]" in place of "Mobile - Microsoft". Just thought that if you want to take this as a serious thing, it's better to pay attention to detail and be precise.

And as gweedo said, sqlite is definitely not a good choice if they are going to hold a big amount of transactions (much less the whole blockchain).
newbie
Activity: 41
Merit: 0
August 02, 2013, 02:39:13 PM
#1
After using a multitude of wallets, and being disappointed by almost all of them, I thought that perhaps it would be handy to have an "RFC" or some outline in which to rate them (rating matrix and scoring to follow soon).

Anyhow, here are the things I think should be in all crypto wallets.

All constructive comments are welcomed.

LINK FOR EDITING TABLE: http://socialcompare.com/en/w/crypto-wallets-1vfyr88k#


-------------------
RFC 1001
“Bitcoin Wallet Functionality”, July 2013

Abstract
For the practical use of wallets amount the multitude of operating systems and devices, a standardized list of features and functionality is necessary. The document contains a minimum set of features and functionality that all developers should include.

Table of Contents

DATABASE should prefer SQLITE? LevelDB..

Digital Currencies Supported
•   Bitcoin
•   LiteCoin
•   PPCoin

Denominations
•   Bitcoin (Btc, mBtc, uBtc)
•   Local Currency (USD, EUR, etc)
•   International Currency (JPY, CAD, etc)

Startup Methods
•   Full Blockchain (Must disclose possible bytes of data and length of time)
•   Peer chain only (multibit)
•   3rd party blockchain servers

Safety and Security
•   Encryption of Wallet (minimum requirement)
•   Backup option - online service, recoverable
•   Backup option - online service (file only, no recovery)
•   Backup option - individual key
•   Backup option - all keys, whole wallet
•   Export to cold storage
•   Change Password
•   Rescan Database

Wallet Portability
•   Export private keys
•   Import private keys
•   Print BitBills (or similar)

Input Methods
•   Address from Clipboard
•   QR Scan Address
•   QR Scan address and amount
•   Generate New Address
•   Manual Input
•   Private Key
•   2 of 3 transaction

Output Options
o   Copy to Clipboard
o   Display QR Code
o   Display Key
o   2 of 3 transaction
o   Display QR code with amount requested
o   Full control of sending (Choose Sending addresses)

Address Book
o   Add to address book from transactions page
o   Add manually (using an input method)

Display Options
o   Current Exchange Rates
o   Number of Confirmations
o   Blockchain link

Operating Systems
o   Windows PC
o   Mac
o   GNU/Linux
o   Mobile – Android
o   Mobile – iPhone store
o   Mobile – iPhone jailbreak
o   Mobile – Microsoft Phone
o   Mobile - Blackberry

Utilities
o   Rescan wallet
o   Recalc Blockchain??

•   Help
Appendix

References

Acknowledgements

Author
Jump to: