Bitcoin Forum
June 15, 2024, 11:33:39 AM *
News: Voting for pizza day contest
 
   Home   Help Search Login Register More  
Poll
Question: Which best describes your experience with accounts in bitcoind?
They work perfectly. - 2 (6.5%)
They work well enough for me. - 4 (12.9%)
I use them sometimes, but not always. - 3 (9.7%)
I prefer to handle account tasks elsewhere. - 14 (45.2%)
I never use accounts. - 8 (25.8%)
Total Voters: 31

Pages: « 1 [2]  All
  Print  
Author Topic: [Poll] Accounts in bitcoind  (Read 3168 times)
Strider Hiryu
Newbie
*
Offline Offline

Activity: 29
Merit: 0



View Profile
August 18, 2012, 04:49:31 PM
 #21

I would have preferred a low level interface with an optional high level interface.  As it stands the full low level interface isn't exposed, and the high level interface isn't suitable for all applications.
ribuck
Donator
Hero Member
*
Offline Offline

Activity: 826
Merit: 1041


View Profile
August 18, 2012, 07:09:07 PM
 #22

The purpose of "accounts" is to automatically adjust balances when there is a block chain reorganization.

Interesting - hadn't heard of this explanation before

In that case you would benefit from reading some of Satoshi's old posts about "accounts". You could start with these:

The problems with "listtransactions" that are addressed by "accounts":
https://bitcointalk.org/index.php?topic=2151.msg28228#msg28228

Jeff Garzik's counterpoint to the above post:
https://bitcointalk.org/index.php?topic=2151.msg28247#msg28247

Satoshi's simple pseudocode showing how to use the "accounts" feature:
https://bitcointalk.org/index.php?topic=2202.msg28947#msg28947
PrintCoins
Hero Member
*****
Offline Offline

Activity: 533
Merit: 501


View Profile
August 18, 2012, 07:16:01 PM
 #23

I would have preferred a low level interface with an optional high level interface.  As it stands the full low level interface isn't exposed, and the high level interface isn't suitable for all applications.


I strongly agree. I want something where I can specify addresses as inputs.

Bitcoind is ment for coders and admins, and so should expose the most base level interfaces. When I first started with bitcoin development the lack of these features was annoying.

notme
Legendary
*
Offline Offline

Activity: 1904
Merit: 1002


View Profile
August 18, 2012, 07:20:18 PM
 #24

I would have preferred a low level interface with an optional high level interface.  As it stands the full low level interface isn't exposed, and the high level interface isn't suitable for all applications.


I strongly agree. I want something where I can specify addresses as inputs.

Bitcoind is ment for coders and admins, and so should expose the most base level interfaces. When I first started with bitcoin development the lack of these features was annoying.

When 0.7 comes out we'll have https://en.bitcoin.it/wiki/Raw_Transactions

https://www.bitcoin.org/bitcoin.pdf
While no idea is perfect, some ideas are useful.
paraipan
In memoriam
Legendary
*
Offline Offline

Activity: 924
Merit: 1004


Firstbits: 1pirata


View Profile WWW
August 18, 2012, 07:49:51 PM
 #25

I have (unsuccessfully) tried to use them, but I am terribly comfortable with them.

I think the concept of accounts is probably better left to accounting software and don't really fit into the scope of what the bitcoind should be doing.  Bitcoind is not (and does/should pretend to be) an accounting program.

If it were up to me the developers should just cut them out and concentrate on more important things, perhaps extending the [comment] [comment-to] system to work with incoming transactions.

^lol, didn't see so much contradictions in the same post until now. How isn't bitcoin an accounting software when it has to account for all the unspent inputs available to it?

Accounts work as ribuck said, for individual user accounting and they provide allot of features when used correctly. Like taking the burden of accounting of your main database and maintaining correct user balances, in case of chain reorgs. You can even have a complete website or app failure and no backups of the main database, but the coins are kept intact in every user's account with only one backup of wallet.dat.

I don't have the time to write a complete documentation, but I can assure you bitcoin accounts are useful and whoever tells you the opposite hasn't got a clue what are used for.

Sorry for the rant, I just turned my back for a moment lol

@weex learn how to "move" coins between accounts and you will see how easy the accounting gets, with no database overhead and it just works. Start using queues in case you want to have your app work smoothly and prevent accounts going negative if it isn't desired. That's all, now keep developing your app, bitcoin is all set-up.

BTCitcoin: An Idea Worth Saving - Q&A with bitcoins on rugatu.com - Check my rep
NRF
Sr. Member
****
Offline Offline

Activity: 279
Merit: 250



View Profile
August 18, 2012, 09:41:17 PM
 #26

didn't see so much contradictions in the same post until now. How isn't bitcoin an accounting software when it has to account for all the unspent inputs available to it?

