1 2011-10-16 00:06:44 <odysseus654> you talking about log.000001242
2 2011-10-16 00:07:12 <odysseus654> ?
3 2011-10-16 00:10:10 <Sp0tter> no
4 2011-10-16 00:13:14 <Sp0tter> __db.001
5 2011-10-16 00:13:27 <Sp0tter> what version of BDB does bitcoin use
6 2011-10-16 00:14:07 <odysseus654> depends on the version, i think the release notes show 0.4 using 4.8 or something?
7 2011-10-16 00:16:27 <luke-jr> Sp0tter: why did you take Eligius's NMC off? -.-
8 2011-10-16 00:16:33 <Sp0tter> luke-jr: because it sounds shady
9 2011-10-16 00:17:45 <luke-jr> &
10 2011-10-16 00:19:05 <Sp0tter> when you have a valid payout for it, i will add it
11 2011-10-16 00:21:19 <Sp0tter> and mine it :)
12 2011-10-16 00:21:35 <luke-jr> Sp0tter: I do.
13 2011-10-16 00:23:14 <odysseus654> ok, looks like 4.8: http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.4.0/
14 2011-10-16 00:25:17 <luke-jr> Sp0tter: plenty of people paid out already
15 2011-10-16 00:28:52 <luke-jr> Sp0tter: hashrate has no relation to payout either&
16 2011-10-16 00:29:31 <odysseus654> i have a random tech question that no one likely had an answer to. wherefore not sqlite ?
17 2011-10-16 00:31:51 <Sp0tter> luke-jr: please contact Sp0tter in #btcguild
18 2011-10-16 00:32:05 <luke-jr> Sp0tter: why? you're right here
19 2011-10-16 00:32:05 <odysseus654> why BDB is better?
20 2011-10-16 00:32:06 <Sp0tter> luke-jr: i'm doing something else here
21 2011-10-16 00:34:03 <luke-jr> :p
22 2011-10-16 00:34:35 <Sp0tter> maybe you can help
23 2011-10-16 00:35:32 <Sp0tter> i want to fully understand how all of the data is stored
24 2011-10-16 00:35:37 <luke-jr> I don't know why those files are there.
25 2011-10-16 00:37:34 <luke-jr> pretty sure they can be deleted safely
26 2011-10-16 00:37:50 <Sp0tter> and makea perl script to read the block db
27 2011-10-16 00:39:09 <odysseus654> unless bitcoin crashed the last time it was shut down...
28 2011-10-16 00:39:17 <luke-jr> Sp0tter: you know there's already a Perl implementation, right?
29 2011-10-16 00:40:09 <odysseus654> i already have a fixwallet script that somene named BlueMatt wrote that can read the files
30 2011-10-16 00:40:59 <Sp0tter> yes, i just want to use it
31 2011-10-16 00:41:42 <Sp0tter> i have the bdb module
32 2011-10-16 00:43:06 <odysseus654> https://github.com/TheBlueMatt/bitcointools
33 2011-10-16 00:44:50 <Sp0tter> i also have the db4.8_utis in debian
34 2011-10-16 00:52:41 <luke-jr> odysseus654: that was recently changed to be so, I think
35 2011-10-16 00:53:49 <luke-jr> odysseus654: the alternative was worse, for people with 24/7 wallets: it would show when you first saw the transaction, and then move it later in the list when it got confirmed
36 2011-10-16 00:54:34 <odysseus654> ok, was wondering why i had ~20 transactions with timestamps within half an hour, then another ~10 that were 15 days previous wtihin half an hour
37 2011-10-16 00:56:01 <gmaxwell> odysseus654: There is really no "when it was paid" there was when it was mined... but that can change (e.g. when it gets mined for the first time, or if you see a reorg)
38 2011-10-16 00:57:39 <odysseus654> there's first-broadcast, first-download, registered-blocktime... there's prob a few others
39 2011-10-16 00:59:09 <luke-jr> first-broadcast is not recorded
40 2011-10-16 00:59:51 <luke-jr> first-download is what you see now
41 2011-10-16 01:02:05 <odysseus654> what is 0/unconfirmed then, this thing doesn't record IRC broadcasts?
42 2011-10-16 01:04:24 <luke-jr> registered-blocktime always changes at least once (when it's first mined)
43 2011-10-16 01:05:12 <luke-jr> there are no IRC broadcasts
44 2011-10-16 01:06:22 <luke-jr> 0/unconfirmed is p2p
45 2011-10-16 01:08:37 <gmaxwell> ... IRC broadcasts?!
46 2011-10-16 01:08:44 <odysseus654> ok, p2p broadcasts then :-P
47 2011-10-16 01:09:38 <luke-jr> if you see it at 0/unconfirmed, that's the time it will show you
48 2011-10-16 01:09:52 <odysseus654> i saw this thing connecting to IRC and got a bit confused
49 2011-10-16 01:11:43 <luke-jr> if you're offline when it's broadcast, you see when you first download it
50 2011-10-16 01:14:18 <luke-jr> IRC is just for finding peers
51 2011-10-16 01:16:18 <gmaxwell> And its only one of several methods of finding peers.
52 2011-10-16 01:17:56 <odysseus654> so it sounds like timestamp goes to first-broadcast, then first-download... how does registered-blocktime change, isn't it part of the signed content?
53 2011-10-16 01:19:06 <luke-jr> odysseus654: the timestamp is when your client first sees the transaction
54 2011-10-16 01:19:14 <luke-jr> whether that be broadcast or in a block is irrelevant
55 2011-10-16 01:20:37 <luke-jr> registered blocktime changes from None to a specific time when it gets confirmed
56 2011-10-16 01:23:23 <odysseus654> oh, you're talking about the revorded transaction in BDB, is that why all the warnings about not crashing when you have unconfirmed transactions?
57 2011-10-16 01:24:14 <luke-jr> &
58 2011-10-16 01:26:39 <gmaxwell> ^ ditto. Huh?
59 2011-10-16 01:28:02 <odysseus654> i'm looking, it's not in 0.4 release notes
60 2011-10-16 01:36:36 <odysseus654> if import/export is used to send money to other people (why not just use bitcoin) then the client should prob be told to keep them separate (multiple wallets?)
61 2011-10-16 01:49:50 <odysseus654> i'm not sure i'm really happy with the fact that my "address book" contains dozens of addresses that i'm not allowed to see, because the client doesn't want to "confuse" me. at least that's the impression i'm getting. Where do I see backdraft addresses for instance?
62 2011-10-16 01:58:55 <gmaxwell> Change addresses? You don't.
63 2011-10-16 02:01:44 <gmaxwell> And for good reason... as they'd rapidly make the interface pretty much incomprehensible.
64 2011-10-16 02:08:52 <odysseus654> i'm guessing each transaction creates a new address there, right?
65 2011-10-16 03:43:01 <Sp0tter> what are the key indexes for the block database?
66 2011-10-16 03:44:12 <Sp0tter> tx idea?
67 2011-10-16 04:04:17 <odysseus654> the moment any of the db4.8_utilities have touched any of my wallet files they've been permanantly damaged, lol
68 2011-10-16 04:04:41 <Sp0tter> i made a copy first
69 2011-10-16 04:05:06 <odysseus654> and i'm still tempted to look into SQLITE, lol. Considering that I deal with an RDBMS (sp?) every waking weekday, i'm prob just running to what i know, right?
70 2011-10-16 04:08:47 <odysseus654> i know i prob should do that MEMTEST thingy though. I doubt it would come up with anything though, would be too obvious an answer :-P
71 2011-10-16 04:10:58 <odysseus654> the last time i spent some time trying to figure out why someone's program was crapping out, there was no source and I eventually wrote a wrapper that would call CreateRemoteThread on it to patch it while it was running. That... felt a little close to the line.
72 2011-10-16 04:22:30 <AAA_awright> odysseus654: You don't want SQLite (not an acronym btw)
73 2011-10-16 04:23:49 <odysseus654> ok. gimmie reasons :-)
74 2011-10-16 04:24:08 <AAA_awright> There's no reason a single-file database couldn't be awesome
75 2011-10-16 07:05:47 <FellowTraveler> hi all.
76 2011-10-16 07:14:08 <conman> been doing it offlist for 2 years, minimal involvement with mainline
77 2011-10-16 07:14:31 <jaromil> FellowTraveler: tons of interest but major time messup atm
78 2011-10-16 07:16:02 <FellowTraveler> I have a giant list of projects I need others to work on, can you scrounge up some volunteers for me?
79 2011-10-16 07:16:23 <jaromil> conman: i'd love to test. dynebolic 2.x always run CK kernel, people loves it
80 2011-10-16 07:18:25 <jaromil> now just revamped dev on dynebolic 3 and following linux-libre rather than mainline, GNU and FSF vetted
81 2011-10-16 07:19:31 <conman> hmm well kernel.org got rooted and my patches aren't there any more
82 2011-10-16 07:20:56 <conman> so I should host them on my server
83 2011-10-16 07:22:20 <jaromil> let me know if you do and even if i can help hosting
84 2011-10-16 07:24:06 <conman> oh I do
85 2011-10-16 07:24:27 <conman> it's all there
86 2011-10-16 07:26:28 <jaromil> ah oh ok i'll look then
87 2011-10-16 07:27:41 <nathan7> 'mornin
88 2011-10-16 07:29:17 <nathan7> g
89 2011-10-16 07:30:28 <nathan7> What's this planet up to?
90 2011-10-16 07:32:22 <jaromil> i was sad reading you left mainline you was the best and was stupid to see you living
91 2011-10-16 07:35:46 <jaromil> not by mistake i chose your patchset after testing
92 2011-10-16 07:36:38 <gjs278> on an i7 for desktop use, what frequency should I run, 100, 250, or 1000 in the kernel config
93 2011-10-16 07:37:36 <gjs278> the tick or whatever
94 2011-10-16 07:37:51 <jaromil> ok nuff schmoosing i'm serious will have a look and i'm busy with http://dynebolic.org with a revamped distro
95 2011-10-16 07:41:45 <conman> *click
96 2011-10-16 07:43:06 <conman> sweet
97 2011-10-16 07:47:35 <gjs278> sweet ck-sources is a gentoo package already
98 2011-10-16 09:54:50 <urstroyer> greetings, does any1 have an idea how to get all accumulated transactionfees on the current network block which havn't be solved by the network yet? it seems there is no rpc call to the bitcoind available
99 2011-10-16 09:59:39 <Ycros> urstroyer: you'd have to write something to do that
100 2011-10-16 10:02:07 <urstroyer> so best practice would be to write a patch to bitcoind with a new call which will do the job, right?
101 2011-10-16 10:16:37 <Ycros> yep
102 2011-10-16 10:22:44 <UukGoblin> urstroyer, check getmemorypool
103 2011-10-16 10:23:06 <UukGoblin> might take some parsing though
104 2011-10-16 10:27:29 <Ycros> yeah.
105 2011-10-16 10:27:41 <Ycros> :P
106 2011-10-16 10:28:00 <urstroyer> @uukgoblin thanks a lot thats exactly what i'am looking for. if i understand correctly it will make into version 0.5, thats good news
107 2011-10-16 10:28:36 <Ycros> hmm hm
108 2011-10-16 10:28:39 <UukGoblin> yup, should do
109 2011-10-16 10:31:44 <diki> if midstate is getting dropped in 0.5.0 how will it be included?
110 2011-10-16 10:32:00 <diki> i mean how will the midstate be given to the miner?
111 2011-10-16 10:32:25 <wumpus> if it gets removed, you'll have to compute it yourself
112 2011-10-16 10:32:30 <diki> lolwut?
113 2011-10-16 10:33:37 <wumpus> as I understand it's just an intermediate state of the hashing algorithm so strictly spoken it's redundant
114 2011-10-16 10:35:05 <sipa> it is
115 2011-10-16 10:35:32 <sipa> and most miners do already calculate it anyway
116 2011-10-16 10:36:52 <sipa> the padded header is two times 64 bytes, call it B1 and B2. blockhash = H(H(B1|B2))
117 2011-10-16 10:37:07 <sipa> but the H(B1 part can be precalculated, as the nonce is in B2
118 2011-10-16 10:37:25 <sipa> that's midstate iirc
119 2011-10-16 10:37:31 <Diablo-D3> you know
120 2011-10-16 10:37:43 <Diablo-D3> the bitcoin gui should notify you when its out of date
121 2011-10-16 10:40:10 <wumpus> it does
122 2011-10-16 10:41:32 <wumpus> sipa: there is really no reason to precompute it in the client then, especially for pools which have to handle a lot
123 2011-10-16 10:42:18 <sipa> wumpus: no, and it is cumbersome to calculate it in bitcoind, because that requires a custom implementation of sha256 which allows inspecting the intermediate data structure
124 2011-10-16 10:43:02 <sipa> wumpus: how does the client notify you it's outdated?
125 2011-10-16 10:43:39 <wumpus> you mean when it has to catch up with the block chain?
126 2011-10-16 10:43:45 <wumpus> it starts spinning
127 2011-10-16 10:44:28 <sipa> i believe Diablo-D3 refers to the version of the client itself
128 2011-10-16 10:44:49 <wumpus> oh right
129 2011-10-16 10:45:28 <wumpus> I wonder what a p2p way would be to find if the version is up to date, maybe handle it in the same way as the max block # and take the median of the peers it connects to...
130 2011-10-16 10:45:47 <wumpus> then again, if the majority is outdated that wont help you
131 2011-10-16 10:46:16 <Diablo-D3> er, yes, I meant what sipa said...
132 2011-10-16 10:46:19 <Diablo-D3> but what did YOU mean?
133 2011-10-16 10:46:25 <Diablo-D3> Im not aware of any other signals
134 2011-10-16 10:46:27 <sipa> wumpus means the block chain being outdated
135 2011-10-16 10:46:34 <wumpus> and simpy taking the maximum is open to abuse
136 2011-10-16 10:46:53 <Diablo-D3> ahh
137 2011-10-16 10:47:03 <Diablo-D3> no, Im just interested in client version
138 2011-10-16 10:47:08 <Diablo-D3> bitcoin rather silently releases new releases
139 2011-10-16 10:47:20 <wumpus> maybe a system-wide message signed by gavin that reminds users to upgrade
140 2011-10-16 10:47:36 <sipa> the alert system you mean?
141 2011-10-16 10:47:39 <wumpus> yes
142 2011-10-16 10:47:59 <wumpus> or something similar
143 2011-10-16 10:48:31 <wumpus> it should just be a harmless notification not an 'alert' as such
144 2011-10-16 10:48:53 <sipa> there were plans for some gitian based script that would detect new versions
145 2011-10-16 10:49:09 <sipa> after they're signed by enough devs
146 2011-10-16 10:49:21 <santacruz> Who can create 2-of-3 escrow ( or even 2-of-2 ) transactions patch? There is bounty for this - https://bitcointalk.org/index.php?topic=48215.0
147 2011-10-16 10:49:25 <wumpus> but you really want to do it without the individial client instances having to 'phone home' to a central server
148 2011-10-16 10:52:12 <sipa> wumpus: well, the release of new versions is inherently centralized
149 2011-10-16 10:54:07 <wumpus> maybe it could be combined with the seeding process, if we're going to call home do it at least all in one place
150 2011-10-16 10:54:50 <wumpus> with the list of peer nodes, also retrieve a signed message with the latest version
151 2011-10-16 10:56:49 <diki> too risky
152 2011-10-16 10:57:09 <wumpus> risky?
153 2011-10-16 10:58:30 <wumpus> how can showing a warning to upgrade to the newest version (with a link to bitcoin.org) be risky? it's not like it starts auto-downloading or mutating its innards or something
154 2011-10-16 10:59:04 <wumpus> it's not Chrome :-)
155 2011-10-16 11:00:15 <rjk2> i like the idea of combining it with he bootstrap process
156 2011-10-16 11:18:42 <diki> wumpus:better not
157 2011-10-16 11:19:25 <wumpus> diki: why? better not what? I really don't get you
158 2011-10-16 11:20:58 <diki> Im saying better drop the idea
159 2011-10-16 11:21:07 <wumpus> I'm asking why
160 2011-10-16 11:22:35 <wumpus> Diablo-D3 has a good point that new releases are pretty silent, and unless we want everyone to subscribe to the developer mailing list the best way to notify current users would be something in the client itself
161 2011-10-16 11:22:55 <wumpus> if people run newer versions this would improve the quality of the network
162 2011-10-16 11:22:56 <diki> Better not, it compromises security
163 2011-10-16 11:23:01 <wumpus> no it does not
164 2011-10-16 11:23:12 <diki> If someone were to compromise gavin's PC..it would be bad
165 2011-10-16 11:23:40 <wumpus> not really... releases are signed by multiple devs
166 2011-10-16 11:23:49 <wumpus> take a look how the gitian system works it's pretty intruiging
167 2011-10-16 11:25:15 <wumpus> not that it still wouldn't be bad if gavin's pc was compromised, but a new version notification doesn't change anything to that
168 2011-10-16 11:52:03 <ThomasV> https://bitcointalk.org/index.php?topic=48533.0 <---developers read this
169 2011-10-16 11:53:03 <sipa> bitcoin is not a payment processor
170 2011-10-16 11:53:42 <sipa> and as for N1, the new qt UI solves a lot of the inconveniences
171 2011-10-16 11:54:14 <ThomasV> and N3?
172 2011-10-16 11:54:27 <ThomasV> N3 is realy the easiest to fix
173 2011-10-16 11:55:09 <sipa> N3 is just not true
174 2011-10-16 11:55:14 <sipa> (keypool)]
175 2011-10-16 11:55:15 <ThomasV> lol
176 2011-10-16 11:55:23 <ThomasV> why?
177 2011-10-16 11:55:40 <sipa> the wallet contains 100 (by default) pregenerated keys, for later use
178 2011-10-16 11:55:50 <ThomasV> so what?
179 2011-10-16 11:55:53 <sipa> precisely so that backups made up to 100 transactions ago work just fine
180 2011-10-16 11:56:09 <ThomasV> that's not enough
181 2011-10-16 11:56:18 <terrytibbs> You can increase it at will
182 2011-10-16 11:56:42 <ThomasV> no, it's too difficult for users to fuck around with options
183 2011-10-16 11:57:09 <ThomasV> finite pool should be the default
184 2011-10-16 11:57:38 <sipa> finite pool will kill all privacy
185 2011-10-16 11:57:47 <sipa> but i agree, there should be more convenient systems
186 2011-10-16 11:57:57 <ThomasV> no, privacy ayatollahs can mess with the options
187 2011-10-16 11:58:09 <ThomasV> they are the ones who read options
188 2011-10-16 11:58:50 <ThomasV> and there's also the deterministic wallet solution
189 2011-10-16 11:59:02 <Ycros> I think a finite pool, with a warning when the addresses are exhausted and it needs to generate more would be nice
190 2011-10-16 11:59:18 <ThomasV> Ycros: yes
191 2011-10-16 11:59:21 <Ycros> sort of a "warning: existing backups will be invalidated"
192 2011-10-16 12:00:38 <luke-jr> ThomasV: N3 is solved by deterministic wallets
193 2011-10-16 12:00:53 <ThomasV> and a choice, with the option to increase or not the keypool
194 2011-10-16 12:00:57 <Ycros> ThomasV: confirmations... they can be a problem, yes, but there isn't much you can do within bitcoin. Some alternate chains have tried to solve this by doing things faster
195 2011-10-16 12:01:02 <Ycros> I totally agree N1 sucks and should be fixed though
196 2011-10-16 12:01:09 <luke-jr> N1 is not an issue
197 2011-10-16 12:01:17 <ThomasV> Ycros: I know. I am not the OP, in case you did not see
198 2011-10-16 12:01:19 <Ycros> two things come to mind: 1) more efficient blockchain download, 2) partial blockchain support
199 2011-10-16 12:01:40 <ThomasV> I answered in the thread
200 2011-10-16 12:01:42 <Ycros> luke-jr: oh please.
201 2011-10-16 12:01:54 <sipa> bitcoin (at least the current implementation) is just not intended as a payment processor
202 2011-10-16 12:02:03 <luke-jr> the statusbar shows "Synchronizing with network" and a spinning thing when it's not up to date
203 2011-10-16 12:02:10 <sipa> i hope good ideas and implementations for them pop up soon
204 2011-10-16 12:03:24 <conman> need trustworthy banks with secure interfaces that have the block chain for you and you just log in like any normal online banking
205 2011-10-16 12:03:39 <sipa> that's one option, indeed
206 2011-10-16 12:03:41 <conman> but that's a league above where we are atm
207 2011-10-16 12:04:13 <conman> if it doesn't come to a grinding halt it's an inevitable evolution
208 2011-10-16 12:04:59 <ThomasV> conman: no, we could do it differently
209 2011-10-16 12:05:30 <Ycros> luke-jr: yes, that's not the part that's stupid
210 2011-10-16 12:05:40 <Ycros> luke-jr: how long it takes, and having to wait that long is stupid
211 2011-10-16 12:05:43 <Blitzboom> ThomasV is a clever guy
212 2011-10-16 12:05:46 <ThomasV> we need servers that give you the balance of each of your addresses, and that relay transactions to the bitcoin network
213 2011-10-16 12:05:48 <Blitzboom> listen to him
214 2011-10-16 12:05:52 <ThomasV> :-)
215 2011-10-16 12:05:54 <Ycros> conman: mycoin did that
216 2011-10-16 12:05:57 <sipa> there is no such thing as "balance of an address"
217 2011-10-16 12:05:58 <Ycros> conman: then they got hacked
218 2011-10-16 12:05:59 <Ycros> :P
219 2011-10-16 12:06:02 <sipa> at least not in general
220 2011-10-16 12:06:08 <conman> <conman> need trustworthy banks
221 2011-10-16 12:06:13 <conman> Ycros, note the emphasis
222 2011-10-16 12:06:21 <Ycros> what emphasis? ;)
223 2011-10-16 12:06:35 <conman> SIGH
224 2011-10-16 12:06:37 <conman> GNIGHT
225 2011-10-16 12:14:03 <UukGoblin> hmmm
226 2011-10-16 12:14:10 <UukGoblin> even trustworthy banks might have a problem
227 2011-10-16 12:14:25 <UukGoblin> if for instance someone double spends and then mines a block confirming his second-spend
228 2011-10-16 12:14:31 <UukGoblin> right?
229 2011-10-16 12:15:00 <sipa> a decent bitcoin payment processor will give merchant guarantees about payments
230 2011-10-16 12:15:07 <sipa> i.e., insure against double spends
231 2011-10-16 12:15:39 <UukGoblin> ah, well
232 2011-10-16 12:15:48 <UukGoblin> that could be exploited by malicious users
233 2011-10-16 12:16:44 <sipa> sure
234 2011-10-16 12:16:50 <sipa> but that's not the merchants' problem
235 2011-10-16 12:17:23 <UukGoblin> one way would be for the payment processors to provide both clients and merchants with accounts
236 2011-10-16 12:17:34 <UukGoblin> and have a standardized way of communicating transfers
237 2011-10-16 12:18:43 <UukGoblin> i.e. we'd have N "bitcoin banks", each talking to each other via some protocol. Client would have an account at bank A, merchant at bank B. Using the protocol, banks A and B would negotiate the transfer instantly (assuming they trust each other, but they could have contracts signed for that)
238 2011-10-16 12:18:59 <UukGoblin> ... and settle the bitcoin transfer at a later time
239 2011-10-16 12:19:05 <sipa> then what do you need bitcoin for/
240 2011-10-16 12:19:10 <sipa> that's just the current system
241 2011-10-16 12:19:27 <UukGoblin> :-)
242 2011-10-16 12:19:43 <UukGoblin> well, yeah, bitcoin's role would be reduced to just currency then, not a transfer network
243 2011-10-16 12:20:04 <UukGoblin> but that'd give a chance to people who don't want to use banks to still do slow transfers between each other
244 2011-10-16 12:35:41 <Diablo-D3> [09:23:12] <diki> If someone were to compromise gavin's PC..it would be bad
245 2011-10-16 12:35:43 <Diablo-D3> not really
246 2011-10-16 12:35:56 <Diablo-D3> because thats going to happen anyhow no matter if we have a client notification or not
247 2011-10-16 12:36:22 <Diablo-D3> and the releases are built from git, so whoever does it is also going to have to commit the changes to github
248 2011-10-16 12:36:42 <Diablo-D3> bitcoin has a rather paranoid build system
249 2011-10-16 12:43:38 <Urgent> I have an assignment in my graduate level software engineering course to implement the block exchange in C only .. if I had block regardless of how I got it where to put it and what are the block index of the main branch
250 2011-10-16 12:43:45 <Urgent> and what are the side branch
251 2011-10-16 12:43:56 <Urgent> orphans
252 2011-10-16 12:44:10 <Urgent> I concentrate on the abstract level
253 2011-10-16 12:44:36 <Urgent> totally lost inside the c++ source
254 2011-10-16 12:47:44 <Urgent> ping!!
255 2011-10-16 12:48:59 <sipa> Urgent: wow, where is that?
256 2011-10-16 12:49:17 <sipa> i mean, what school
257 2011-10-16 12:49:25 <Urgent> :)
258 2011-10-16 12:49:43 <Urgent> some school any help?
259 2011-10-16 12:49:53 <sipa> ?
260 2011-10-16 12:49:54 <Urgent> the dealine is wednesday
261 2011-10-16 12:50:07 <UukGoblin> lol glhf
262 2011-10-16 12:50:11 <sipa> what exactly does the block exchange include?
263 2011-10-16 12:50:21 <sipa> p2p exchange?
264 2011-10-16 12:50:26 <sipa> verification?
265 2011-10-16 12:50:30 <UukGoblin> what does "old versions harm the network" mean in the topic?
266 2011-10-16 12:50:49 <UukGoblin> cause it sounds a bit like "we reserve the right to arbitrarily change network rules"
267 2011-10-16 12:50:51 <sipa> UukGoblin: it mainly refers to the bug in 0.3.20-0.3.23 that caused disconnects when trnasmitting large amounts of data
268 2011-10-16 12:50:55 <Urgent> May more precisly it is how to populate the block chain
269 2011-10-16 12:51:06 <Urgent> without the network staff till now
270 2011-10-16 12:51:12 <sipa> Urgent: do you have to keep track of transactions?
271 2011-10-16 12:51:25 <UukGoblin> sipa, ah, haven't heard of that
272 2011-10-16 12:51:26 <sipa> or just the block tree maintainance?
273 2011-10-16 12:51:26 <Urgent> the whole project is implement a complete C client for bitcoin
274 2011-10-16 12:51:37 <sipa> that's audacious
275 2011-10-16 12:51:58 <Urgent> tree maintanance
276 2011-10-16 12:52:03 <UukGoblin> has 724 connections! :->
277 2011-10-16 12:52:15 <Urgent> no I dont need tracking transaction for time being
278 2011-10-16 12:52:24 <sipa> Urgent: ok, i'll try to help you
279 2011-10-16 12:52:35 <sipa> what data structure do you have to / plan to use?
280 2011-10-16 12:53:15 <Urgent> mm I thought about linked list
281 2011-10-16 12:53:38 <sipa> that won't be enough if you need to keep track of orphan blocks
282 2011-10-16 12:53:44 <Urgent> because I find that blockIndes are like linked list and they keep track of hashes using maps
283 2011-10-16 12:53:57 <sipa> i believe you can mimic the data structure used in bitcoind
284 2011-10-16 12:54:06 <Urgent> orphan block are in separated list
285 2011-10-16 12:54:19 <sipa> ok true
286 2011-10-16 12:54:30 <sipa> but you also need to keep track of non-optimal alternative chains
287 2011-10-16 12:54:34 <Urgent> I checke the client source the have blockIndex for orphans
288 2011-10-16 12:54:39 <sipa> thay may turn into the longest chain
289 2011-10-16 12:54:49 <Urgent> two of them one by prev
290 2011-10-16 12:55:15 <sipa> yes, each block has a prev that references to its predecessor
291 2011-10-16 12:55:28 <sipa> and those in the main chain have a next pointer that refers to their successor
292 2011-10-16 12:55:32 <Urgent> yep!! the non_optimal alternative!!
293 2011-10-16 12:55:51 <sipa> and when a block arrives
294 2011-10-16 12:55:52 <Urgent> I lose my understanding when dive inside that
295 2011-10-16 12:56:05 <sipa> you check whether its parent is known
296 2011-10-16 12:56:16 <sipa> if so, you attach it to that parent
297 2011-10-16 12:56:22 <sipa> just setting its prev
298 2011-10-16 12:56:36 <sipa> and then you check whether it becomes the new best chain
299 2011-10-16 12:56:59 <sipa> in which case you look for a common predecessor, break down the next pointers up to that point
300 2011-10-16 12:57:00 <Urgent> what do u mean by mimc the bitcoind?
301 2011-10-16 12:57:10 <sipa> its CBlockIndex structure
302 2011-10-16 12:57:39 <Urgent> can u please explain this for me? I qouted from the comments in code:
303 2011-10-16 12:59:12 <Urgent> A blockindex may have multiple pprev pointing back // to it, but pnext will only point forward to the longest branch, or will // be null if the block is not part of the longest chain.
304 2011-10-16 12:59:20 <sipa> yes
305 2011-10-16 12:59:23 <Urgent> A blockindex may have multiple pprev pointing back // to it, but pnext will only point forward to the longest branch, or will // be null if the block is not part of the longest chain.
306 2011-10-16 12:59:35 <sipa> assume you have two alternative chains
307 2011-10-16 12:59:50 <sipa> A->B->C->D, and A->B'->C'
308 2011-10-16 13:00:30 <sipa> so you have 6 blocks, and in each of the pprev points to the parent
309 2011-10-16 13:00:45 <sipa> so A.pprev is null, B.pprev = A, C.pprev = B, D.pprev = C, B'.pprev = A, C'.pprev = B'
310 2011-10-16 13:00:48 <sipa> ok?
311 2011-10-16 13:01:07 <Urgent> ok
312 2011-10-16 13:01:17 <sipa> now, only those in the main chain have a pnext
313 2011-10-16 13:01:18 <Urgent> how can I implement this?
314 2011-10-16 13:01:28 <sipa> i assume you know C?
315 2011-10-16 13:01:35 <Urgent> its linked list ?
316 2011-10-16 13:01:40 <sipa> yes and no
317 2011-10-16 13:01:42 <sipa> it is a tree
318 2011-10-16 13:01:48 <Urgent> aha
319 2011-10-16 13:01:49 <sipa> each node points to its parent
320 2011-10-16 13:02:02 <sipa> but within that tree, there are some nodes that also point to their successor
321 2011-10-16 13:02:03 <Urgent> but with may unbalanced leaves?
322 2011-10-16 13:02:07 <sipa> and those for a linked list
323 2011-10-16 13:02:11 <sipa> yes, no balancing
324 2011-10-16 13:02:21 <Urgent> aha
325 2011-10-16 13:02:22 <sipa> the organisation is based on the block succession
326 2011-10-16 13:03:15 <Urgent> tree... mmm
327 2011-10-16 13:03:43 <Urgent> tree + linked list
328 2011-10-16 13:04:30 <sipa> yes, it forms a tree and a linked list at the same time
329 2011-10-16 13:04:30 <Urgent> sorry if am asking now silly question: tree node ahase right and left... right is the next? and there is no left?
330 2011-10-16 13:04:47 <Urgent> uless I need it for mulltiple previous?
331 2011-10-16 13:04:53 <sipa> the tree is only defined by letting nodes know their parent
332 2011-10-16 13:05:02 <sipa> so there is no way to find all children of a given node
333 2011-10-16 13:05:06 <sipa> you never need to
334 2011-10-16 13:05:19 <Urgent> i got u
335 2011-10-16 13:05:30 <sipa> you only need to be able to find the successor if you are in the main chain
336 2011-10-16 13:05:31 <Urgent> it like double-linked list
337 2011-10-16 13:05:35 <sipa> and that is what pnext is for
338 2011-10-16 13:05:52 <sipa> all chains are in a single-linked list upwards
339 2011-10-16 13:05:58 <sipa> but the main chain is in a doubly-linked list
340 2011-10-16 13:06:32 <Urgent> what about maps?
341 2011-10-16 13:06:47 <Urgent> I feel like dpressed when I come to them..
342 2011-10-16 13:07:28 <sipa> you'll need a map to find a block by its hash
343 2011-10-16 13:07:36 <sipa> forget about orphans for now
344 2011-10-16 13:09:36 <Urgent> struct BlockIndex * mapBlockIndex; struct BlockIndex * mapOrphanBlocks; struct BlockIndex * mapOrphanBlocksByPrev; struct BlockIndex * pindexBest = NULL; struct BlockIndex * pindexGenesisBlock = NULL;
345 2011-10-16 13:11:31 <Urgent> please to leave me
346 2011-10-16 13:13:13 <sipa> ?
347 2011-10-16 13:14:20 <Urgent> all the structure there in the bitcoin have both prev and next
348 2011-10-16 13:14:36 <Urgent> I cant figure out ehere is the main?\n1943608
349 2011-10-16 13:15:04 <Urgent> there is the genisusblockIndex and another one called the bestchani
350 2011-10-16 13:15:19 <sipa> those are the top and the bottom of the doubly-linked list
351 2011-10-16 13:15:24 <Urgent> and there is blockindex without clarification
352 2011-10-16 13:15:32 <sipa> forget the source
353 2011-10-16 13:15:37 <sipa> it'll confuse you
354 2011-10-16 13:15:59 <Urgent> then what is the reference?
355 2011-10-16 13:16:19 <sipa> what reference?
356 2011-10-16 13:17:02 <Urgent> I mean where I can go to get more technical specification?
357 2011-10-16 13:17:19 <Urgent> I read the Block exchange mechanisim
358 2011-10-16 13:17:37 <sipa> the source code is the reference on that field, i'm afraid
359 2011-10-16 13:18:56 <Urgent> blockchain in the wiki, and protcol specification
360 2011-10-16 13:19:40 <Urgent> they are all useful but cant guide me in coding
361 2011-10-16 13:20:16 <Urgent> I eliminated every thing to the minimaml and I ended up with first implemeting the block download
362 2011-10-16 13:20:51 <Urgent> and to populate the three data sturctures : main, branches, orphans
363 2011-10-16 13:20:55 <Eliel> Urgent: what are you trying to code and why do you need to understand the blockchain datastructure bitcoind uses?
364 2011-10-16 13:21:37 <Urgent> I have have a project in my graduate software engineering courese
365 2011-10-16 13:21:48 <Urgent> to implement the whole client in c
366 2011-10-16 13:22:21 <Urgent> and I choosed the part regarding teh block-chain
367 2011-10-16 13:22:53 <Urgent> without networking for now I mean messages till getting the data
368 2011-10-16 13:23:06 <Urgent> and withou care about transactions
369 2011-10-16 13:23:55 <Urgent> sipa gave me clear idea about the structure I was confused if it is tree or linked list
370 2011-10-16 13:24:35 <sipa> Urgent: you need exactly as much as the c++ source code does: a pointer to the previous block (for each block), and a point to the successor block (for all blocks in the main chain)
371 2011-10-16 13:24:40 <sipa> *pointer
372 2011-10-16 13:24:41 <Urgent> and I dont know how to implement maps and vectors .. they extermly helpful in c++ .. but I have to do it in c...
373 2011-10-16 13:24:56 <sipa> use glib or something
374 2011-10-16 13:25:56 <Urgent> it must be under mit license
375 2011-10-16 13:26:36 <Urgent> sipa u mean I need only one block index?
376 2011-10-16 13:26:47 <Urgent> or three?
377 2011-10-16 13:26:59 <sipa> three?
378 2011-10-16 13:27:16 <sipa> a CBlockIndex in the c++ source code is just a reference to a block
379 2011-10-16 13:27:17 <Urgent> yes
380 2011-10-16 13:27:55 <Urgent> then where is the main store?????!!
381 2011-10-16 13:28:39 <Urgent> its the building atom of the tree as I understood
382 2011-10-16 13:28:42 <UukGoblin> <guess>in bdb, on the disk</guess>
383 2011-10-16 13:29:10 <sipa> Urgent: there is just one tree in memory
384 2011-10-16 13:29:33 <Urgent> where in code I can catch it?
385 2011-10-16 13:29:53 <sipa> it is pointed to by pindexGenesis (its bottom), pindexBest (the top of the main chain), and the map that maps block hashes to CBlockIndex'es, mapBlockIndex
386 2011-10-16 13:30:12 <sipa> those three things all point different parts of one single tree
387 2011-10-16 13:30:25 <Urgent> aha
388 2011-10-16 13:30:40 <sipa> the name Index in CBlockIndex is confusing
389 2011-10-16 13:30:50 <sipa> it should be CBlockPointer
390 2011-10-16 13:31:05 <Urgent> all branches need to be tracked back to the genisus block?
391 2011-10-16 13:31:22 <sipa> yes, that is the root of the tree
392 2011-10-16 13:32:03 <Urgent> genisus block has multiple next?
393 2011-10-16 13:32:27 <Urgent> that cotradictes the assumbtion
394 2011-10-16 13:33:22 <sipa> *sigh*
395 2011-10-16 13:33:32 <sipa> any block can have any number of successors
396 2011-10-16 13:33:54 <sipa> but you only need to be able to find a successor that belongs to the main chain
397 2011-10-16 13:33:59 <sipa> so that's the pnext
398 2011-10-16 13:34:37 <Urgent> tke this senario: block A is being processed .. I dont have it >> I have it parent >> add this block as next for that parent which I can pont to it using best?
399 2011-10-16 13:35:27 <sipa> 1) you store the block; this means finding its parent, and make the new blocks' pprev point to the parent
400 2011-10-16 13:36:27 <sipa> 2) you check whether this block you've adding makes it part of the new best chain, in which case you chase the pprev's to the top, and adjust the pnext's along the way to the block you case from
401 2011-10-16 13:40:43 <[Tycho]> Did some bitcoin resource was hacked recently ?
402 2011-10-16 13:41:01 <Urgent> I will give it a try
403 2011-10-16 13:41:23 <Urgent> wish me abundle of luck .. really terified
404 2011-10-16 13:41:55 <Urgent> its really difficult .. I spent more than 8hours/day jsut to understand the code..
405 2011-10-16 13:42:01 <Urgent> bye for now
406 2011-10-16 13:42:10 <Urgent> thanx a lot sipa..
407 2011-10-16 14:27:03 <subpar> just had to restart box running bitcoind and can't get the process to start cleanly (it hangs)
408 2011-10-16 14:27:36 <subpar> I kinda remember having to add something after bitcoind like --nodaemon (back with 0.3.21)
409 2011-10-16 14:28:01 <terrytibbs> What do you mean by "hangs"?
410 2011-10-16 14:28:19 <subpar> terrytibbs: pardon my lack of technical prowess
411 2011-10-16 14:28:53 <subpar> terrytibbs: after running the command I can hit enter numerous times and cannot get back to a command prompt
412 2011-10-16 14:29:07 <terrytibbs> subpar: Windows, I take it?
413 2011-10-16 14:29:14 <subpar> no sir
414 2011-10-16 14:29:17 <subpar> linux
415 2011-10-16 14:29:23 <subpar> and old Ubuntu box
416 2011-10-16 14:29:35 <terrytibbs> bitcoind getinfo
417 2011-10-16 14:29:38 <terrytibbs> And it should break out
418 2011-10-16 14:29:39 <sipa> subpar: but does it run or not?
419 2011-10-16 14:29:53 <casascius> ./bitcoind &
420 2011-10-16 14:30:16 <subpar> terrytibbs: I can get it to work with gentinfo and listtransactions but the terminal with the command "hanging" stays as such
421 2011-10-16 14:30:28 <subpar> casascius: that is what i was about to try
422 2011-10-16 14:30:31 <terrytibbs> Ctrl + C?
423 2011-10-16 14:30:35 <casascius> that is how i do
424 2011-10-16 14:30:36 <casascius> it
425 2011-10-16 14:30:42 <subpar> terrytibbs: that kills it
426 2011-10-16 14:30:47 <terrytibbs> It shouldn't
427 2011-10-16 14:30:52 <casascius> and if you do "bitcoind stop" on another terminal, the first one should exit, right?
428 2011-10-16 14:31:27 <casascius> you can do Ctrl-Z which pauses it and returns you to a shell prompt, then "bg" to run it as background
429 2011-10-16 14:31:33 <casascius> or just , bitcoind &
430 2011-10-16 14:32:20 <subpar> BTC/bitcoin-0.4.0-linux/bin/64/bitcoind
431 2011-10-16 14:32:24 <subpar> and it hangs
432 2011-10-16 14:33:01 <subpar> just did getinto in another terminal (ssh session) and still "hung"
433 2011-10-16 14:34:25 <subpar> ctl+z and bg seems to be working
434 2011-10-16 14:35:04 <subpar> not very "clean" but it works
435 2011-10-16 15:37:00 <neofutur> ;;bc,stats
436 2011-10-16 15:37:04 <gribble> Current Blocks: 149536 | Current Difficulty: 1468195.4272208 | Next Difficulty At Block: 151199 | Next Difficulty In: 1663 blocks | Next Difficulty In About: 1 week, 5 days, 13 hours, 11 minutes, and 16 seconds | Next Difficulty Estimate: 1355866.07576361 | Estimated Percent Change: -7.65084466103
437 2011-10-16 16:13:32 <Joric> whoa http://www.blockchain.info/nodes-globe
438 2011-10-16 16:21:05 <Joric> i don't quite get its stats it says 137.77 megawatt hours and electricity should cost $20,664.80 (per hour?) so every hour we're buying ~6 blocks for 20 grands? )
439 2011-10-16 16:21:40 <Joric> that's about 60 dollars per btc
440 2011-10-16 16:23:34 <Eliel> I think that's per day, not per hour
441 2011-10-16 16:25:10 <Joric> $2.4 then
442 2011-10-16 17:08:26 <Lolcust_Backup> Hello everyone!
443 2011-10-16 17:08:48 <Lolcust_Backup> could someone give me a hint as to oclvanitygen 's quirk ?
444 2011-10-16 17:12:19 <terrytibbs> Lolcust_Backup: -X 127
445 2011-10-16 17:13:07 <Lolcust_Backup> terrytibbs: nah, that I figured out, ^__^ the problem now is that at first it reports things like 97% probability in 1 min
446 2011-10-16 17:13:21 <Lolcust_Backup> And then keeps crunching, and crunching and crunching
447 2011-10-16 17:13:45 <Lolcust_Backup> For a test, I fed oclvanityget a simple pattern, and it didn't find anything
448 2011-10-16 17:19:07 <terrytibbs> regex?
449 2011-10-16 17:20:32 <Lolcust_Backup> terrytibbs: awww, I like using the vanilla prefix matcher.
450 2011-10-16 17:20:49 <Lolcust_Backup> terrytibbs: but I will try regex, though it hurts my brain
451 2011-10-16 17:24:54 <terrytibbs> No, I was asking if you were using regex.
452 2011-10-16 17:25:54 <Lolcust_Backup> well, no I am not. it shows 99% now (still not using the regex, prefix being searched is tTest) and was doing so for last minute or so
453 2011-10-16 17:26:07 <Lolcust_Backup> ocl verstion seems to hate me for some reason
454 2011-10-16 17:29:23 <nathan7> /g #hack42
455 2011-10-16 17:29:25 <nathan7> derp.