Transcript for #bitcoin-dev 2017/11/22

13:22 buZz which version of bitcoind moved maturity on generation from 120 blocks to 100 blocks?
13:26 buZz https://github.com/bitcoin/bitcoin/pull/2947/commits/bf3a20a6e8cafdf723ef101af078df303ea06fec
13:26 buZz found it :P
14:14 mlz buZz, is it v0.8?
14:16 buZz i think 0.8 had 120 still, i guess 0.9 had 100 , or 0.8.something, maybe 0.8.4
14:16 buZz 0.8.4 is the first release since that commit anyway
14:50 rubensayshi hmm, is there any resource of wallets which have added sending to bech32 support already ?
15:38 mlz what do you mean?
15:51 rubensayshi I mean a list of wallets and which ones have already implemented sending to a bip173 bech32 address
15:51 rubensayshi to guage when the ecosystem is ready to start making use of bech32 addresses instead of P2SH wrapped segwit
15:57 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
15:58 mlz lnd wallet has this too, ready for mainnet soon
16:47 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 :(
16:49 mlz Core wallet will have it soon.. Exchanges? no clue
18:24 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.
19:19 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?
19:22 eck sorry, addr_from, not addr_recv
20:58 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?
21:04 mlz Segwit got activated on Aug 23 when about over 80% reachable nodes were running it
21:44 cluelessperson Can someone link me to the node protocol used?
21:46 cluelessperson or is it just http json ?
22:22 jonasschnelli cluelessperson: the p2p stuff (port 8333) is not json. Only the authenticated RPC API
22:47 cluelessperson ah
22:48 cluelessperson jonasschnelli: someone found me this: https://en.bitcoin.it/wiki/Protocol_documentation#Message_structure
22:49 jonasschnelli cluelessperson: yes. I think that was me. :)
22:56 cluelessperson jonasschnelli: nice. thank you
22:56 mlz lol :D
23:33 jonasschnelli eck: just get ips for the dns seed with any dns client (library). Ideally you client load balances between a couple of seeds.
23:33 jonasschnelli eck: also, as soon as you have connected to a peer, you should ask for more addresses
23:34 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.
23:34 jonasschnelli (later == more advance stage of your software)
23:34 eck how many connections should i make?
23:36 eck looks like the reference client makes at most 8
23:37 eck also out of curiosity, are other clients likely to ban me if i'm connecting with a non-bitcoin core user agent?
23:39 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.
23:39 jonasschnelli == response to version, ping, etc.
23:39 jonasschnelli or if you constantly fire at them nonsense
23:40 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
23:40 eck thanks
23:41 jonasschnelli eck: concurrency may also be an issue depending on the language you are using.
23:41 eck i'm using libevent/c++
23:41 eck should be fine
23:41 jonasschnelli For a simple test client, use one connection,.. simplifies a lot
23:41 jonasschnelli eck: okay. Yeah. You need to deal with concurrency then.
23:41 jonasschnelli Use libevents dns client rather then OS calls
23:41 jonasschnelli (for the dns seeds)
23:42 jonasschnelli eck: maybe also have a look at https://github.com/libbtc/libbtc
23:42 jonasschnelli Most core stuff for p2p is implemented there...
23:42 jonasschnelli consider contributing...
23:42 jonasschnelli it's pure C though
23:42 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
23:42 eck this is a good reference, i did not know of this
23:42 jonasschnelli The net layer could be c++,... happy if you write something on top of it
23:42 jonasschnelli eck: it's also based on libevent
23:43 jonasschnelli libbtc needs some love though... SW support, aso
23:47 eck the automated valgrind tests are cool, why doesn't core do that as well?
23:57 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