Transcript for #bitcoin-dev 2017/12/28

00:14 RainMan28 I am running bitcoind (not using the GUI) and wondering if there is a way to enable segwit so that change addresses automatically use segwit also
00:17 RainMan28 connecting via rpc json
00:29 phantomcircuit RainMan28, there is not at the moment
00:31 RainMan28 phantomcircuit: any idea when something will be available? Hoping to be able to reduce the fees I am paying as I send out approximately 500 txns a day. I read on /r/bitcoin that lots of companies aren't using segwit yet so I thought it was ready.
00:32 eck it's ready if you're willing to use the raw tx api
00:32 eck if you're not then wait for 0.16
00:33 RainMan28 eck: gotcha. currently i use the sendmany command. any idea on when 0.16 will be ready?
00:34 eck there's a good chance it will be expedited since so many people are asking for improved segwit support, but i don't know for sure
04:26 Diablo-D3 oh noes, did gmaxwell die?
04:52 Randolf Diablo-D3: Huh?
04:53 Diablo-D3 oh hes not in here
05:15 Randolf Okay. Just because someone's not logged in to IRC, it doesn't necessarily mean that they've died.
05:16 Diablo-D3 Yeah but its gmaxwell
05:16 Diablo-D3 he never leaves irc
05:16 Diablo-D3 hrm hes around here somewhere, hes just not in here
06:13 Eric_Fly pls help me
06:13 Eric_Fly how can i send btc to address like bc1.....
06:14 Eric_Fly i can't run sendfrom send btc to this address
06:16 Eric_Fly
06:16 Eric_Fly hello?
06:16 Eric_Fly anybody is here?
06:20 Diablo-D3 Eric_Fly: you're in the wrong channel
06:20 Diablo-D3 you want #bitcoin
06:30 Eric_Fly ok thx
06:37 xiedeacc does bitcoin automatic prune all older data?
06:38 xiedeacc or just prune data when receive a block
06:38 Diablo-D3 no.
06:38 xiedeacc does anybody know?
06:38 Diablo-D3 there are clients that can prune, but they're third party clients
06:39 xiedeacc only use RPC command to prune all older data
06:39 xiedeacc thanks~
06:48 Eric_Fly RPC command not support send btc to bc1.....
06:49 Eric_Fly I try bitcoin-core version is 0.15.1
08:18 rmt I'm trying to figure out what the values for the new chainstate leveldb are.. the keys are obvious 'C' + txid + output_num .. I _thought_ the values would be, after unobfuscating them: <height & coinbase: varint> | <compressed_amount: varint> | <magic_type_or_size: varint> | <script/address> ... It seems not. Any ideas?
08:19 rmt (bitcoin core 0.15.1, obviously)
08:49 DSidH If I am building a core replica from scratch, how do I find peers to connect to?
08:50 cncr04s ?
08:51 DSidH how do I bootstrap?
08:51 cncr04s of what
08:51 cncr04s the chain
08:51 cncr04s just connect to some peers
08:51 DSidH hmmm how to discover them?
08:51 cncr04s it automaticly does
08:52 DSidH ok but i need to do it without bitcoind
08:52 DSidH wiki suggests hardcoding some peers and also irc
08:52 cncr04s run bitcoin-qt
08:52 cncr04s no idea what your doing
08:52 DSidH I want to replicate core in Scala
08:53 cncr04s replicate?
08:53 DSidH without any dependency on QT or bitcoind
08:53 cncr04s if your code has all the functionality of bitcoin
08:53 DSidH have done the crypto stuff and now want to look at chain download and validation
08:53 cncr04s then all you need are peers
08:53 cncr04s run bitcoind or qt
08:53 cncr04s let it connect to peers
08:53 cncr04s write them down
08:53 cncr04s then add those to your code
08:54 DSidH cool but what does qt use internally?
08:54 cncr04s it has some default list
08:54 cncr04s search its code
08:55 DSidH I'm thinking of connecting to a trusted instance of qt then I don't have to worry about network for now
08:55 DSidH but eventually want to understand it and implement the script engine as well.
08:56 Helm0 DSidH: there are some bootstrap peers coded in core internally.. look at line 128
08:56 Helm0 DSidH: every dns seed gives a bunch of bootstrap IPs
08:56 DSidH Helm0: ty looking at it.
14:35 xiedeacc I want to how bitcoin ownership was transfered when transaction. Let me give an example, A send 1 btc to B in tx2, A got this 1 btc from tx1, so A has to prove he own tx1's output, and he had prove tx2 was signed by himself, I have read this post, but still have some confuse.
14:35 xiedeacc in tx2, A signed tx2 by scriptSig
14:35 xiedeacc what consist scriptSig
14:37 xiedeacc a signature of a simple version of tx2 and A's public key?
14:38 xiedeacc but in tx1, output just specific A's bitcoin address
14:38 xiedeacc address isn't A's public key
14:41 xiedeacc sorry
14:41 xiedeacc I understand now
14:42 xiedeacc but in a transaction, A have to exposure his public key
14:42 xiedeacc this strange...
14:52 DSidH how do I deal with point at infinity? Currently I am throwing an exception when it is encountered
15:56 DSidH where can I find sample version message serialized (the first message sent on connect)?
15:58 Sentineo DSidH: I think you are looking for the version message
16:02 DSidH Sentineo: yes I saw that but I wanted some actual serialized data to test
16:03 Sentineo well use tcpdump on a node than
16:03 Sentineo wireshark can distinguish bitcoin messages
16:03 Sentineo so if you import it (of use wireshark directly) you can check the wired format easily
16:03 Sentineo if you have trouble doing it I can do it later for you, just not now
16:08 DSidH Sentineo: thanks I'll try myself and revert if I need help
16:10 Sentineo DSidH: you might want to check this as well:
16:10 Sentineo the guy is constructing the messages in python, has a github as well (you will find it in the vid iirc)
17:12 topace_ hey, i have a question re witness addresses. if i "getnewaddress bob", and get a legacy address 1...k for account bob, when i do addwitnessaddress 1...k the resulting address 3...n, does not get assigned to account bob. is there any way to connect 3...n to account bob?
17:14 molz topace_, "account" is deprecated, don't use it
17:16 topace_ gah
17:16 topace_ i was hoping to not have to re-write my whole merchant processing to implement segwit
18:07 DSidH Sentineo: that video is very useful. ty
18:36 rmt I'm trying to figure out what the values for the new (0.15.x) chainstate leveldb are.. the keys are obvious 'C' + txid + output_num .. I _thought_ the values would be (after unobfuscating them): <height & coinbase: varint> | <compressed_amount: varint> | <magic_type_or_size: varint> | <script/address> ... It seems not (or I screwed up something). Any ideas? I'd love an example to breakdown/compare.