1 2016-01-09 01:30:17 <Chris_Stewart_5> sipa: Are OP_CODESEPARATOR just represented by spaces inside of the 'asm' script?
2 2016-01-09 01:31:38 <Luke-Jr> Chris_Stewart_5: OP_CODESEPARATOR is unlikely to be in any script you see
3 2016-01-09 01:33:10 <Chris_Stewart_5> Luke-Jr: I'm readying about OP_CHECKSIG here and they mention OP_CODESEPARATOR
4 2016-01-09 01:33:12 <Chris_Stewart_5> https://en.bitcoin.it/wiki/OP_CHECKSIG
5 2016-01-09 01:33:23 <Luke-Jr> doesn't mean it's ever used
6 2016-01-09 01:36:05 <Luke-Jr> Chris_Stewart_5: check out getrawtransactoin eb3b82c0884e3efa6d8b0be55b4915eb20be124c9766245bcc7f34fdac32bccb 1
7 2016-01-09 01:36:28 <Luke-Jr> it second input uses it
8 2016-01-09 01:36:31 <Luke-Jr> its*
9 2016-01-09 01:38:16 <Chris_Stewart_5> Luke-Jr: so this is part of the documentation, i missed it the first time I read thorugh it "If there is no OP_CODESEPARATOR the entire script becomes the subscript (hereby referred to as subScript)"
10 2016-01-09 01:38:30 <Luke-Jr> right
11 2016-01-09 01:38:31 <Chris_Stewart_5> is this the entire scriptPubKey?
12 2016-01-09 01:39:02 <Chris_Stewart_5> for instance
13 2016-01-09 01:39:10 <sipa> yes
14 2016-01-09 01:39:16 <Luke-Jr> it's whatever script is being executed
15 2016-01-09 01:39:17 <Chris_Stewart_5> OP_DUP OP_HASH160 90888c92a4754a5ab9463f132b141f64998a3bb2 OP_EQUALVERIFY OP_CHECKSIG
16 2016-01-09 01:39:26 <Chris_Stewart_5> the entire 'subscript' would be OP_DUP OP_HASH160 90888c92a4754a5ab9463f132b141f64998a3bb2 OP_EQUALVERIFY OP_CHECKSIG
17 2016-01-09 01:39:30 <Luke-Jr> if OP_CHECKSIG appears in scriptSig, it's scriptSig ;)
18 2016-01-09 01:42:16 <Chris_Stewart_5> I have to be as explicit as possible on these things when I'm trying to teach myself or else I get confused :-). Thanks for helping some one out on a friday night
19 2016-01-09 01:42:55 <Luke-Jr> Chris_Stewart_5: don't rely on the documentation to be complete.
20 2016-01-09 01:43:57 <Chris_Stewart_5> Luke-Jr: Are you aware of any implementations of script in a pure functional style?
21 2016-01-09 01:46:40 <Luke-Jr> hmm, the Haskell one.. was it called Purecoin I think?
22 2016-01-09 01:46:53 <Luke-Jr> no, that looks like a scamcoin :/
23 2016-01-09 01:47:29 <Luke-Jr> BUT, it's going to be a reimplementation, which may have unknown bugs
24 2016-01-09 01:47:36 <Luke-Jr> so no better than the documentation
25 2016-01-09 01:48:43 <Chris_Stewart_5> Luke-Jr: I'm going to try and do one in Scala - more for a learning exercise than anything else. Going to use Bitcoinj for a the underlying crypto stuff
26 2016-01-09 01:56:57 <Luke-Jr> Chris_Stewart_5: cool. as a rule of thumb, if you don't discover a new consensus rule nobody else knows about, you probably have bugs ;p
27 2016-01-09 01:58:24 <Chris_Stewart_5> Or you know... we could just change bitcon's consensus rulres to be whatever code I write :p
28 2016-01-09 01:59:03 <Chris_Stewart_5> Seriously though, has there been any work done to like put the consensus rules into some sort of portable format where it could be applied to test various bitcoin libraries?
29 2016-01-09 01:59:38 <Chris_Stewart_5> agnostic of programming language?
30 2016-01-09 02:02:22 <Luke-Jr> Chris_Stewart_5: not enough
31 2016-01-09 02:02:43 <Luke-Jr> Chris_Stewart_5: and considering humans don't know how to do it, it's not a trivial task
32 2016-01-09 02:03:02 <Luke-Jr> the 0.8.0 bug couldn't have been tested for in advance
33 2016-01-09 02:05:36 <Chris_Stewart_5> Luke-Jr: so I'm trying to dig through the archives, that bug had something to do with block size? 'Unenforced block protocol rule'?
34 2016-01-09 02:07:06 <Luke-Jr> Chris_Stewart_5: indirectly; it was a limit on number of BDB locks that could be used by a block's update
35 2016-01-09 02:07:43 <Luke-Jr> Chris_Stewart_5: a more-impossible-to-test-for hypothetical bug, would be if the UTXO database failed to store a particular txid without giving an error
36 2016-01-09 02:08:35 <Chris_Stewart_5> Luke-Jr: so the txid would be valid in the blockchain but the utxo database would have no knowledge that the utxo was spent and a new one had been created?
37 2016-01-09 06:17:45 <unicodesnowman> Is there any reason why checkpoints haven't been updated for years?
38 2016-01-09 06:26:50 <sipa> unicodesnowman: we plan to get rid of them and replace with a mechanism that doesn't need manual updating
39 2016-01-09 06:27:14 <sipa> also, signature verification was just made several times faster in 0.12
40 2016-01-09 06:33:45 <unicodesnowman> thanks sipa
41 2016-01-09 13:27:10 <NicolasDorier> will it be possible to use service field of the Version message instead of 'havewitness' to announce witness support ? If you code a bot which wants to connect to a peer supporting witness, if you do it like now, then the bot must do the handshake and wait an indefinite time. This will make segwit peer discovery significantly slower.
42 2016-01-09 13:50:11 <G1lius> IF anyone is relying on mail-archive.com for the mailing-list, it seems to have missed Luke-Jr's new BIP editor mail http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2016-January/012197.html
43 2016-01-09 19:26:35 <Chris_Stewart_5> Is there any rules for telling when constants are in scripts compared to operations other than conventions (i.e. tx types) and guessing that if it doesn't match an op code it must be a constant?
44 2016-01-09 20:24:49 <phantomcircuit> Chris_Stewart_5, the only way to be sure is to evaluate the script one byte at a time
45 2016-01-09 20:25:40 <Chris_Stewart_5> phantomcircuit: So there is a guarantee that an op code couldn't appear in the middle of a RIPEMD160 hash?
46 2016-01-09 20:26:20 <phantomcircuit> Chris_Stewart_5, uh
47 2016-01-09 20:26:38 <phantomcircuit> scripts are a byte stream interpreted one byte at a time
48 2016-01-09 20:29:13 <Chris_Stewart_5> so assume that I had this script
49 2016-01-09 20:29:18 <Chris_Stewart_5> "asm" : "OP_DUP OP_HASH160 fa61c451213d6039e34647066a68fa6f56bf6f54 OP_EQUALVERIFY OP_CHECKSIG",
50 2016-01-09 20:29:19 <Chris_Stewart_5> "hex" : "76a914fa61c451213d6039e34647066a68fa6f56bf6f5488ac",
51 2016-01-09 20:29:45 <Chris_Stewart_5> except in the middle of fa61...54 the byte '76' would be appear
52 2016-01-09 20:30:08 <Chris_Stewart_5> phantomcircuit: shouldn't that be interpreted as an OP_DUP inside of our hash?
53 2016-01-09 20:31:38 <arubi> er, maybe this is the issue, Chris_Stewart_5 , "0x76 0xa9 0x14 .." <- the 0x14 is telling you that 20 bytes will be pushed to the stack
54 2016-01-09 20:32:25 <Chris_Stewart_5> arubi: oh, ok. That makes sense. Thank you :-)
55 2016-01-09 20:32:34 <arubi> np.
56 2016-01-09 20:32:47 <sipa> Chris_Stewart_5: print("return;") is valid, and does not return :)
57 2016-01-09 20:33:14 <sipa> Chris_Stewart_5: when an opcode appears as part of a data string pushed, it does not function as an opcode either
58 2016-01-09 20:38:10 <Chris_Stewart_5> I'm curious, is there any interactive interpreter for the script language?
59 2016-01-09 20:38:29 <Chris_Stewart_5> where you can just go and mess around with it? Similar to using a python interpreter
60 2016-01-09 20:42:07 <afk11> Chris_Stewart_5: http://www.cs.princeton.edu/~tongbinw/bitcoinIDE/build/editor.html is useful, but haven't tested p2sh through it
61 2016-01-09 20:45:02 <Chris_Stewart_5> afk11: Thanks
62 2016-01-09 20:47:44 <phantomcircuit> Chris_Stewart_5, no
63 2016-01-09 20:48:32 <phantomcircuit> Chris_Stewart_5, there are tools like the one afk11 linked to, they're 99% right but all have slight differences with the bitcoin script interpretter
64 2016-01-09 21:20:40 <kefkius> Chris_Stewart_5: There's one I'm currently working on but it's still alpha, I wouldn't depend heavily on its results. https://github.com/mazaclub/hashmal - here's a recent screenshot of the develop branch http://i.imgur.com/UHukJEY.png
65 2016-01-09 21:28:04 <Chris_Stewart_5> kefkius: Cool, that is kind of what I was thinking of. Have you thought about displaying the stack in a vertical fashion?
66 2016-01-09 21:28:45 <Chris_Stewart_5> or is that what is happening next to the Stack: label
67 2016-01-09 21:28:46 <kefkius> Chris_Stewart_5: It does that :P The box next to the label "Stack:" displays a list, there just happens to be only one stack item for the highlighted step
68 2016-01-09 21:28:57 <Chris_Stewart_5> ahhh ok :-)
69 2016-01-09 21:29:25 <Chris_Stewart_5> kefkius: What is the format box for at the top?
70 2016-01-09 21:30:02 <kefkius> Chris_Stewart_5: There's an option to edit a script in human-readable ("Human") format, or hex format
71 2016-01-09 21:30:19 <Chris_Stewart_5> is that the same as 'asm'?
72 2016-01-09 21:30:40 <kefkius> Sort of, you can omit the "OP_" prefix for opcodes, for example.
73 2016-01-09 21:31:28 <kefkius> Anyway I don't wanna go into an off-topic tangent, so I recommend the channel #hashmal if you want some more in-depth info about it
74 2016-01-09 22:18:56 <lorenzoasr> hello, in bitcoind0.11 which is the min priority needed to relay a tx?