-
Notifications
You must be signed in to change notification settings - Fork 38.1k
RPCWallet: Notate all account stuff as deprecated #5575
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
e133701
to
0bc988a
Compare
0bc988a
to
7b782f5
Compare
utACK |
ut ACK |
utACK |
ACK |
I have an alternative suggestion here, namely to 'degrade' accounts back into labels. That means marking all RPC methods that operate on the concept of an "account balance" as deprecated, but not the ability to list transactions received with a particular label etc. Pro: address labels already exist in the GUI and we probably want to keep them there, so making the RPC functionality analogous should be easy, and it doesn't have the potential confusion risk that accounts have. |
@sipa That was my suggestion months ago in IRC: Adding one or more "tags" to each address is still useful. |
@sipa That may not be as simple as you think - GUI labels and accounts overlap only for receive transactions. Send transaction labels and send account are entirely unrelated right now. :/ |
I like sipa's idea. The labels feature is useful, and aiming to expose it eventually in both RPC and the GUI would make things symmetrical, which is what many users expect. On the other hand doing that without confusing current users of accounts even more will be difficult. Hence I like first communicating a complete deprecation of the account system as in this pull. Then introduce a new API for labels. This also makes it clear that the label system is separately useful and not just 'degraded accounts'. The usual warning apply - "don't use this at the same time as the account system, or it will get confused". |
As there would no longer be a concept of 'account address' or 'account balance' the label API could be very minimal, e.g.:
These would stay the same, and accept a label instead of an account:
Others, like |
Note: BFGMiner needs some equivalent of getaccountaddress. It would make sense to let sendfrom (or at least sendmany) set a label for a send, to avoid having to make 2 RPC calls for each send. |
What would be the point of getaccountaddress without accounts? Why not use Re: |
getnewaddress always creates a new address. In the case of mining, you want to continue to use the same one you were using last time until you find a block. I believe this goes for P2Pool as well. sendmany-only sounds fine to me. |
Couldn't you use |
getaddressesforlabel doesn't tell you if addresses are used or not, does it? At this time, there is no internal storage of any sort... hate to add it for this. |
Well, the concept of a 'label address' just doesn't make sense, and also has no GUI equivalent. Also there is some weird interaction that prevents the last address from being moved from an account, and that interaction has to do with the 'account address'. To make it work like GUI labels (so you can get rid of them by renaming), that would have to be changed as well. Easiest would be to just get rid of the confusing feature. |
"Get unused address with label" makes sense - albeit only for mining (since bitcoind won't know if it's used-but-not-broadcast-yet). Maybe "getminingaddress" would be appropriate? |
7b782f5 RPCWallet: Notate all account stuff as deprecated (Luke Dashjr)
First step in removing the internal accounting system. All RPC command documentation/help output now notates that account arguments are deprecated. Ported from bitcoin#5575, with additional edits where necessary for cold staking related commands that also used account arguments.
73d331a [RPC] Notate all account stuff as deprecated (Fuzzbawls) Pull request description: First step in removing the internal accounting system. All RPC command documentation/help output now notates that account arguments are deprecated. Ported from bitcoin#5575, with additional edits where necessary for cold staking related commands that also used account arguments. ACKs for top commit: random-zebra: utACK 73d331a furszy: utACK 73d331a Tree-SHA512: 6d88f0171b981fd072fcb8b4022f717182e966b9108772a4bca009f60f8e7b6801dbc22c403f956dffd8ef1095b1e8a17cd38d435998618d8f966ef6fdf8f667
First step in removing the internal accounting system. All RPC command documentation/help output now notates that account arguments are deprecated. Ported from bitcoin#5575, with additional edits where necessary for cold staking related commands that also used account arguments. Github-Pull: PIVX-Project#1251 Rebased-From: 73d331a
73d331a [RPC] Notate all account stuff as deprecated (Fuzzbawls) Pull request description: First step in removing the internal accounting system. All RPC command documentation/help output now notates that account arguments are deprecated. Ported from bitcoin/bitcoin#5575, with additional edits where necessary for cold staking related commands that also used account arguments. ACKs for top commit: random-zebra: utACK 73d331a furszy: utACK 73d331a Tree-SHA512: 6d88f0171b981fd072fcb8b4022f717182e966b9108772a4bca009f60f8e7b6801dbc22c403f956dffd8ef1095b1e8a17cd38d435998618d8f966ef6fdf8f667
Github-Pull: bitcoin#5575 Rebased-From: 1eb1e65 (cherry picked from commit e2677d7)
First step in removing the internal accounting system. All RPC command documentation/help output now notates that account arguments are deprecated. Ported from bitcoin/bitcoin#5575, with additional edits where necessary for cold staking related commands that also used account arguments. Github-Pull: #1251 Rebased-From: 73d331a9dda934b9b31f620c7286fb431d6cd5da # Conflicts: # src/rpcrawtransaction.cpp # src/rpcwallet.cpp
No description provided.