1 2017-11-22 13:22:43 <buZz> which version of bitcoind moved maturity on generation from 120 blocks to 100 blocks?
2 2017-11-22 13:26:23 <buZz> https://github.com/bitcoin/bitcoin/pull/2947/commits/bf3a20a6e8cafdf723ef101af078df303ea06fec
3 2017-11-22 13:26:26 <buZz> found it :P
4 2017-11-22 14:14:57 <mlz> buZz, is it v0.8?
5 2017-11-22 14:16:15 <buZz> i think 0.8 had 120 still, i guess 0.9 had 100 , or 0.8.something, maybe 0.8.4
6 2017-11-22 14:16:31 <buZz> 0.8.4 is the first release since that commit anyway
7 2017-11-22 14:50:18 <rubensayshi> hmm, is there any resource of wallets which have added sending to bech32 support already ?
8 2017-11-22 15:38:25 <mlz> what do you mean?
9 2017-11-22 15:51:06 <rubensayshi> I mean a list of wallets and which ones have already implemented sending to a bip173 bech32 address
10 2017-11-22 15:51:38 <rubensayshi> to guage when the ecosystem is ready to start making use of bech32 addresses instead of P2SH wrapped segwit
11 2017-11-22 15:57:26 <mlz> i know core wallet will have bech32 in the next version, i've got sipa branch and tested it on testnet, -addressstyle=segwit on two wallets and they can send/receive txs to each other, i guess it can work on mainnet but im not going to risk my precious btc lol
12 2017-11-22 15:58:17 <mlz> lnd wallet has this too, ready for mainnet soon
13 2017-11-22 16:47:15 <rubensayshi> yea, the question is when is it a good moment to toggle on for users as default, need most of the ecosystem to add support for sending to those addresses, quickly trying it at a few services makes it very clear that we're still far off :(
14 2017-11-22 16:49:11 <mlz> Core wallet will have it soon.. Exchanges? no clue
15 2017-11-22 18:24:57 <adiabat> rubensayshi: lit (github.com/mit-dci/lit) uses bech32 but I wouldn't say it's ready for mainnet. But that is the goal.
16 2017-11-22 19:19:47 <eck> do i need to send addr_recv in my version messages? i was using gdb to see how bitcoin core does it, it looks like it sends a packet with the address zeroed out?
17 2017-11-22 19:22:15 <eck> sorry, addr_from, not addr_recv
18 2017-11-22 20:58:49 <txter> Windering about when Segwit was introduced. So older nodes would see a script such as 0 asfdasdfasdfsadfdsafdsasaf and think that was an output anyone could spend. So when SegWit went live wasnt it a must that more than 50% of the nodes where running the new segwit clients?
19 2017-11-22 21:04:14 <mlz> Segwit got activated on Aug 23 when about over 80% reachable nodes were running it
20 2017-11-22 21:44:09 <cluelessperson> Can someone link me to the node protocol used?
21 2017-11-22 21:46:34 <cluelessperson> or is it just http json ?
22 2017-11-22 22:22:16 <jonasschnelli> cluelessperson: the p2p stuff (port 8333) is not json. Only the authenticated RPC API
23 2017-11-22 22:47:59 <cluelessperson> ah
24 2017-11-22 22:48:08 <cluelessperson> jonasschnelli: someone found me this: https://en.bitcoin.it/wiki/Protocol_documentation#Message_structure
25 2017-11-22 22:49:26 <jonasschnelli> cluelessperson: yes. I think that was me. :)
26 2017-11-22 22:56:04 <cluelessperson> jonasschnelli: nice. thank you
27 2017-11-22 22:56:11 <mlz> lol :D
28 2017-11-22 23:33:25 <jonasschnelli> eck: just get ips for the dns seed with any dns client (library). Ideally you client load balances between a couple of seeds.
29 2017-11-22 23:33:38 <jonasschnelli> eck: also, as soon as you have connected to a peer, you should ask for more addresses
30 2017-11-22 23:34:05 <jonasschnelli> eck: just grabbing from seed is okay for a start, later, you should not fill up all slots by ips retrived from a single source.
31 2017-11-22 23:34:19 <jonasschnelli> (later == more advance stage of your software)
32 2017-11-22 23:34:59 <eck> how many connections should i make?
33 2017-11-22 23:36:16 <eck> looks like the reference client makes at most 8
34 2017-11-22 23:37:39 <eck> also out of curiosity, are other clients likely to ban me if i'm connecting with a non-bitcoin core user agent?
35 2017-11-22 23:39:33 <jonasschnelli> eck: 8 connections seems okayish. Depends on what your client intends to do. Other clients may disconnect (or even ban) if you app does not follow the protocol.
36 2017-11-22 23:39:41 <jonasschnelli> == response to version, ping, etc.
37 2017-11-22 23:39:59 <jonasschnelli> or if you constantly fire at them nonsense
38 2017-11-22 23:40:39 <eck> in that case i will probably set my connection count lower than 8 (e.g. 2) until i'm confident i have all of the methods implemented correctly
39 2017-11-22 23:40:47 <eck> thanks
40 2017-11-22 23:41:00 <jonasschnelli> eck: concurrency may also be an issue depending on the language you are using.
41 2017-11-22 23:41:10 <eck> i'm using libevent/c++
42 2017-11-22 23:41:15 <eck> should be fine
43 2017-11-22 23:41:26 <jonasschnelli> For a simple test client, use one connection,.. simplifies a lot
44 2017-11-22 23:41:27 <jonasschnelli> eck: okay. Yeah. You need to deal with concurrency then.
45 2017-11-22 23:41:34 <jonasschnelli> Use libevents dns client rather then OS calls
46 2017-11-22 23:41:43 <jonasschnelli> (for the dns seeds)
47 2017-11-22 23:42:00 <jonasschnelli> eck: maybe also have a look at https://github.com/libbtc/libbtc
48 2017-11-22 23:42:08 <jonasschnelli> Most core stuff for p2p is implemented there...
49 2017-11-22 23:42:14 <jonasschnelli> consider contributing...
50 2017-11-22 23:42:17 <jonasschnelli> it's pure C though
51 2017-11-22 23:42:26 <eck> the libevent stuff i have down (i've done a bunch of other async libevent stuff in c/c++), the bitcoin stuff i know less well
52 2017-11-22 23:42:33 <eck> this is a good reference, i did not know of this
53 2017-11-22 23:42:35 <jonasschnelli> The net layer could be c++,... happy if you write something on top of it
54 2017-11-22 23:42:46 <jonasschnelli> eck: it's also based on libevent
55 2017-11-22 23:43:07 <jonasschnelli> libbtc needs some love though... SW support, aso
56 2017-11-22 23:47:16 <eck> the automated valgrind tests are cool, why doesn't core do that as well?
57 2017-11-22 23:57:48 <jonasschnelli> eck: I guess it's harder to achieve with c++, uses more resources, needs (full) test coverage and you still have to run it manually