1 2016-04-24 00:08:49 0|sipa|we should fix that
2 2016-04-24 00:09:55 0|phantomcircuit|gmaxwell, when fuzzing deserialization, should i treat throwing exceptions as a crash or as an expected result
3 2016-04-24 00:11:04 0|gmaxwell|phantomcircuit: depends on the exception.
4 2016-04-24 00:11:36 0|gmaxwell|The deceralization uses exceptions (spit) to do error reporting. So you shouldn't treat as crash ordinary errors during deseralization.
5 2016-04-24 00:11:53 0|phantomcircuit|gmaxwell, the serialization stuff will throw std::ios_base::failure when there's a short read
6 2016-04-24 00:14:15 0|gmaxwell|Not a crash.
7 2016-04-24 00:16:55 0|phantomcircuit|ok that's what i thought
8 2016-04-24 00:17:39 0|gmaxwell|basically, you only want to treat as crashes things that you might possibly want to go fix.
9 2016-04-24 00:17:42 0|gmaxwell|:)
10 2016-04-24 00:22:09 0|phantomcircuit|gmaxwell, that reminds me (although i dont know why) that i wanted to do a vm with the glibcxx_debug flag
11 2016-04-24 00:22:42 0|gmaxwell|phantomcircuit: that would be very handy to have.
12 2016-04-24 00:22:42 0|phantomcircuit|also fun fact
13 2016-04-24 00:22:52 0|phantomcircuit|the sort command is threaded
14 2016-04-24 00:23:10 0|gmaxwell|I know. it uses a merge sort with storage in /tmp.
15 2016-04-24 00:23:22 0|gmaxwell|it's actually quite good.
16 2016-04-24 00:24:08 0|midnightmagic|Un-fun fact. Sort uses the locale for sorting order, which if it's not 'c' and is e.g. en_CA.UTF-8, puts capital 'H' *after* lowercase 'i'.
17 2016-04-24 00:25:23 0|gmaxwell|yea, the standard posix string functions all became localized in the 90s. And this means that e.g. number parsing functions change behavior (comma vs dot handling) ... resuting in lots of broken software that was using them for handling file formats and network protocols.
18 2016-04-24 00:25:36 0|gmaxwell|Which goes back to my standard advice of not using strings anywhere normative. :)
19 2016-04-24 00:25:49 0|luke-jr|anyone know what testnet blocks made csv change states?
20 2016-04-24 00:26:38 0|phantomcircuit|luke-jr, something with timestamp around 1456790400,
21 2016-04-24 00:26:44 0|luke-jr|gmaxwell: don't you need to explicitly enable locales for POSIX?
22 2016-04-24 00:26:49 0|phantomcircuit|maybe?
23 2016-04-24 00:46:59 0|phantomcircuit|gmaxwell, oops deleted my afl-cmin results
24 2016-04-24 00:47:03 0|phantomcircuit|:|
25 2016-04-24 00:47:39 0|phantomcircuit|https://github.com/pstratem/bitcoin-public/blob/2016-04-20-fuzzing-framework/src/bitcoin-fuzzy.cpp
26 2016-04-24 00:47:48 0|phantomcircuit|suggestions for more things to fuzz appreciated
27 2016-04-24 01:27:44 0|gmaxwell|phantomcircuit: CBlockHeader? CBanEntry? CTxUndo? CBlockUndo? CCoin? CNetAddr? CSubNet? CService? CMessageHeader? CAddress? CInv? CBloomFilter? CDiskBlockIndex? CTxOutCompressor? CBlockFileInfo? COutPoint? CTxIn? CTxOut? wallet-- CMasterKey? CKeyPool? CWalletKey? CWalletTx? CAccountingEntry? CAccount? CKeyMetadata?
28 2016-04-24 01:28:02 0|gmaxwell|phantomcircuit: some of these are used internally in others, so I'm not sure if they should be added at the top level or not.
29 2016-04-24 01:28:03 0|phantomcircuit|gmaxwell, CBlockHeader is kind of covered by CBlock, but yeah
30 2016-04-24 01:28:30 0|gmaxwell|yea, well the rule should be if a hash or something is going to prevent AFL from finding an input that lets it reach thoe whole thing, you should go directly.
31 2016-04-24 02:14:00 0|gmaxwell|phantomcircuit: the next improvement you could do is, assuming the deseralization was successful you could try calling some methods on the object. (e.g. whatever we'd normally do after deseralizing it).
32 2016-04-24 02:20:05 0|phantomcircuit|gmaxwell, heh one of these is crazy slow
33 2016-04-24 05:23:21 0|GitHub117|[13bitcoin] 15pstratem opened pull request #7930: CAddrMan::Deserialize Initialize to NULL on insane input. (06master...062014-04-23-addrman-deserialize-limits) 02https://github.com/bitcoin/bitcoin/pull/7930
34 2016-04-24 05:24:22 0|phantomcircuit|sipa, does ^ make any sense?
35 2016-04-24 09:43:32 0|GitHub119|[13bitcoin] 15pstratem opened pull request #7931: [WIP] Fuzzing framework (06master...062016-04-20-fuzzing-framework) 02https://github.com/bitcoin/bitcoin/pull/7931
36 2016-04-24 09:56:30 0|phantomcircuit|lol wrong year
37 2016-04-24 10:00:53 0|GitHub198|[13bitcoin] 15pstratem closed pull request #7930: CAddrMan::Deserialize Initialize to NULL on insane input. (06master...062014-04-23-addrman-deserialize-limits) 02https://github.com/bitcoin/bitcoin/pull/7930
38 2016-04-24 10:01:18 0|GitHub54|[13bitcoin] 15pstratem opened pull request #7932: CAddrMan::Deserialize handle corrupt serializations better. (06master...062016-04-23-addrman-deserialize-limits) 02https://github.com/bitcoin/bitcoin/pull/7932
39 2016-04-24 10:05:07 0|sipa|phantomcircuit: it is 2016
40 2016-04-24 10:05:31 0|phantomcircuit|sipa, indeed
41 2016-04-24 10:17:43 0|gmaxwell|phantomcircuit: bitcoin-fuzzy should probably be in test/
42 2016-04-24 10:18:20 0|phantomcircuit|gmaxwell, accepting pull requests :P
43 2016-04-24 10:18:32 0|phantomcircuit|(every time i touch the build system things explode)
44 2016-04-24 10:28:02 0|phantomcircuit|lol whoops
45 2016-04-24 10:28:35 0|phantomcircuit|forgot to break!
46 2016-04-24 11:34:53 0|GitHub137|[13bitcoin] 15pstratem closed pull request #7931: [WIP] Fuzzing framework (06master...062016-04-20-fuzzing-framework) 02https://github.com/bitcoin/bitcoin/pull/7931
47 2016-04-24 12:34:49 0|sipa|wumpus, jonasschnelli: i'm trying to call uiInterface.ShowProgress from the import thread (to show -reindex progress), but it results in a deadlocked UI
48 2016-04-24 14:32:49 0|GitHub10|[13bitcoin] 15sipa opened pull request #7933: Fix OOM when deserializing UTXO entries with invalid length (06master...06fixcompressoroom) 02https://github.com/bitcoin/bitcoin/pull/7933
49 2016-04-24 16:09:16 0|NotAnNSAgent|.
50 2016-04-24 16:09:25 0|NotAnNSAgent|Why is there no boolean flag for each transaction called something like "has_been_dealt_with"?
51 2016-04-24 16:09:34 0|NotAnNSAgent|I must have my own, separate DB table just to store which txids have been dealt with? Or maybe there is? I can't see one.
52 2016-04-24 16:10:20 0|sipa|define "dealt with"
53 2016-04-24 16:10:43 0|sipa|seen? included in the mempool? rejected? relayed? in the utxo set? in the blockchain?
54 2016-04-24 16:11:35 0|NotAnNSAgent|sipa: In my case, "recorded by application logic".
55 2016-04-24 16:11:51 0|NotAnNSAgent|sipa: In the case of a GUI user, such as myself on this desktop computer, it would refer to "having seen it".
56 2016-04-24 16:12:05 0|NotAnNSAgent|sipa: Transactions just come in and I have no idea which ones I've "seen" and "dealt with".
57 2016-04-24 16:12:36 0|NotAnNSAgent|Since Windows 10, the Bitcoin Core client for Windows uses the awful Windows 10 notifications, which I've been forced to turn off globally.
58 2016-04-24 16:12:47 0|NotAnNSAgent|As soon as I enable them, I'm constantly pestered by idiotic notifications.
59 2016-04-24 16:12:57 0|NotAnNSAgent|And it appears to be impossible to enable them only for Bitcoin Core.
60 2016-04-24 16:13:37 0|sipa|file an issue, please
61 2016-04-24 16:13:46 0|NotAnNSAgent|I thought that was what I'm doing right now...
62 2016-04-24 16:14:02 0|NotAnNSAgent|But my main issue is when using the bitcoind through the RCP API.
63 2016-04-24 16:14:09 0|sipa|https://github.com/bitcoin/bitcoin/issues/
64 2016-04-24 16:14:15 0|NotAnNSAgent|Does the bitcoind/wallet.dat really store nothing of this sort?
65 2016-04-24 16:14:28 0|sipa|the wallet remembers all wallet transactions
66 2016-04-24 16:14:50 0|NotAnNSAgent|?
67 2016-04-24 16:14:57 0|sipa|i'm not sure what kind of notifications you're talking about, as i haven't used windows or the bitcoin core GUI in a long time
68 2016-04-24 16:15:14 0|sipa|but if they're annoying, there should be a way to turn them off
69 2016-04-24 16:15:56 0|NotAnNSAgent|How does my program display only new transactions?
70 2016-04-24 16:16:06 0|NotAnNSAgent|It would have to manually remember which ones have been seen/dealt with.
71 2016-04-24 16:16:10 0|sipa|what is 'your program' ?
72 2016-04-24 16:16:38 0|NotAnNSAgent|Why doesn't the wallet.dat/bitcoind remember which transactions have been "processed" and which ones are new?
73 2016-04-24 16:17:00 0|NotAnNSAgent|Is this really the case?
74 2016-04-24 16:17:00 0|sipa|if you're talking about the wallet, it does
75 2016-04-24 16:17:08 0|NotAnNSAgent|It does?
76 2016-04-24 16:17:16 0|sipa|if you're talking about the verification logic, it does not and this should not matter
77 2016-04-24 16:17:19 0|NotAnNSAgent|What's the API call called for figuring the status out?
78 2016-04-24 16:17:29 0|sipa|can you please tell me what kind of notification you're talking about?
79 2016-04-24 16:17:41 0|NotAnNSAgent|I'm not talking about any notifications...
80 2016-04-24 16:17:58 0|NotAnNSAgent|I'm talking about a FLAG in the API for transactions that can be true or false.
81 2016-04-24 16:18:02 0|NotAnNSAgent|Is there such a thing?
82 2016-04-24 16:18:11 0|NotAnNSAgent|"has_been_processed" or something?
83 2016-04-24 16:18:49 0|NotAnNSAgent|Something I can use to not have to store a separate database just to remember which txids I've processed?
84 2016-04-24 16:21:28 0|sipa|if you're not talking about notification, then what does "has_been_processed" mean?
85 2016-04-24 16:21:41 0|sipa|you're presumably using a polling mechanism to update the state
86 2016-04-24 16:21:58 0|sipa|so the relevant question is whether you have already seen a transaction, not whether bitcoind had
87 2016-04-24 16:22:01 0|sipa|*has
88 2016-04-24 16:26:13 0|NotAnNSAgent|...
89 2016-04-24 16:26:26 0|NotAnNSAgent|So does this mean no?
90 2016-04-24 16:26:46 0|sipa|i'm afraid i don't understand your question
91 2016-04-24 16:27:08 0|sipa|you're trying to create an application that does something once for every transaction (every wallet transaction, i assume)?
92 2016-04-24 16:30:09 0|sipa|if so, there are 2 possible mechanisms
93 2016-04-24 16:30:30 0|sipa|either a polling-based approach (for example, listtransactions or getreceivedbyaddress RPC)
94 2016-04-24 16:30:43 0|sipa|or a push-based approach (for example, -walletnotify or ZMQ)
95 2016-04-24 16:31:01 0|sipa|in case of a polling approach, you'll only be notified once for each transaction
96 2016-04-24 16:31:10 0|sipa|eh, in case of a push-based approach
97 2016-04-24 16:31:34 0|sipa|in the case of a polling based approach, bitcoind cannot know what you have already seen or not, so there is no way to do what you're asking
98 2016-04-24 16:32:02 0|sipa|but even if you're using ZMQ or -walletnotify, you'll still need to use RPC to sync up in case your application restarted for example
99 2016-04-24 16:45:47 0|NotAnNSAgent|sipa: That's why I don't use "walletnotify" directly.
100 2016-04-24 16:46:16 0|NotAnNSAgent|sipa: I have "handle_new_bitcoin_donations.php" which I execute upon walletnotify (not caring about the %s you can send with it) as well as every hour as a cronjob.
101 2016-04-24 16:46:33 0|NotAnNSAgent|sipa: That script simply grabs the latest 100 transactions and is supposed to "process" (do some application logic) for each new one.
102 2016-04-24 16:46:48 0|NotAnNSAgent|sipa: In the situation I'm in, this is a dedicated server at home which has no SQL database installed/setup.
103 2016-04-24 16:47:10 0|NotAnNSAgent|sipa: I was trying to get around having to set that up just to keep a list of all txids that my script has "processed"/"seen".
104 2016-04-24 16:47:52 0|sipa|there is no solution for that, as bitcoind knows what it has seen, but it can't possibly know what you have seen
105 2016-04-24 16:48:11 0|NotAnNSAgent|sipa: That's why it would be a boolean flag, as I've been trying to say a number of times now.
106 2016-04-24 16:48:24 0|sipa|a boolean flag inside your application, yes
107 2016-04-24 16:48:25 0|NotAnNSAgent|Meaning I would do something like "updateseenflag <txid> true".
108 2016-04-24 16:48:33 0|sipa|bitcoind is not a database
109 2016-04-24 16:48:34 0|NotAnNSAgent|(If it had supported that)
110 2016-04-24 16:48:42 0|sipa|sorry, feature creep :)
111 2016-04-24 16:48:51 0|NotAnNSAgent|sipa: How can you possibly call that feature creep?
112 2016-04-24 16:49:00 0|NotAnNSAgent|It's the very basic associated flag IMO.
113 2016-04-24 16:49:32 0|NotAnNSAgent|I mean, you can't rely on "walletnotify" to send once the txid and expect that the receiving script/server is up and running at that specific time, as you said.
114 2016-04-24 16:49:49 0|NotAnNSAgent|So you have to do the "poll" method.
115 2016-04-24 16:50:14 0|sipa|or use ZMQ, but still poll once at startup or whenever the connection is reset
116 2016-04-24 16:50:20 0|NotAnNSAgent|I mean, as I said, I do use walletnotify, but only to "run the usual script" and not specifically for that txid (which I don't even capture).
117 2016-04-24 16:50:28 0|NotAnNSAgent|What is ZMQ?
118 2016-04-24 16:50:35 0|sipa|google is your friend
119 2016-04-24 16:50:39 0|NotAnNSAgent|No, it's not.
120 2016-04-24 16:51:08 0|sipa|sorry, i'm not your personal assistant
121 2016-04-24 16:51:31 0|sipa|look into ZMQ, it may do what you want
122 2016-04-24 16:51:54 0|sipa|otherwise, you'll need a database (or even just a text file!) in which you record what you've seen already and what you've done with it
123 2016-04-24 16:54:47 0|luke-jr|NotAnNSAgent: your idea breaks down when you have more than 1 program "processing" transactions
124 2016-04-24 16:57:47 0|sipa|despite that, it's open source, so you don't need anyone's permission to add such functionality to the code (for yourself, or present it as patch for including upstream)
125 2016-04-24 17:01:40 0|GitHub188|[13bitcoin] 15sipa opened pull request #7934: Improve rolling bloom filter performance and benchmark (06master...06benchrollingbloom) 02https://github.com/bitcoin/bitcoin/pull/7934
126 2016-04-24 17:02:08 0|luke-jr|indeed, the wallet actually has extensibility that you could probably add it in a way that's backward compatible
127 2016-04-24 17:02:21 0|luke-jr|and won't get removed if you accidentally run a non-compatible version
128 2016-04-24 17:36:22 0|NotAnNSAgent|Hmm @ multiple programs.
129 2016-04-24 17:36:31 0|NotAnNSAgent|How often would you have that? Seems like an odd thing to do.
130 2016-04-24 17:37:17 0|NotAnNSAgent|As for being open source... that's an fallacy. I'm not an expert coder and don't have the ability to sit down and figure out how everything works, much less release my own branch of that software from that point on.
131 2016-04-24 17:38:51 0|sipa|NotAnNSAgent: you can pay someone :)
132 2016-04-24 17:39:35 0|sipa|but it's also a fallacy to think that everyone has the same priorities for the code as you do
133 2016-04-24 17:40:44 0|NotAnNSAgent|No, I can't pay someone.
134 2016-04-24 17:40:59 0|NotAnNSAgent|You'd think this feature would've been thought of for 0.1.0.
135 2016-04-24 17:41:19 0|NotAnNSAgent|Different Core question, about the GUI application. How do you edit labels?
136 2016-04-24 17:43:32 0|luke-jr|0.1.0 is not 1.0.0
137 2016-04-24 17:43:50 0|luke-jr|and yes, you can pay someone; that's how code gets written typically
138 2016-04-24 17:44:07 0|sipa|NotAnNSAgent: sorry, we're all volunteers here; code gets written that someone spends their time on
139 2016-04-24 17:44:13 0|NotAnNSAgent|If they accept invisible money that I don't have, maybe.
140 2016-04-24 17:44:24 0|NotAnNSAgent|Sure. Just trying to understand the reasoning.
141 2016-04-24 17:44:48 0|NotAnNSAgent|I'll likely go for the text file.
142 2016-04-24 17:44:54 0|NotAnNSAgent|But who knows what happens if it gets corrupted?
143 2016-04-24 17:45:04 0|NotAnNSAgent|Or how slow it becomes after X transactions?
144 2016-04-24 17:45:06 0|luke-jr|NotAnNSAgent: wallets can get corrupted just as easily
145 2016-04-24 17:45:15 0|NotAnNSAgent|:/
146 2016-04-24 17:45:18 0|luke-jr|and bitcoind's wallet is not optimised at all
147 2016-04-24 17:45:26 0|NotAnNSAgent|Optimized?
148 2016-04-24 17:45:28 0|sipa|if you need reliability, you need a backup mechanism
149 2016-04-24 17:45:47 0|sipa|bitcoin core's wallet is design so it only needs a backup every 100 (or whatever you set the keypool size too) transactions
150 2016-04-24 17:46:09 0|sipa|if you're going to put application data inside the wallet, that requirement becomes: for every transaction
151 2016-04-24 17:46:11 0|luke-jr|sipa: well, you need a backup immediately for any metadata changes of course
152 2016-04-24 17:46:16 0|sipa|luke-jr: indeed
153 2016-04-24 17:47:16 0|luke-jr|hm, deadlock in almost-master
154 2016-04-24 17:48:10 0|luke-jr|or not, maybe it's just busy :P
155 2016-04-24 17:48:27 0|luke-jr|invalidateblock far back is slow <.<
156 2016-04-24 17:48:38 0|sipa|luke-jr: haha, yes
157 2016-04-24 17:48:44 0|sipa|it needs to rewind the entire UTXO set
158 2016-04-24 17:48:54 0|sipa|though a lot is due to it trying to keep the mempool in sync
159 2016-04-24 17:49:03 0|sipa|in segwit i have a patch that makes it bypass that
160 2016-04-24 17:50:39 0|NotAnNSAgent|Makes sort of sense.
161 2016-04-24 17:50:42 0|NotAnNSAgent|How do you edit labels in Core GUI?
162 2016-04-24 17:50:46 0|NotAnNSAgent|Maybe it's not possible?
163 2016-04-24 17:50:54 0|sipa|i have no idea, sorry
164 2016-04-24 17:55:27 0|luke-jr|NotAnNSAgent: right click
165 2016-04-24 17:55:40 0|luke-jr|(answering that was what I was trying to do when I realised it was blocked :P)
166 2016-04-24 17:56:12 0|luke-jr|it's common sense though, in most cases
167 2016-04-24 17:56:24 0|luke-jr|the one case that *doesn't* work sanely, is when you're sending via payment protocol
168 2016-04-24 17:56:40 0|luke-jr|in that case, you have to go to the transaction list after you send, and edit it in
169 2016-04-24 17:57:30 0|luke-jr|note that GUI labels aren't really well-supported in the RPC yet
170 2016-04-24 17:57:54 0|sipa|there is a half-and-half overlap between RPC accounts and GUI labels
171 2016-04-24 18:07:42 0|NotAnNSAgent|luke-jr: Right-click only has "Copy label".
172 2016-04-24 18:39:52 0|NotAnNSAgent|(This is not a practical problem anymore because I deleted it and created new ones)
173 2016-04-24 18:40:00 0|NotAnNSAgent|But I still wonder what you meant.
174 2016-04-24 19:19:06 0|NotAnNSAgent|luke-jr, sipa, etc.: What is the "id" that I can send used for?
175 2016-04-24 19:19:30 0|NotAnNSAgent|That is: 'jsonrpc' => '1.0', 'id' => 'curltest', 'method' => 'getbalance'
176 2016-04-24 19:24:04 0|sipa|NotAnNSAgent: it's part of the JSON-RPC specification
177 2016-04-24 19:24:20 0|sipa|i think it's just echoed back in the response
178 2016-04-24 20:20:25 0|NotAnNSAgent|sipa: It is, but why?
179 2016-04-24 20:20:47 0|NotAnNSAgent|Also, another question: sendfrom <-- What if I don't know which account (or no account) holds the money I want to send?
180 2016-04-24 20:20:58 0|NotAnNSAgent|Or rather, I didn't assign it to any particular account.
181 2016-04-24 20:36:04 0|sipa|NotAnNSAgent: then you're using the "" account
182 2016-04-24 20:36:42 0|sipa|NotAnNSAgent: for why, i din't know... ask the people who wrote the JSOn-RPC spec :)
183 2016-04-24 20:44:41 0|NotAnNSAgent|Hmm.
184 2016-04-24 20:44:59 0|NotAnNSAgent|sipa: "<amount> is a real and is rounded to 8 decimal places." <-- 0.1 seems to not mean "one tenth of a Bitcoin".
185 2016-04-24 20:45:04 0|NotAnNSAgent|(Thanks for the "" account tip)
186 2016-04-24 20:45:19 0|sipa|yes it does mean that
187 2016-04-24 20:54:13 0|NotAnNSAgent|sipa: Hmm. It doesn't seem to take 0.1 away from the balance.
188 2016-04-24 20:54:33 0|NotAnNSAgent|Maybe something weird is happening because I'm not quoting it, and PHP is mangling it or something.
189 2016-04-24 20:55:39 0|NotAnNSAgent|Oh. No. I just interpreted the data wrong. Sorry.
190 2016-04-24 20:56:00 0|NotAnNSAgent|Hmm. I'm somewhat confident that my tests are now ready to be turned live. But that's scary.
191 2016-04-24 20:56:09 0|NotAnNSAgent|I've essentially coded a little "bank" this last week.
192 2016-04-24 20:56:18 0|NotAnNSAgent|Based around a bitcoind-
193 2016-04-24 20:59:19 0|NotAnNSAgent|Have "accounts" existed since the very beginning?
194 2016-04-24 20:59:23 0|NotAnNSAgent|Very useful they are.
195 2016-04-24 21:00:01 0|NotAnNSAgent|Though I wonder how that works out with pre-generated safety addresses which aren't assigned to any account.
196 2016-04-24 21:03:04 0|sipa|NotAnNSAgent: those are not assigned an address until you call getnewaddress
197 2016-04-24 21:03:09 0|sipa|eh, a label
198 2016-04-24 21:03:20 0|sipa|also, accounts are very likely not doing what you think they are
199 2016-04-24 21:04:09 0|NotAnNSAgent|A label?
200 2016-04-24 21:04:22 0|NotAnNSAgent|A label is something different from an account... no? Why did you call accounts labels right now?
201 2016-04-24 21:04:23 0|sipa|and are deprecated and planned to be removed (and just be replaced by address labels)
202 2016-04-24 21:04:42 0|sipa|labels and accounts are effectively the same thing
203 2016-04-24 21:04:44 0|NotAnNSAgent|Are you saying that I've just implemented a deprecated concept?
204 2016-04-24 21:04:56 0|NotAnNSAgent|I've followed this: https://en.bitcoin.it/wiki/Original_Bitcoin_client/API_calls_list
205 2016-04-24 21:05:00 0|NotAnNSAgent|Is this wrong?
206 2016-04-24 21:06:00 0|sipa|the wiki is full of very olddated information
207 2016-04-24 21:06:23 0|sipa|i suggest using the developer documentation on bitcoin.org
208 2016-04-24 21:07:18 0|NotAnNSAgent|...
209 2016-04-24 21:07:31 0|NotAnNSAgent|https://bitcoin.org/en/developer-reference#bitcoin-core-apis <-- This page doesn't seem to even display correctly.
210 2016-04-24 21:07:39 0|NotAnNSAgent|And says it has not been reviewed.
211 2016-04-24 21:09:05 0|sipa|pro life tip: thongs that indicate they have shortcomings are often much better than random claims :)
212 2016-04-24 21:09:27 0|sipa|the information on the wiki is so wrong in many places that people stopped bothering to correct it
213 2016-04-24 21:09:55 0|NotAnNSAgent|sipa: That's just swell.
214 2016-04-24 21:10:00 0|NotAnNSAgent|I've been using it as a reference.
215 2016-04-24 21:10:07 0|NotAnNSAgent|And no warnings anywhere.
216 2016-04-24 21:10:13 0|btcdrak|sipa: thongs? o.0
217 2016-04-24 21:10:13 0|NotAnNSAgent|Except a link to that weird documentation.
218 2016-04-24 21:10:47 0|NotAnNSAgent|I find that link very messy.
219 2016-04-24 21:10:56 0|NotAnNSAgent|And I'm not just saying that because I've been using the old one.
220 2016-04-24 21:11:08 0|sipa|help improve it then :)
221 2016-04-24 21:11:25 0|NotAnNSAgent|From what I can tell, the stuff I have works. But what you say about accounts being deprecated sounds insane to me.
222 2016-04-24 21:11:30 0|NotAnNSAgent|It seems to be a core concept.
223 2016-04-24 21:11:37 0|NotAnNSAgent|Having no "accounts" within a wallet would make it useless.
224 2016-04-24 21:11:43 0|NotAnNSAgent|For anything but academic usage.
225 2016-04-24 21:11:56 0|NotAnNSAgent|I really hope no syntax changes will be necessary.
226 2016-04-24 21:12:10 0|NotAnNSAgent|Preserving backwards compatibility should be of utmost importance.
227 2016-04-24 21:12:19 0|sipa|accounts are pretty much incompatible with backups, for example
228 2016-04-24 21:12:28 0|NotAnNSAgent|?
229 2016-04-24 21:12:35 0|sipa|as you can't reconstruct account information from the blockchain
230 2016-04-24 21:13:02 0|sipa|if your wallet gets corrupted, you lose your accounting information, which for some businesses may be worse than losing money
231 2016-04-24 21:13:29 0|NotAnNSAgent|Okay. Please listen: we, the users, do not like it when you, the developers, change stuff around. Even if it's stupid, we want a reliable API to use and not have to constantly change our code. We want solid, robust stuff that can be relied upon.
232 2016-04-24 21:13:42 0|sipa|it's been deprecated for years
233 2016-04-24 21:13:47 0|NotAnNSAgent|The wallet.dat still contains it, no?!
234 2016-04-24 21:13:56 0|NotAnNSAgent|I really hope you're just joking or something.
235 2016-04-24 21:13:56 0|sipa|not if your wallet.dat gets corrupted
236 2016-04-24 21:14:04 0|NotAnNSAgent|That's why you have backups of wallet.dat?
237 2016-04-24 21:14:24 0|sipa|are you making a backup after every transaction?
238 2016-04-24 21:14:50 0|NotAnNSAgent|No, but often.
239 2016-04-24 21:14:57 0|sipa|not enough, if you use accounts
240 2016-04-24 21:15:10 0|NotAnNSAgent|"sendfrom <fromaccount> <tobitcoinaddress> <amount>" <-- Are you saying that at some point in the near future, I'll upgrade my bitcoind and this will cease to work?
241 2016-04-24 21:15:19 0|sipa|yes
242 2016-04-24 21:15:21 0|NotAnNSAgent|.........
243 2016-04-24 21:15:26 0|NotAnNSAgent|And it's replaced by what exactly?
244 2016-04-24 21:15:37 0|sipa|let me first ask you this
245 2016-04-24 21:15:43 0|sipa|what do you think that RPC does?
246 2016-04-24 21:15:54 0|NotAnNSAgent|Lets me talk to bitcoind.
247 2016-04-24 21:15:59 0|sipa|so far so good
248 2016-04-24 21:16:05 0|belcher|NotAnNSAgent do you have anything online that uses accounts?
249 2016-04-24 21:16:19 0|NotAnNSAgent|belcher: No, but I thought I was ready literally minutes ago.
250 2016-04-24 21:16:40 0|NotAnNSAgent|My test finished successfully, etc.
251 2016-04-24 21:17:03 0|NotAnNSAgent|I just casually mentioned how much I liked accounts, and then I learn that it's deprecated!
252 2016-04-24 21:17:17 0|sipa|NotAnNSAgent: say you have address A1 and address A2, A1 received a transaction paying it 1 BTC, A2 received a transaction paying it 2 BTC
253 2016-04-24 21:17:29 0|belcher|well they are, since before i got interested in bitcoin
254 2016-04-24 21:17:54 0|sipa|NotAnNSAgent: address A1 is associated with account L1, address A2 js associated with account L2
255 2016-04-24 21:18:14 0|sipa|NotAnNSAgent: you do sendfrom L1 someaddress 1.5
256 2016-04-24 21:18:20 0|sipa|what happens?
257 2016-04-24 21:18:45 0|NotAnNSAgent|It fails because it doesn't have enough money? (Assuming they both had 0 initially)
258 2016-04-24 21:18:58 0|sipa|wrong, it succeeds, and L1 goes to -0.5
259 2016-04-24 21:19:13 0|NotAnNSAgent|o_O
260 2016-04-24 21:19:16 0|NotAnNSAgent|Minus?
261 2016-04-24 21:19:19 0|NotAnNSAgent|How is that possible?
262 2016-04-24 21:19:35 0|sipa|because accounts do not do anything near what you think they do
263 2016-04-24 21:20:14 0|sipa|you've read the documentation for a few minutes, and thought they were cool, made assumptions about what they do, and started using them with a few tests
264 2016-04-24 21:20:28 0|sipa|and they are useful, for a few very narrow cases
265 2016-04-24 21:20:35 0|sipa|but almost everybody misunderstands them
266 2016-04-24 21:20:58 0|NotAnNSAgent|Seems like accounts were improperly designed to me. :/
267 2016-04-24 21:21:02 0|NotAnNSAgent|If you can get negative amounts.
268 2016-04-24 21:21:04 0|sipa|and recently we had a problem among developers where we were not even sure what a particular getbalance call was supposed to do wrt accounts
269 2016-04-24 21:21:28 0|NotAnNSAgent|So L1 steals 0.5 BTC from the other accounts in the wallet?
270 2016-04-24 21:21:33 0|sturles|Negative amounts is a feature, if you ask me.
271 2016-04-24 21:21:47 0|gmaxwell|NotAnNSAgent: No, accounts are not wallets. They're accounting records.
272 2016-04-24 21:21:49 0|sipa|NotAnNSAgent: you're making assumptions
273 2016-04-24 21:22:13 0|sipa|NotAnNSAgent: an account just keeps track of how much (in BTC) in a wallet belongs to a particular user
274 2016-04-24 21:22:26 0|gmaxwell|user/use
275 2016-04-24 21:22:30 0|sipa|it does not have anything to do with which transactions or coins
276 2016-04-24 21:22:38 0|NotAnNSAgent|If, in the example, you send more BTC than what exists in the "account" inside the wallet.dat (which contains the two accounts L1 and L2), I certainly hope that that money is taken from some place, or else anyone could generate free Bitcoins.
277 2016-04-24 21:22:40 0|sipa|the coins in your wallet are shared across all accounts
278 2016-04-24 21:23:22 0|NotAnNSAgent|Alright, so I have to redo everything. And I don't even know how.
279 2016-04-24 21:23:30 0|NotAnNSAgent|No accounts...
280 2016-04-24 21:23:50 0|sipa|at least i hope you now understand why they are deprecated: evrryone misunderstands them
281 2016-04-24 21:24:52 0|Arnavion|You'd think the nomenclature of having multiple accounts within the same wallet would give a hint that they don't mean what you'd expect
282 2016-04-24 21:24:54 0|NotAnNSAgent|Apparently. I sure did.
283 2016-04-24 21:24:55 0|sipa|in fact, we recently came across some weird behaviour in tje getbalance call, and nobody including developers were even sure what the correct behaviour would be
284 2016-04-24 21:25:19 0|sipa|yes, there is talk about having just multiple wallet simultaneously
285 2016-04-24 21:25:31 0|NotAnNSAgent|But then why does this up-to-date, apparently-official manual mention accounts for the very same API call? https://bitcoin.org/en/developer-reference#sendfrom
286 2016-04-24 21:25:44 0|sipa|nothing official
287 2016-04-24 21:25:53 0|sipa|and it does describe how it works
288 2016-04-24 21:26:28 0|gmaxwell|I think you're conflating multiple things; regardless of it being consider depricated; it's still there right now and still works as it always has.
289 2016-04-24 21:27:12 0|sipa|NotAnNSAgent: i can tell you that the transition to no accounts anymore will not hapoen instantly, as there are indeed people who rely on them, and use them the way they were intended to be used
290 2016-04-24 21:27:47 0|gmaxwell|It still continues to do what it's described to do; which is not what a lot of people initially think it does. (and often what they think it does isn't actually possible; or is equivilent to multiple wallets, with the overheads that involves)
291 2016-04-24 21:28:11 0|sipa|but it's good to know that we should probably ask the bitcoin.org people to mark those RPCs as deprecated on the site
292 2016-04-24 21:28:31 0|gmaxwell|Just axing out accounts would really screw up my tax reporting; unless they were at least replaced with labels.
293 2016-04-24 21:29:03 0|sipa|only account balances will go away, you'll still be able to list transactions by label
294 2016-04-24 21:29:41 0|sturles|I use accounts to kepp track of incoming BTC from users. BTC sold to me via my autobuy service. When the money has been transfered, I move the BTC to a different account. This is an extra safety for me, to make sure I have paid for every BTC I use or sell to other people, and in case I lose other records. I started to use accounts when I missed one payout due to a glitch in my walletnotify
295 2016-04-24 21:29:47 0|sturles|script, and never missed a payout since. If account balances are lost, this failsafe would be gone. :-(
296 2016-04-24 21:31:13 0|gmaxwell|sturles: the lack of good durability options for bitcoin wallets probably makes that workflow suboptimal. You probably want to have something that lets you send a transaction atomically with making a backup.
297 2016-04-24 21:32:13 0|gmaxwell|I guess we kind of have that possiblity now with walletbroadcast off... e.g. you'd make all your transactions but don't broadcast yet, backup with wallet. Then broadcast.
298 2016-04-24 21:32:53 0|sturles|Would be perfect, but my transaction volume is low enough that I can live with somewhat suboptimal.
299 2016-04-24 21:34:28 0|sturles|I could transfer funds to a different address when paid for, but that would cost transaction fees and block space.
300 2016-04-24 21:34:41 0|NotAnNSAgent|Why was the decision made to make "accounts" behave in this odd, unintuitive manner?
301 2016-04-24 21:35:11 0|gmaxwell|NotAnNSAgent: it's very sensible for the purpose they were created for. They're an overlay accounting system.
302 2016-04-24 21:36:11 0|NotAnNSAgent|But the syntax is literally: "sendfrom <fromaccount> <tobitcoinaddress> <amount>", even in the current documentation.
303 2016-04-24 21:36:19 0|gmaxwell|They let you tag incoming payments as payments to accounts, outgoing payments as payments from accounts, and let you enter correcting ledger entries.
304 2016-04-24 21:37:40 0|gmaxwell|There isn't really any "from" in the design of the bitcoin protocol in any case-- that people often think there is an artifact of the forensic analysis done by block explorers and the presentation of that analysis as 'transactions' in a way that doesn't actually reflect the operation of the bitcoin system.
305 2016-04-24 21:38:05 0|gmaxwell|I think this is why the rate of misunderstanding accounts increased over time, people were expecting there to be "from" in transactions.
306 2016-04-24 21:38:18 0|gmaxwell|and then it looks like the API is setting it.
307 2016-04-24 21:38:43 0|gmaxwell|( see also: https://iwilcox.me.uk/2014/no-from-address )
308 2016-04-24 21:38:48 0|NotAnNSAgent|Well, the manual I'm looking at, which is the official one unless I'm mistaken, doesn't even mention that this is being deprecated.
309 2016-04-24 21:39:12 0|NotAnNSAgent|https://bitcoin.org/en/developer-reference#sendfrom
310 2016-04-24 21:39:41 0|NotAnNSAgent|Somebody said it's been in "deprecated" state for years already.
311 2016-04-24 21:39:45 0|NotAnNSAgent|And soon will be removed.
312 2016-04-24 21:39:54 0|NotAnNSAgent|But the up-to-date manual doesn't even mention this fact.
313 2016-04-24 21:40:19 0|sipa|Please stop saying official. There is no such thing.
314 2016-04-24 21:40:38 0|sipa|Nobody said they will be removed soo
315 2016-04-24 21:40:56 0|sipa|They have indeed been deprecated for a long time.
316 2016-04-24 21:41:27 0|NotAnNSAgent|Alright, so if they are, then what do I do in place of "accounts"? And is this outlined nowhere?
317 2016-04-24 21:41:45 0|NotAnNSAgent|Somebody mentioned "labels", but they already exist as "labels" for transactions.
318 2016-04-24 21:41:51 0|NotAnNSAgent|And seem to be local only.
319 2016-04-24 21:42:04 0|gmaxwell|everything is local only.
320 2016-04-24 21:42:09 0|sipa|accounts are also local only
321 2016-04-24 21:42:12 0|NotAnNSAgent|Good point.
322 2016-04-24 21:42:24 0|gmaxwell|At no point have you mentioned what you're trying to accomplish, so no one can answer "what do I do in place".
323 2016-04-24 21:42:37 0|NotAnNSAgent|But labels aren't exactly... um... the labels I'm thinking of are like "Payment for the bicycle from Joe". Not "someservice".
324 2016-04-24 21:42:55 0|NotAnNSAgent|gmaxwell: I'm trying to have one wallet.dat/bitcoind, but deal with multiple "accounts" of money.
325 2016-04-24 21:43:02 0|NotAnNSAgent|Namely for two separate services I run.
326 2016-04-24 21:43:12 0|sipa|so you want multiple wallets, really
327 2016-04-24 21:43:15 0|NotAnNSAgent|They must never share money.
328 2016-04-24 21:43:30 0|sipa|i mean: you want something to behave as if they acted as two separate wallets
329 2016-04-24 21:43:40 0|NotAnNSAgent|That's why I thought "accounts" existed.
330 2016-04-24 21:43:42 0|sipa|bitcoind does not support this; there are other wallets out there that do
331 2016-04-24 21:44:16 0|NotAnNSAgent|Now you're just being ridiculous. Are you saying that every Bitcoin business in the world uses third-party clients because the official one only allows one single wallet?
332 2016-04-24 21:44:48 0|sipa|bitcoind does many things, and a wallet is only one of them
333 2016-04-24 21:44:53 0|gmaxwell|"they must never share money." < Thats multiple wallets that you want. You can run multiple bitcoinds, with pruning each will use a couple gigs of disk space.
334 2016-04-24 21:45:21 0|sipa|its wallet implementation is a reference one, certainly not the most advanced nor the one most development work goes towards
335 2016-04-24 21:45:26 0|NotAnNSAgent|You know, I was really proud an hour ago or so when I had finally finished (I thought) this complex system...
336 2016-04-24 21:46:13 0|gmaxwell|NotAnNSAgent: multiple wallets is very simple... run multiple wallets, connect to the correct one. Done. :)
337 2016-04-24 21:46:30 0|NotAnNSAgent|Why would it require multiple blockchains?
338 2016-04-24 21:46:38 0|gmaxwell|It doesn't, not with pruning.
339 2016-04-24 21:46:46 0|NotAnNSAgent|Pruning is a whole problem in itself.
340 2016-04-24 21:47:00 0|gmaxwell|uh. What?
341 2016-04-24 21:47:03 0|NotAnNSAgent|I'm stuck with 0.11.x and only 0.12.x does it. This is why I went out of my way to make a separate computer to just run Bitcoind.
342 2016-04-24 21:47:21 0|gmaxwell|How are you 'stuck with 0.11.x'?
343 2016-04-24 21:47:31 0|NotAnNSAgent|Because 0.12.x doesn't exist on FreeBSD.
344 2016-04-24 21:47:47 0|sipa|i'm sure you can run a compiler if you use FreeBSD
345 2016-04-24 21:47:48 0|gmaxwell|Sure it does. Do you mean ports hasn't updated to it?
346 2016-04-24 21:47:54 0|NotAnNSAgent|But even if it did, I wouldn't wanna run multiple different instances of bitcoind. That simply cannot be necessary. I refuse to believe that.
347 2016-04-24 21:48:03 0|sipa|it is not necessary
348 2016-04-24 21:48:06 0|NotAnNSAgent|There is no pkg except for 0.11.x, yes.
349 2016-04-24 21:48:22 0|sipa|and it's silly that you can't have two wallets in one bitcoind, i fully agree
350 2016-04-24 21:48:44 0|sipa|bit someone has to do the work to make that happen, someone has to test it, has to review it, has to maintain it
351 2016-04-24 21:49:05 0|sipa|few people have showed up before to do that when there was talk of having multiple wallets
352 2016-04-24 21:49:11 0|gmaxwell|I agree that it's a silly limitation, otoh, it's trivial to work around-- in a very safe and reliable way--, which is part of why no one has stepped up to fix that.
353 2016-04-24 21:49:41 0|gmaxwell|(as running multiple bitcoinds, especially with pruning, is a trival cost-- much cheaper than opening multiple bank accounts. :) )
354 2016-04-24 21:50:10 0|NotAnNSAgent|Trivial to work around? I'd have to run separate blockchains (ridiculous), not to mention it's a nightmare already to attempt to "restart" (kill and relaunch command) my one bitcoind...
355 2016-04-24 21:50:22 0|gmaxwell|And having multiple wallets in one bitcoind is more complex than you might guess at a glance; for example, you don't want to allow any privacy cross linking of them.
356 2016-04-24 21:50:23 0|NotAnNSAgent|And there is no pruning for me as mentioned.
357 2016-04-24 21:50:51 0|gmaxwell|NotAnNSAgent: you're running outdated software which is several releases behind, lacking the latest security and performance fixes...
358 2016-04-24 21:51:33 0|NotAnNSAgent|Tell that to the maintainer who doesn't respond to e-mails and doesn't take his job seriously.
359 2016-04-24 21:51:47 0|sipa|are you paying him.
360 2016-04-24 21:51:49 0|sipa|?
361 2016-04-24 21:52:04 0|sipa|no? then don't complain about the work of volunteers
362 2016-04-24 21:52:10 0|NotAnNSAgent|Crazy concept: doing something for other reasons than getting paid.
363 2016-04-24 21:52:18 0|gmaxwell|I can try pinging too. But this might be an argument against using freebsd if you're going to depend on packages that don't get updated.
364 2016-04-24 21:52:48 0|gmaxwell|NotAnNSAgent: sure, it would be nice but you can only ask for so much.
365 2016-04-24 21:52:59 0|NotAnNSAgent|I'm told to not use FreeBSD every time I mention a problem I'm having. If it were easy, I would switch.
366 2016-04-24 21:53:11 0|sipa|NotAnNSAgent: for the longest time i was not paid to work on bitcoin, and i still spent weekends and evenings on it. please don't say that money is the only reason to do things
367 2016-04-24 21:53:32 0|NotAnNSAgent|You used it as an argument, though.
368 2016-04-24 21:53:38 0|gmaxwell|NotAnNSAgent: well I'm not telling you to switch, just pointing out that its a consideration that has to be taken in totality.
369 2016-04-24 21:53:38 0|sipa|NotAnNSAgent: but you don't complain about the work of volunteers
370 2016-04-24 21:53:43 0|NotAnNSAgent|And of course nobody is saying that this is easy. I'd never say that.
371 2016-04-24 21:54:45 0|NotAnNSAgent|My experiences especially these last few weeks have really convinced me that Bitcoin has a looooong way to go before it can be implemented by anyone other than hardcore experts.
372 2016-04-24 21:54:58 0|NotAnNSAgent|I shouldn't say "implemented".
373 2016-04-24 21:55:01 0|NotAnNSAgent|More like "deployed".
374 2016-04-24 21:55:06 0|gmaxwell|In any case, 0.12.1 should build cleanly on freebsd without any modifications. If it doesn't we'd love to know about it and fix them for the next release.
375 2016-04-24 21:55:38 0|NotAnNSAgent|gmaxwell: I actually tried to build it on my FreeBSD box. It failed with some requirement of a db4.h or something along those lines.
376 2016-04-24 21:55:53 0|sipa|NotAnNSAgent: use --with-incompatible-bdb
377 2016-04-24 21:55:54 0|NotAnNSAgent|I already had db4-something as an installed package, but that wasn't good enough because it doesn't contain the source code.
378 2016-04-24 21:56:30 0|NotAnNSAgent|Incompatible BDB :S
379 2016-04-24 21:56:30 0|sipa|ah, yes, you'll need development headers
380 2016-04-24 21:56:36 0|gmaxwell|NotAnNSAgent: not that I'd disagree, but you've given yourself some disadavantages: you're using a less common and less well maintained platform, and you're trying to put two totally seperate uses on a single system, for example. These are things that _should_ still work well, I agree. But your expirence may not be typical. :)
381 2016-04-24 21:57:41 0|NotAnNSAgent|Even if I wanted to switch right now, I couldn't pick one of the numerous Linux distros. That would simply be impossible for me. And of course I'd have to recode every single script and learn how everything is done in that OS... to me, that is like going through a heart transplant.
382 2016-04-24 21:59:12 0|sipa|NotAnNSAgent: i must say that i'm somewhat surprised to see someone comment about using bitcoin on both Win10 and FreeBSD :)
383 2016-04-24 21:59:18 0|NotAnNSAgent|At some point, I tried to "give up and just use Bitpay or Coinbase", but both of those require you to send them "proof of business" and a bunch of nonsense like that (which they reveal only after registering, of course).
384 2016-04-24 21:59:21 0|sipa|NotAnNSAgent: not meant in a bad way, just curious
385 2016-04-24 21:59:43 0|NotAnNSAgent|What's so surprising? I don't know if I've mentioned Windows 10, but yes, I run that on the desktop.
386 2016-04-24 22:00:02 0|sipa|18:12:28 < NotAnNSAgent> Since Windows 10, the Bitcoin Core client for Windows uses the awful Windows 10 notifications, which I've been forced to turn off globally.
387 2016-04-24 22:00:08 0|NotAnNSAgent|Ah. Yes.
388 2016-04-24 22:00:54 0|NotAnNSAgent|When I picked FreeBSD, the year was 2000 or something.
389 2016-04-24 22:01:28 0|sipa|Ha, that's when I last used Windows (ME!), and switched to Debian :)
390 2016-04-24 22:02:20 0|sipa|NotAnNSAgent: btw, can you file an issue for those notifications?
391 2016-04-24 22:05:13 0|NotAnNSAgent|I'm often told to "file a bug" or "file a PR" etc. for various open source projects. When I try, I never receive a verification e-mail and then I forget about it. I've come to consider such tasks to be real chores that are far worse than carrying heavy objects around in real life.
392 2016-04-24 22:06:11 0|sipa|I can do it for you, but I don't even have any idea what notifications you're talking about
393 2016-04-24 22:07:19 0|sipa|I do understand the burden of registering on github, but the best thing you can do right now to get the problem fixed eventually, is to provide as much information about it on a report.
394 2016-04-24 22:07:45 0|NotAnNSAgent|The notifications thing really is a non-issue in comparison to this.
395 2016-04-24 22:08:28 0|sipa|Doesn't mean it can't get attention, probably by very different people.
396 2016-04-24 22:10:50 0|NotAnNSAgent|Essentially, I hate the Windows 10 notifications but loved the old, pre-Windows 10 balloon tips.
397 2016-04-24 22:11:08 0|NotAnNSAgent|The Win10 ones are flooding me with useless notifications such as "all transfers finished" in FileZilla, making them useless.
398 2016-04-24 22:11:18 0|NotAnNSAgent|Or "Get Office 360 for cheap!"
399 2016-04-24 22:11:31 0|NotAnNSAgent|But the old balloon tips nicely stayed there until I saw them.
400 2016-04-24 22:11:35 0|NotAnNSAgent|And no junk ones.
401 2016-04-24 22:11:53 0|NotAnNSAgent|There is supposedly a way to turn off notifications for all but your chosen "apps", but it doesn't actually seem to work.
402 2016-04-24 22:13:44 0|NotAnNSAgent|What disturbs me the most about all of this is probably that even the current documentation doesn't reflect this MAJOR (IMO) change.
403 2016-04-24 22:13:59 0|NotAnNSAgent|Do you developers have some internal documentation that you use?
404 2016-04-24 22:14:33 0|belcher|i think i found out accounts were deprecated from the bitcoin wiki or something
405 2016-04-24 22:14:43 0|belcher|or maybe when you run help json-rpc
406 2016-04-24 22:14:58 0|NotAnNSAgent|belcher: https://bitcoin.org/en/developer-reference#sendfrom
407 2016-04-24 22:15:09 0|NotAnNSAgent|It's acting as if accounts are alive and well.
408 2016-04-24 22:15:20 0|belcher|whoops wrong channel
409 2016-04-24 22:16:56 0|belcher|if you run 'help getaccount' on json-rpc (or anything accounts related i guess) it tells you they're deprecated
410 2016-04-24 22:17:15 0|molz|belcher, on the wallet qt, if you type in the console "help getaccount", it tells you "DEPRECATED. Returns the account associated with the given address." so i don't think anyone can miss it
411 2016-04-24 22:18:01 0|NotAnNSAgent|Yeah, that's totally gonna happen.
412 2016-04-24 22:19:08 0|sipa|that's the only "official" documentation there is, though :)
413 2016-04-24 22:19:46 0|NotAnNSAgent|How can you run a "help" command inside an API call?
414 2016-04-24 22:19:46 0|NotAnNSAgent|I don't even know what "run 'help getaccount' on json-rpc" means.
415 2016-04-24 22:19:57 0|NotAnNSAgent|That sounds like something that would be run on the command line.
416 2016-04-24 22:20:21 0|sipa|you send the 'help' RPC with the name of the command as argument
417 2016-04-24 22:20:30 0|NotAnNSAgent|So... I can't believe I'm asking this, but... how do you *actually* send money?
418 2016-04-24 22:20:37 0|sipa|sendtoaddress
419 2016-04-24 22:20:38 0|NotAnNSAgent|Since the account stuff is false.
420 2016-04-24 22:20:57 0|sipa|or sendmany
421 2016-04-24 22:21:26 0|sipa|or the createrawtransaction / fundrawtransaction / signrawtransaction / sendrawtransaction approach, if you want more low-level control
422 2016-04-24 22:22:57 0|NotAnNSAgent|I think you must be using the same underlying documentation software as Stripe.
423 2016-04-24 22:23:05 0|sipa|?
424 2016-04-24 22:23:10 0|NotAnNSAgent|Because Stripe also nearly crashes my browser every time I load their documentation pages.
425 2016-04-24 22:23:27 0|NotAnNSAgent|sipa: I'm referring to https://bitcoin.org/en/developer-reference#sendtoaddress
426 2016-04-24 22:23:40 0|sipa|i don't run that site; i just recommended it
427 2016-04-24 22:24:17 0|sipa|works fine here
428 2016-04-24 22:24:20 0|NotAnNSAgent|I mean "you" as in "Bitcoin developers".
429 2016-04-24 22:24:42 0|sipa|Bitcoin developers do not run that site.
430 2016-04-24 22:24:53 0|sipa|at least, not the Bitcoin Core maintainers
431 2016-04-24 22:26:12 0|NotAnNSAgent|Where is the actual manual for Bitcoin?
432 2016-04-24 22:26:23 0|NotAnNSAgent|If Bitcoin.org is unofficial.
433 2016-04-24 22:26:29 0|NotAnNSAgent|I know you don't like the term "official".
434 2016-04-24 22:26:53 0|sipa|the documentation for the RPC interface is available through the 'help' RPC
435 2016-04-24 22:27:30 0|NotAnNSAgent|So in other words, there is no manual? Other than hidden inside RPC API calls?
436 2016-04-24 22:28:33 0|sipa|i wouldn't call it hidden, but if you're looking for a reference, no
437 2016-04-24 22:28:51 0|sipa|the documentation on bitcoin.org is often very good though, and better than what developers would write :)
438 2016-04-24 22:31:06 0|NotAnNSAgent|Except when it fails to mention crucial facts.
439 2016-04-24 22:31:33 0|NotAnNSAgent|Which could only be known to somebody who is very intimately familiar with the Bitcoin development process.
440 2016-04-24 22:31:59 0|NotAnNSAgent|There is no way I could code another line in this state. Too pissed off and disillusioned.
441 2016-04-24 22:32:06 0|NotAnNSAgent|Must take a long damn nightly walk or something.
442 2016-04-24 22:32:08 0|NotAnNSAgent|BBL.
443 2016-04-24 22:41:28 0|achow101|how is median time past calculated