1 2013-10-26 00:00:12 <TheLordOfTime> rpc commands don't show with the - next to them
2 2013-10-26 00:00:26 <gmaxwell> TheLordOfTime: welp then they are confused in some other way.
3 2013-10-26 00:00:44 <super3> Ascendion, apparently a small portion of Bitcoind does RPC, yet everyone uses it for RPC
4 2013-10-26 00:00:45 <TheLordOfTime> heh
5 2013-10-26 00:01:05 <Ascendion> well the friggin port is there and is responsive to connections (telnet, http)
6 2013-10-26 00:02:00 <gmaxwell> TheLordOfTime: because it certantly can work as a daemon in win32. The command may not be there because there is no parallel to backgrounding.
7 2013-10-26 00:02:19 <super3> Ascendion, according something i saw from sipa the bitcoin-cli executable is way way smaller and does essentially the same thing
8 2013-10-26 00:02:41 <gmaxwell> super3: please stop confusing things with random data from future pulls. Its not helping.
9 2013-10-26 00:02:52 <gmaxwell> Ascendion: are you running bitcoind or bitcoin-qt?
10 2013-10-26 00:02:58 <Ascendion> no shit -- I need what works NOW
11 2013-10-26 00:03:00 <melvster> i made a gist https://gist.github.com/melvincarvalho/7163697
12 2013-10-26 00:03:10 <super3> Ascendion, this is not going to happen anytime soon
13 2013-10-26 00:03:14 <TheLordOfTime> Ascendion: calming down helps btw
14 2013-10-26 00:03:23 <Ascendion> bitcoind from bitcoin-qt distro for windows from sourceforge -- just installed 0.8.5
15 2013-10-26 00:03:23 <super3> Ascendion, bitcoind will still work for a long while
16 2013-10-26 00:03:44 <gmaxwell> super3: please just stop. What you're talking about isn't even related to his interests.
17 2013-10-26 00:04:04 <gmaxwell> Ascendion: please answer my question.
18 2013-10-26 00:04:34 <Ascendion> bitcoind 0.8.5 from the bitcoin-qt distro for windows on sourceforge
19 2013-10-26 00:04:49 <super3> ACTION stops
20 2013-10-26 00:05:17 <gmaxwell> Ascendion: okay. And when you say "the port" is working, what port are you talking about?
21 2013-10-26 00:05:35 <gmaxwell> e.g. port number.
22 2013-10-26 00:05:48 <Ascendion> localhost 8333 -- I can connect with telnet and web browser returns "no data" when I try to hit the port
23 2013-10-26 00:06:15 <gmaxwell> Ascendion: that isn't the rpc port. The rpc port is 8332.
24 2013-10-26 00:06:45 <Ascendion> thats what I set in the config so as not to conflict with bitcoin-qt when I need to access my personal wallet
25 2013-10-26 00:07:53 <gmaxwell> you can't do that. Thats the p2p port.
26 2013-10-26 00:08:08 <Ascendion> ok -- changing to a radically different port number :)
27 2013-10-26 00:08:16 <gmaxwell> Do you have a seperate data directory for your personal wallet and this other daemon?
28 2013-10-26 00:08:23 <Ascendion> yes
29 2013-10-26 00:08:36 <gmaxwell> You need to change both the p2p and rpc port. And they need to be different from eachother and the other daemon.
30 2013-10-26 00:09:08 <gmaxwell> )
31 2013-10-26 00:09:08 <gmaxwell> in your config: rpcport=28332 and port=28333 (for example
32 2013-10-26 00:09:32 <gmaxwell> Make sure to put them in the config, not the commandline, or bitcoind (while being used as an rpc) won't find them.
33 2013-10-26 00:10:01 <gmaxwell> then to connect to your daemon run bitcoind -datadir="other datadir" help and it will read the port out of the config and use the right one.
34 2013-10-26 00:11:20 <Ascendion> using the datadir option fixed it -- I got the blockcount using bitcoind on the command line
35 2013-10-26 00:11:25 <Ascendion> now testing with my app
36 2013-10-26 00:12:32 <gmaxwell> Ascendion: as future advice, when you do something like change a port number, make sure you mention it when asking for help. Even if you don't think its important the person helping you will need a relatively complete and accurate mental picture of your setup.
37 2013-10-26 00:13:29 <Ascendion> I stuck my conf in pastebin earlier :)
38 2013-10-26 00:15:44 <TheLordOfTime> http://pastebin.com/Tws7YLqH
39 2013-10-26 00:16:00 <TheLordOfTime> Ascendion: gmaxwell might have lost it in the scrollback, keeping the link handy is useful
40 2013-10-26 00:19:48 <Ascendion> grrrr had it working off the command line for a second... back to to errors
41 2013-10-26 00:24:22 <Ascendion> the port is there -- connected with browser to 9332, it requested auth, I gave it user/pass, and got back a json error -- problem is in my app now :)
42 2013-10-26 00:41:33 <Ascendion> WHEW -- FINALLY :) ty all for the help :) (got my app accessing the rpc interface after launching a private copy of bitcoind if it could not find and already running copy with the correct config)
43 2013-10-26 00:42:06 <Ascendion> time to stuff face -- starving :)
44 2013-10-26 01:00:22 <melvster> Ascendion: i wrote a quick script to put the headers in a table
45 2013-10-26 01:22:57 <Ascendion> melvster -- cool if thats all you need :) I need basically a full abstraction of the blockchain including transactions in the database, with key data exposed so I can reconstruct unspent outputs for any given public address
46 2013-10-26 01:23:14 <melvster> nice
47 2013-10-26 01:23:25 <melvster> unfortunately my server doesnt have enough space for that
48 2013-10-26 01:23:36 <melvster> so im just starting with headers
49 2013-10-26 01:23:50 <Ascendion> helps alot when you own the server :)
50 2013-10-26 01:26:22 <Ascendion> the real fun begins when I replicate this code for LTC and a few other popular cryptocoins :)
51 2013-10-26 01:29:03 <melvster> nice
52 2013-10-26 01:29:16 <melvster> a lot of data tho
53 2013-10-26 01:29:33 <Ascendion> so ?? thats what 10 terabyte raid arrays are for :)
54 2013-10-26 01:30:05 <melvster> whoa
55 2013-10-26 01:30:12 <melvster> that's a lotta disk
56 2013-10-26 01:32:49 <melvster> Ascendion: how much does that kind of setup cost?
57 2013-10-26 01:33:36 <Ascendion> around a grand
58 2013-10-26 01:34:07 <Ascendion> 8 bay enclosure with integrated raid controller and 6 drives
59 2013-10-26 01:35:09 <Ascendion> could actually do 12tb with it -- 6 hot drives, 1 for the raid parity, 1 hot spare
60 2013-10-26 01:35:34 <Ascendion> call it raid7+1 :)
61 2013-10-26 01:36:39 <Ascendion> (I dont actually own a setup like that -- I just got 6tb in my home computer.. but that is the type of setup that will go on the server when I build it out)
62 2013-10-26 02:14:55 <melvster> has anyone ever thought of writing a web based miner where you go to a page and it mines for you, and maybe you get lucky and get a coin, or share of a coin ...
63 2013-10-26 02:16:07 <copumpkin> lots of people
64 2013-10-26 02:16:10 <copumpkin> often maliciously
65 2013-10-26 02:16:26 <melvster> copumpkin: anything that's free software?
66 2013-10-26 02:16:30 <copumpkin> in the sense that they'll mine with other people's computers. But nowadays difficulty is so high that it's almost impossible
67 2013-10-26 02:16:33 <copumpkin> so not much point
68 2013-10-26 02:16:57 <melvster> i understand the economics, but I was more interested in the code ...
69 2013-10-26 02:17:39 <melvster> it's only uneconomical due to the zero trust + asic landscape ... there are scenarios where it could be made more economical
70 2013-10-26 02:18:43 <gmaxwell> melvster: no, it wasn't economical at the beginning of 2011.
71 2013-10-26 02:19:36 <gmaxwell> oneman created a webcl one, which actually had acceptable security, but since webcl isn't part of the standard web (because its nearly impossible to make secure) it wasn't very useful to people.
72 2013-10-26 02:19:36 <melvster> yes i get that ... but i wanted to experiment with some code, if it exists, so that it could be made economical again, e.g. maybe using colored coins or off block tx
73 2013-10-26 02:19:56 <gmaxwell> melvster: what you're saying doesn't make a lot of sense to me.
74 2013-10-26 02:20:11 <gmaxwell> (and leaves me wondering if you have any idea what mining is)
75 2013-10-26 02:20:21 <melvster> gmaxwell: let me rephrase ... do you know if there is any code available for web mining, im not asking about economics here
76 2013-10-26 02:20:39 <gmaxwell> melvster: Sorry, I'm can't help you.
77 2013-10-26 02:20:43 <melvster> np, thanks
78 2013-10-26 02:21:28 <melvster> gmaxwell: fwiw, im looking at creating an alt coin system that is 100% web based, so I wanted to play around with web mining
79 2013-10-26 02:22:15 <gmaxwell> melvster: See topic. :)
80 2013-10-26 02:23:27 <melvster> I think people would still go for web mining even to own like a fraction of a satoshi ...
81 2013-10-26 02:27:16 <helo> unspendable :/
82 2013-10-26 02:27:17 <melvster> seems abandoned https://github.com/progranism/Bitcoin-JavaScript-Miner
83 2013-10-26 02:27:35 <warren> for good reason
84 2013-10-26 02:27:36 <melvster> unspendable only on the block chain
85 2013-10-26 02:27:52 <melvster> spendable off block
86 2013-10-26 02:28:40 <melvster> and if you build up enough it becomes spendable
87 2013-10-26 02:29:17 <melvster> for example one click on a google ad is 'unspendable' but if you have a lot of traffic you can cash out once a month
88 2013-10-26 02:29:35 <melvster> or impression ...
89 2013-10-26 02:32:00 <melvster> and you can also mine other stuff like vanity addresses
90 2013-10-26 02:36:54 <Luke-Jr> melvster: I concur with gmaxwell. You don't understand mining IMO.
91 2013-10-26 02:40:14 <melvster> lol ... im sure you're right ... but there's not much too it imho, just create a nonce/hash pair under the target?
92 2013-10-26 02:42:53 <Luke-Jr> â¦
93 2013-10-26 02:43:01 <Luke-Jr> melvster: it's the *why* part you don't get.
94 2013-10-26 02:43:04 <Luke-Jr> why does mining exist?
95 2013-10-26 02:43:10 <Luke-Jr> hint: it isn't to give people money
96 2013-10-26 02:43:17 <melvster> more than one reason
97 2013-10-26 02:43:26 <melvster> it's a proof of work solution to byzantine generals problem
98 2013-10-26 02:43:33 <melvster> to sync up the block chain
99 2013-10-26 02:43:36 <gmaxwell> can this move out of #bitcoin-dev?
100 2013-10-26 02:44:50 <melvster> gmaxwell: just responding to your accusations, I didnt really want to have this conversation
101 2013-10-26 02:45:02 <melvster> we can end here
102 2013-10-26 02:48:33 <gmaxwell> melvster: You've been talking to luke, not me.
103 2013-10-26 02:49:56 <melvster> gmaxwell: if you has not accused me of not understanding mining, the conversation with luke would never have taken place, that's the point ... im happy to discontinue this now tho
104 2013-10-26 02:50:36 <melvster> if you come across any web mining s/w id be happy to hear, thanks for the pointer to webcl ... i learnt something
105 2013-10-26 02:57:52 <super3> melvster, you would have to create a new coin to do any kind of web mining
106 2013-10-26 02:58:15 <TheLordOfTime> in any case that discussion isn't exactly on topic for #bitcoin-dev (because notbitcoin)
107 2013-10-26 02:58:25 <TheLordOfTime> no?
108 2013-10-26 02:58:26 <super3> melvster, on the bitcoin network my GPU could probably outmine 10,000 people running a webmining client
109 2013-10-26 02:59:09 <super3> melvster, DM me its not going to work, but its at least fun to talk about
110 2013-10-26 03:19:40 <gmaxwell> I wonder if it would be worth supporting "onion keys" in the payment protocol right out the gate.
111 2013-10-26 03:21:16 <gmaxwell> A tor hidden service (onion site) is an RSA key. It would be trivial to pack a tor HS pubkey into a x509 certificate, put the cn=foooo.onion and then set some non-standard flag that says, "no no, you're supposted to authenticate this by checking that the pubkey hashes to the right CN"
112 2013-10-26 03:21:38 <gmaxwell> and then you could have your payment protocol things come in saying that your payment request was signed by blahblah.onion.
113 2013-10-26 03:22:00 <gmaxwell> and it's all authenticated and provable to a third party with no ca involved at allâ assuming you already had a way to be sure you had the right onion name.
114 2013-10-26 03:22:45 <gmaxwell> also: onion sites can't get x509, so they really have no solution now under the payment protocol.
115 2013-10-26 03:23:08 <gmaxwell> Also: the people who are unhappy with a CA being involved in any way would want to be using tor anyways.
116 2013-10-26 03:25:03 <gmaxwell> ACTION takes it to the list
117 2013-10-26 03:50:34 <gmaxwell> sipa: what do you think about having the inactivity timeout disconnect only fire if we have MAX_OUTBOUND_CONNECTIONS outbound connections up? There is really no point in tearing down a connection that might come back when we're not full.
118 2013-10-26 03:51:57 <gmaxwell> and avoiding it might make us more robust when there is a DOS attack (for a long time one of the big reasons dos attacks were damaging to the internet was that they delayed BGP keepalives enough that they cause BGP session flaps, this has largely been addressed by prioritizing bgp traffic on routers, less of an option for use because we're not a router :))
119 2013-10-26 03:52:55 <gmaxwell> (this is all WRT outbound connections, though I'd say the same thing for inbound ones but applying the inbound criteria instead)
120 2013-10-26 04:21:01 <Luke-Jr> gmaxwell: you know Namecoin already supports SSL without CAs?
121 2013-10-26 04:26:23 <Ascendion> ok -- lets say for a moment that I'm ripping through the block chain starting at the genesis block and working my way up... at any time I pull a block via rpc that doesnt have the last block I pulled as its previous -- I've detected a fork and need to roll back ??
122 2013-10-26 04:27:29 <gmaxwell> Luke-Jr: it doesn't really. You have to run a namecoin node to do it, which is totally useless... because e.g. it needs to be your trezor validating the payment request. The trezor is not going to run a namecoin node.
123 2013-10-26 04:28:19 <Luke-Jr> gmaxwell: only because normal DNS lacks a way to express "this is the legit key for the host"
124 2013-10-26 04:28:48 <gmaxwell> Luke-Jr: it's not just that even if DNS did, you could just lie because DNS querying namecoin is not cryptographic.
125 2013-10-26 04:28:58 <gmaxwell> (actually there is a spec for doing that with DNS IIRC)
126 2013-10-26 04:29:26 <Luke-Jr> gmaxwell: my point is that if you can get the name, you can get the key too
127 2013-10-26 04:29:28 <gmaxwell> but you have to trust your resolver. DNSSEC addresses this for regular DNS but namecoin can't emit DNSSEC.
128 2013-10-26 04:29:37 <gmaxwell> Luke-Jr: but can you get the _right_ name?
129 2013-10-26 04:29:52 <Luke-Jr> that's a problem with namecoin, not the enablement of SSL based on it
130 2013-10-26 04:30:45 <gmaxwell> Luke-Jr: say your PC is compromised. You go to order some alpaca socks. The malware replaces the payment request with one saying to pay the malware author. Your trezor says the payment request came from alpacasocks.com because your host is lying about the DNS response that its forwarding on the the trezor.
131 2013-10-26 04:30:45 <Luke-Jr> Ascendion: a reorg*
132 2013-10-26 04:30:56 <gmaxwell> Luke-Jr: yea, it's a problem with namecoin.
133 2013-10-26 04:31:19 <Luke-Jr> gmaxwell: so you'd give the Trezor CA authority?
134 2013-10-26 04:31:23 <Luke-Jr> does it even have the storage for that?
135 2013-10-26 04:32:04 <gmaxwell> Luke-Jr: sure it does. And even if it didn't it would only need to store the root hash of a CA cert hashtree, and the host could give it the right CA cert on demand, and prove that its a real CA cert.
136 2013-10-26 04:32:33 <Luke-Jr> hm
137 2013-10-26 04:32:40 <gmaxwell> (by giving the trezor the hashes connecting the ca cert to the root thats already in the trezor)
138 2013-10-26 04:33:02 <gmaxwell> or by having all the CA keys signed by the makers of the hardware, and just sending the right one. (then it can be updated easily)
139 2013-10-26 04:33:02 <Luke-Jr> and the user still tells Trezor what CAs he trusts somehow?
140 2013-10-26 04:33:32 <gmaxwell> Yea, could be done. E.g. some UI on the device.
141 2013-10-26 04:34:00 <gmaxwell> In any case, I think supporting namecoin would be great, but I think it needs a lot of code and a namecoin protocol change. Not really viable for the initial release.
142 2013-10-26 04:37:04 <Ascendion> ok -- lets say for a moment that I'm ripping through the block chain starting at the genesis block and working my way up... at any time I pull a block via rpc that doesnt have the last block I pulled as its previous -- I've detected a fork and need to roll back ??
143 2013-10-26 04:37:43 <Luke-Jr> Ascendion: you already said that.
144 2013-10-26 04:37:50 <Ascendion> but no one answered :)
145 2013-10-26 04:39:20 <Ascendion> ahhh you put a colon after my name so my name highlighting didnt pick it up
146 2013-10-26 04:39:20 <Luke-Jr> that's standard IRC response format.
147 2013-10-26 04:39:21 <Ascendion> ok -- reorg, fork, whatever -- I need to back out blocks that have been orphaned and start working up through the new chain
148 2013-10-26 04:39:54 <Luke-Jr> yes. note it may be more than 1.
149 2013-10-26 04:40:27 <Ascendion> according to some stats I was reading earlier it rarely goes beyond 4 blocks
150 2013-10-26 04:40:52 <Ascendion> I've though about just delaying what I process into the database and scan for transactions say 8-10 blocks
151 2013-10-26 04:42:14 <Luke-Jr> it can.
152 2013-10-26 04:42:57 <Ascendion> yes -- especially if the p2p network gets partitioned.. but that should be rare if I keep a lot of connections active
153 2013-10-26 04:46:39 <Ascendion> ouch :)
154 2013-10-26 05:08:58 <warren> anyone have a working MacOS X build environment?
155 2013-10-26 05:09:58 <fanquake> warren Last time I checked.
156 2013-10-26 05:11:12 <ajv> hello, I'm working on an SPV client, and I'm having a bit of trouble with merkleblock messages on testnet. I have my bloom filter set to full match, and the merkleblock messages I get during the initial chain download have plenty of hashes of matched transactions, however the merkleblock messages are not followed by the tx messages for the block. It always continues to the next merkleblock message without any tx messages at all
157 2013-10-26 05:13:57 <dobry-den> warren: i use this https://github.com/WyseNynja/homebrew-bitcoin/blob/master/bitcoind.rb
158 2013-10-26 05:15:06 <dobry-den> What are main use-cases for the :checksum in an incoming message? What does the client do with it?
159 2013-10-26 05:15:56 <dobry-den> Does it reject a message if the payload doesnt match the checksum?
160 2013-10-26 05:16:12 <ajv> checksum is of course useful to tell if the message got corrupted in transmission
161 2013-10-26 05:16:19 <ajv> yes it'll reject the message
162 2013-10-26 05:23:30 <dobry-den> ajv: if a message is invalid, does the client drop the connection?
163 2013-10-26 05:24:19 <ajv> it will eventually, I have to check the code, but I don't expect it would for just one garbled message
164 2013-10-26 05:25:50 <dobry-den> ajv: if you lie and say the payload is 6 bytes but really load 7 bytes into the stream. and then send a valid message to the client, how does it skip that extra byte?
165 2013-10-26 05:26:25 <ajv> there is a magic number that starts each message
166 2013-10-26 05:26:37 <ajv> it will look for that magic number to start the next message
167 2013-10-26 05:27:57 <dobry-den> so if you botch the last byte of the magic number, the client continues its magic-number-seeking loop until timeout or whatever?
168 2013-10-26 05:28:12 <dobry-den> that makes sense
169 2013-10-26 05:28:42 <ajv> yes, I believe so. there's also a concept of a "misbehaving" score for each peer... if a peer does too many things wrong, it'll get disconnected
170 2013-10-26 05:29:03 <dobry-den> yeah, that is pretty cool.
171 2013-10-26 05:37:47 <ajv> disregard my question... found the problem. client was receiving the tx messages but incorrectly dropping them
172 2013-10-26 05:41:09 <Luke-Jr> ACTION ponders whether to include PR 3152 in next-test
173 2013-10-26 05:43:06 <Ascendion> link PR 3152 ?? :)
174 2013-10-26 05:44:57 <Luke-Jr> https://github.com/bitcoin/bitcoin/pull/3152
175 2013-10-26 05:48:37 <Ascendion> hmmm need to make the comparisons case insensitive, and dont forget the CIA -- they need love too :)
176 2013-10-26 05:50:29 <Ascendion> gmaxwell is right though -- need to add KGB, Mossad, MI6, and any others we can come up with :)
177 2013-10-26 06:02:14 <Ascendion> hmmm would it be worth adding a message to the network protocol so agencies can inject their name and address into P2P network and update all clients, with the data stored in its own DB on each client ?? :)
178 2013-10-26 06:02:56 <Luke-Jr> Ascendion: no
179 2013-10-26 06:03:02 <Luke-Jr> they can just publish it on irs.gov
180 2013-10-26 06:03:59 <Ascendion> but then we have to manually update the code -- too much work for us :)
181 2013-10-26 06:04:15 <Luke-Jr> ACTION ponders if it's possible for the IRS to run a payment protocol proxy that almost-transparently adds sales tax
182 2013-10-26 06:04:27 <Luke-Jr> Ascendion: nah, code can just verify the SSL cert
183 2013-10-26 06:04:33 <warren> Luke-Jr: sales tax is a per-state thing ...
184 2013-10-26 06:04:37 <Luke-Jr> warren: that's not my point
185 2013-10-26 06:04:48 <warren> Luke-Jr: and how the heck do you prove that a customer is subject to a particular tax jurisdiction
186 2013-10-26 06:05:01 <Luke-Jr> warren: the customer would configure their client to use the proxy
187 2013-10-26 06:05:09 <Ascendion> set it up where the name must be prefixed with a country code like US.IRS and the injected name/address pair is only stored if the public ip address of the node is in the same country (using a geoip lookup)
188 2013-10-26 06:06:11 <Luke-Jr> maybe I shouldn't have said "IRS"; I'm talking theoretical fictional world :p
189 2013-10-26 06:06:22 <Luke-Jr> post-bitcoin taxation methods
190 2013-10-26 06:06:25 <Ascendion> that entire PR was theoretical fictional -- I was just playing along :)
191 2013-10-26 06:06:42 <Luke-Jr> exactly
192 2013-10-26 06:07:07 <Ascendion> nice break from writing code to update my database and roll back the block chain after a detected fork
193 2013-10-26 06:08:34 <Ascendion> warren -- its worse than per-state -- its per city in most cases -- the state sets the base rate then each city typically tacks on a little more
194 2013-10-26 06:08:56 <warren> yeah
195 2013-10-26 06:09:08 <Luke-Jr> at least it's not Europe's VAT.
196 2013-10-26 06:09:17 <Ascendion> we have rates running from 7 to 8.25% within a 50 mile radius of where I live :)
197 2013-10-26 06:12:09 <Ascendion> grrrrr powering up into a rollback is gonna make this code cumbersome to say the least
198 2013-10-26 06:22:41 <Ascendion> hmmm this api really does return the next block in the chain and doesnt seem to return the previous
199 2013-10-26 06:24:07 <Ascendion> grrrr the api docs dont document the json message returned
200 2013-10-26 06:26:23 <Ascendion> so I guess the right way to detect a new block is to poll the current most recent block and see if the nextblockhash is set ??
201 2013-10-26 06:27:58 <Ascendion> just seems bass-ackwards to me to have to back up and update a record in the database every time a new record is added
202 2013-10-26 06:46:01 <Ascendion> just for my edification -- what goes over the network in a block -- the hash of the previous block ?? it cant be the hash of the next block since thats not known
203 2013-10-26 06:47:40 <Ascendion> ya -- thats what I though -- it sends the hash of the previous block.. but that isnt what gets stored in the client database apparently, or if it does the json-rpc doesnt expose it
204 2013-10-26 06:49:02 <Ascendion> bass-ackwards to the hilt !!
205 2013-10-26 06:54:42 <gmaxwell> Ascendion: wtf are you talking about?
206 2013-10-26 06:55:05 <Ascendion> the data returned by json-rpc for getblock
207 2013-10-26 06:55:18 <gmaxwell> returns the previous block hash.
208 2013-10-26 06:55:31 <gmaxwell> it's in the highly cryptic field named "previousblockhash"