Bitcoind is not accounting software, at least not in the traditional sense of what accounting software is (give me the command for an aged debtors).  As has been explained by others the "account" system is designed to address a very real problem that can occur during a block-chain reorganisation.  ( Good explanation here https://bitcointalk.org/index.php?topic=2151.msg28228#msg28228 )

Once again bitcoind is NOT an accounting program, as I see it its probably best described as a ledger.
2112
Legendary
*
Offline Offline

Activity: 2128
Merit: 1068



View Profile
August 19, 2012, 12:31:50 AM
 #27

as I see it its probably best described as a ledger.
Nobody will allow you to keep the ledger that silently wipes out the transactions and changes the timestamps on them. This is what bitcoin{d,-qt} does.

And by nobody I mean that it doesn't matter wheter you run you accounts according to the rules of:

1) Uncle Sam who lives in Washington,DC and charges 28% APY for overdue negative balances.

2) Uncle Vinnie who lives over the bodega and charges 1 finger per month for overdue negative balances.

It is relatively easy to actually keep the real ledger with modified bitcoin{d,-qt}. You need to override the db->put() BDB call to recognize writes to the wallet.dat and store the actual log of calls in some secondary database before calling the original C virtual function. This log will have proper timestamps (not the approximate to 2 hours and even possibly out of order timestamps) and will have a actual log of monies appearing and disappearing during the orphan/reorganization events.

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
NRF
Sr. Member
****
Offline Offline

Activity: 279
Merit: 250



View Profile
August 19, 2012, 12:51:54 AM
 #28

And by nobody I mean that it doesn't matter wheter you run you accounts according to the rules of:

I agree, my calling it a ledger was a total stretch.  My point was that it is not an accounting system and "accounts" in the context of bitcoind is a bit confusing (at least for me, and others it seams judging from posts in this thread).

Don't really know what to call them and "Labels for transactions to track and prevent orphaned transactions showing up in bitcoind listtransactions being taken literal" is kind of a mouth full.  Grin

In the end I suppose "accounts" is as good a term as any, but it does tend to lead to confusion.
CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1078


Ian Knowles - CIYAM Lead Developer


View Profile WWW
August 23, 2012, 07:42:40 AM
 #29

The purpose of "accounts" is to automatically adjust balances when there is a block chain reorganization.

I read through the links you gave (and thanks for the interesting reading) but still don't see how anything written there describes that the purpose of "accounts" is to automatically adjust balances due to a block chain reorg (it seems to me that reorgs are just something that has to be handled in order for it to give meaningful results with listtransactions).

AFAICT the purpose of "accounts" is to be able to divide tx's into separately labelled groups (much the same as in normal accounting with a GL) and thus to be able to get balances for each group (i.e. a "group" is an "account").

Perhaps if you replace the word "purpose" with "implementation" that might be closer, however, the implementation could have easily been written to use a previously "labelled" address as the only input address for a "sendfrom" without changing the purpose at all. I assume the reason it wasn't done this way was to keep the pseudo-anonymity as strong as possible (which is something completely unlike the way any normal accounting works).
 

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Gavin Andresen
Legendary
*
qt
Offline Offline

Activity: 1652
Merit: 2222


Chief Scientist


View Profile WWW
August 23, 2012, 02:11:26 PM
 #30

... the implementation could have easily been written to use a previously "labelled" address as the only input address for a "sendfrom" without changing the purpose at all. I assume the reason it wasn't done this way was to keep the pseudo-anonymity as strong as possible (which is something completely unlike the way any normal accounting works).

No, the main reason isn't anonymity the reason is so transferring bitcoins between accounts using 'move' doesn't require a blockchain transaction.

How often do you get the chance to work on a potentially world-changing project?
bitlane
Internet detective
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250


I heart thebaron


View Profile
August 23, 2012, 02:20:24 PM
 #31

I still don't understand why the official client is smart enough to allow me to use the address book feature and CUSTOM LABEL incoming and outgoing addresses, but the API is too useless to use a common call to retrieve that same information from sends/receives in a dynamic transaction array.

Oh well....I made THAT thread ages ago and people thought I was retarded for suggesting such a thing.

Unfortunately I am not a coder, but listtransactions()-->LABEL sure would be a nice (although semi-redundant for 'accounts' ) addition....

CIYAM
Legendary
*
Offline Offline

Activity: 1890
Merit: 1078


Ian Knowles - CIYAM Lead Developer


View Profile WWW
August 23, 2012, 02:42:05 PM
 #32

No, the main reason isn't anonymity the reason is so transferring bitcoins between accounts using 'move' doesn't require a blockchain transaction.

Aha - this is beginning to make some more sense - is there an explanation of how the mechanics of the "move" command actually works documented somewhere (other than in the code)?

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Pages: « 1 [2]  All
  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!