19:01:05 #startmeeting 19:01:05 Meeting started Thu Aug 6 19:01:05 2020 UTC. The chair is wumpus. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:01:05 Useful Commands: #action #agreed #help #info #idea #link #topic. 19:01:16 I don't think so! 19:01:22 hi 19:01:24 hi 19:01:25 hi 19:01:26 hi 19:01:30 hi 19:01:32 #bitcoin-core-dev Meeting: wumpus sipa gmaxwell jonasschnelli morcos luke-jr sdaftuar jtimon cfields petertodd kanzure bluematt instagibbs phantomcircuit codeshark michagogo marcofalke paveljanik NicolasDorier jl2012 achow101 meshcollider jnewbery maaku fanquake promag provoostenator aj Chris_Stewart_5 dongcarl gwillen jamesob ken281221 ryanofsky gleb moneyball kvaciral ariard digi_james 19:01:33 :) 19:01:34 amiti fjahr jeremyrubin lightlike emilengler jonatack hebasto jb55 elichai2 19:01:35 hi 19:01:43 hi 19:01:57 dongcarl: the meeting timestamp increases by around 604800 seconds per meeting 19:02:04 two pre-proposed meeting topics for today 19:02:08 hi 19:02:09 hi 19:02:09 (marcofalke) add #19629 to high prio, discuss whether to remove the pulls that need rebase from high prio. (MarcoFalke, but won't be around) 19:02:11 https://github.com/bitcoin/bitcoin/issues/19629 | Pass mempool pointer to chainstate constructor by MarcoFalke · Pull Request #19629 · bitcoin/bitcoin · GitHub 19:02:25 (achow101) what to do about zapwallettxes 19:02:35 sipa: rings true! 19:02:52 the first is mergeable with the normal high prio for review topic 19:03:01 dongcarl: don't trust NTP 19:03:54 any other topics? 19:04:00 sipa: yup, exactly 19:04:39 meetings are scheulded 0.6048 megaseconds apart 19:04:53 #topic High priority for review 19:05:31 MarcoFalke's PR was already added 19:05:36 hi 19:05:45 10 blockers 1 bugfix 3 chasing concept ACK 19:05:56 https://github.com/bitcoin/bitcoin/projects/8 19:06:26 anything to add / remove, or that is ready for merge? 19:06:56 Marco suggested removing PRs that have needed rebase for a while 19:07:05 oh, hi 19:07:41 I think this is mostly #18242 19:07:43 I count three that need rebase: #18242 #19055 #11082 19:07:47 https://github.com/bitcoin/bitcoin/issues/18242 | Add BIP324 encrypted p2p transport de-/serializer (only used in tests) by jonasschnelli · Pull Request #18242 · bitcoin/bitcoin · GitHub 19:07:47 https://github.com/bitcoin/bitcoin/issues/18242 | Add BIP324 encrypted p2p transport de-/serializer (only used in tests) by jonasschnelli · Pull Request #18242 · bitcoin/bitcoin · GitHub 19:07:50 https://github.com/bitcoin/bitcoin/issues/19055 | Add MuHash3072 implementation by fjahr · Pull Request #19055 · bitcoin/bitcoin · GitHub 19:07:51 jnewbery: oh! 19:07:52 https://github.com/bitcoin/bitcoin/issues/11082 | Add new bitcoin_rw.conf file that is used for settings modified by this software itself by luke-jr · Pull Request #11082 · bitcoin/bitcoin · GitHub 19:08:21 (just going by the tags) 19:08:36 #19620 is not high priority, but i would like it to be (though really it's ready for merge, i think) 19:08:38 https://github.com/bitcoin/bitcoin/issues/19620 | Add txids with non-standard inputs to reject filter by sdaftuar · Pull Request #19620 · bitcoin/bitcoin · GitHub 19:08:46 because once it's merged i'll be backporting 19:08:56 sdaftuar: will add 19:09:01 thank you! 19:09:35 wumpus: just merge it. It has 5 ACKs :) 19:09:55 jnewbery: ok, after the meeting :) 19:10:27 is #11082 compatible with merged #15935 ? 19:10:28 jonasschnelli fjahr luke-jr anyone of you here? 19:10:30 https://github.com/bitcoin/bitcoin/issues/11082 | Add new bitcoin_rw.conf file that is used for settings modified by this software itself by luke-jr · Pull Request #11082 · bitcoin/bitcoin · GitHub 19:10:33 https://github.com/bitcoin/bitcoin/issues/15935 | Add /settings.json persistent settings storage by ryanofsky · Pull Request #15935 · bitcoin/bitcoin · GitHub 19:10:49 hebasto: yes, they are compatible 19:11:14 is there still a point? 19:11:17 please rebase your PR this week 19:12:04 ah, i guess bitcoin_rw is for changing config options through UI etc, while settings.json is for other things like bans? 19:12:24 I'm not exactly sure what is the difference either 19:12:43 I guess one is for persisting the other is for changing it through RPC? 19:12:53 I thought they were two alternatives 19:12:53 I think settings.json can be used for changing config options through GUI or RPC. The idea is to keep dynamic config in sync between bitcoind and bitcoin-qt 19:12:58 my understanding was that bitcoin_rw was to let users also change the options 19:13:07 and settings.json is only for bitcoind/bitcoin-qt 19:13:35 I always viewed it as bitcoin_rw.conf was to supersede bitcoin.conf 19:13:36 ah yes _rw would be accessible by bitcoin-cli etc as well 19:13:44 wumpus: will do, just wanted to answer your question as well at the same time 19:13:48 this doesn't add two separate settings mechanisms I hope? 19:13:49 achow101: I don't think it makes sense to have yet another config source. How many do we have now? 19:14:00 jnewbery: hehe right 19:14:08 jnewbery: 3. bitcoin.conf, settings.json, and QSettings 19:14:11 bitcoin-qt is a maze of different config sources already 19:14:24 settings.json and QSettings are supposed to be combined I think 19:14:27 but not yet 19:14:28 it's really subtle in which order they need to be interpreted to not break any existing things 19:14:29 and command line 19:14:41 and command line, and overrides in the source 19:15:02 right 19:15:13 well i think we need ryanofsky and luke-jr to discuss this properly 19:15:22 After settings.json, QSettings should only be used for QT GUI configuration (eg window size/location) 19:15:28 * jeremyrubin maybe a setting to let you pick which settings you are using 19:15:29 I understand the long-term goal is to drop qsettings for everything but the datadir path 19:15:40 oh and that 19:16:00 but that doesn't overlap with bitcoin.conf so isn't an issue :) 19:16:06 wumpus: I think datadir path would want to be in settings.json 19:16:17 achow101: that creates a chicken egg problem ! 19:16:22 we should go back to storing settings in wallet.dat 19:16:33 * sipa hides 19:16:41 sipa: i was going to add an environment variable for enabling such behavior 19:16:55 e.g. on windows, QSettings is in the registry, on linux it's in the standard ~/.config path, it's the only root-of-settings really 19:16:57 wumpus: i suppose it does, but it unifies qt and bitcoind datadir paths 19:17:26 I won't pretent to understand it anymore, sorry 19:17:28 well conf always overrides qt anyways 19:17:32 I think 19:17:54 perhaps a good first contributor project would be to document this somewhere, eg on our wiki 19:18:03 heh, yes 19:18:13 i'm not sure a first contributor would be able to figure out this mess 19:18:25 achow101: fair point! 19:18:25 I'm terrified by that code in bitcoin-qt 19:18:34 took me a lot of work to get it exactly right so be careful 19:18:52 we don't have any tests for it because that's hard for GUI stuff 19:19:56 and yes, conf overrides qt except the initial datadir 19:20:02 another reason to aim to move things out of qsettings 19:20:14 as it unifies testing across bitcoind and bitcoin-qtr 19:20:19 yes 19:21:19 but on inital use of the GUI, it asks you to select a data directory, it needs to store this somewhere that is not in the data drectory 19:21:32 indeed 19:21:43 I'm okay with this being somewhere else than QSettings but I'm not sure where :) 19:22:34 #topic what to do about zapwallettxes (achow101) 19:22:41 zap it 19:22:52 PR #? 19:22:53 #19671 19:22:55 https://github.com/bitcoin/bitcoin/issues/19671 | wallet: Remove -zapwallettxes by achow101 · Pull Request #19671 · bitcoin/bitcoin · GitHub 19:22:57 I think it's obvious that the -zapwallettxes startup option needs to go 19:23:08 sipa: +1 19:23:09 but there's a question of where to put it 19:23:18 options are wallet tool, rpc, or ditch it entirely 19:23:19 wallet tool 19:23:20 ? 19:23:23 also #19653 19:23:25 https://github.com/bitcoin/bitcoin/issues/19653 | wallet: Replace -zapwallettxes with zapwallettxes RPC by achow101 · Pull Request #19653 · bitcoin/bitcoin · GitHub 19:23:38 Since we have abandontransaction, I think ditching it is the way to go 19:23:56 I think abandontransaction is superior *if* it can replace all uses 19:24:00 unless people used it for anything other than trying to RBF transactions 19:24:01 as it's more granular 19:24:13 if you don't need a sledgehammer you shouldn't use one 19:24:40 with abandontransaction you can remove any conflicted or non-confirmed transaction? 19:24:57 I don't think it's useful for transactions that are already in a block 19:25:02 wumpus: so long as they are not confirmed and not in the mempool, I believe so 19:25:11 ok, right, makes sense 19:25:11 abandontransaction only works for things that aren't in the mempool 19:25:14 well they remain in history 19:25:14 Shouldn't we deprecate and then remove something like this? 19:25:23 yes, well with zapwalettx you need to nuke the mempool too 19:25:25 Is there any reason to remove all at once? 19:25:29 but we also have removeprunedfunds which actually removes them from the wallet I think 19:25:48 jeremyrubin: it's not a RPC 19:26:06 yet 19:26:44 to go the full abandontransaction route, we might need to add an rpc to clear the mempool, or at least evict a particular transaction from it 19:26:47 it's not an option someone would normally use except for recoery so there's no need to go through a deprecation cycle 19:26:48 but that might not be desirable 19:27:05 all of these things are recovery sledgehammers 19:27:11 some just smaller than others 19:27:12 it strikes me as dangerous to encourage people to manually remove a tx from the mempool so that abandontransaction could be called on it 19:27:22 sdaftuar: me too 19:27:25 but anything that requires evicting things from the mempool shouldn't be needed on a regular basis 19:27:28 sdaftuar: exactly 19:27:35 well if it's less dangerous to remove *all* transactions from the wallet? 19:27:40 wumpus: i just don't want to give anyone reason to not upgrade, but it's probably fine in this case 19:27:43 that's what zapwallettx does 19:28:12 also, RBF is on by default anyways, so none of these things should matter today 19:28:34 in any case my initial proposal was to move it to the wallet tool 19:28:47 which is intended for maintenance and recovery like this 19:28:50 wumpus: that sounds very reasonable 19:28:56 yeah, it may be that the only use for zapwallettx is for completely corrupted scenarios, where you should be using savagewallet instead... 19:29:05 only if *no one* needs it, ever, we can just remove it 19:29:10 l 19:29:16 wumpus: the main concern I have about that is zapwallettxes requires a rescan afterwards 19:29:16 sdaftuar: i know ;) 19:29:28 and the wallettol isn't going to do that 19:29:38 do it on next start ? 19:29:47 set the current block of the wallet to 0 19:29:47 jeremyrubin: salvagewallet 19:30:01 fair. 19:30:14 achow101: can't the wallet tool reset the wallet's best block to force a rescan? 19:30:26 right 19:30:28 sure 19:30:29 it should 19:30:40 it doesn't already? 19:30:40 as that information is unknown from there on 19:30:45 startup rescan is always unfun though 19:30:55 zapwallettx rescan is not unfun? 19:30:57 yes, just making the rescan automatic doesn't mean it goes away 19:31:00 it's the same IIRC 19:31:42 I seem to remember that -rescan on qt stuck you at the splashscreen until it finished 19:31:42 I mean the current zapwallettx already forces a rescan at startup rght? 19:31:56 so this would not make it worse 19:32:01 it's for rare recovery operations 19:32:03 not for fun 19:32:17 right 19:32:52 wumpus: maybe it should have had a less fun name 19:32:53 right 19:32:55 it sounds too much fun 19:32:59 jeremyrubin: exactly! 19:33:07 jeremyrubin: fun draw transaction? 19:33:21 sipa: that confused me for so long 19:33:23 * jeremyrubin pew pew tx go bye 19:33:46 also gcc -fun roll loops 19:33:48 i'm still not convinved that zapwallettxes is actually useful though 19:34:01 abandontransaction is more fun in that regard, you could make an UI that allows zapping transactions one by one in a space invaders game :') 19:34:23 We have CWallet::ZapSelectTx :) 19:34:29 for removeprunedfunds 19:34:30 achow101: me netiher, but how to we find out 19:35:22 Are there other topics? 19:35:38 like the biggest risk for these kind of things is that it's documented on a wiki somewhere and people try it as a random sledgehammer to fix wallet issues 19:35:41 no, I don't think so 19:35:53 I was going to propose a time for the p2p meeting 19:36:02 wumpus: either way whatever is documented won't work when we remove the startup option anyways 19:36:10 #topic P2P meeting (jnewbery) 19:36:18 Thanks wumpus 19:36:18 achow101: right! 19:36:44 I suggest 17:00 UTC on alternate Tuesdays, starting next week (Aug 11) 19:37:12 sgtm 19:37:30 yay p2p meeting 19:37:36 so it's two hours earlier than this meeting 19:37:52 that's 2 hours before now (10am west coast, 1pm east coast, 6pm UK, 7pm most of europe) 19:38:15 Good for Eastern Europe 19:38:22 3 am for aj? 19:38:29 :( 19:38:31 sorry aj :( 19:38:42 this reminds me we need to document all the meetings on https://bitcoincore.org/en/meetings/ probably 19:39:05 wumpus: I'll work on updating that page. 19:39:12 harding: thank you! 19:39:18 that +- an hour or two is the only time that spans west coast US to eastern europe 19:39:32 i would try to make that time, but if there's a better time that would get aj too i think it's worth trying to make it work for him 19:39:50 i'm ok with up to 2 hours earlier than what is suggested 19:39:52 5am that's not a saturday is vaguely plausible, 3am isn't 19:39:57 aj! 19:40:15 aj: oh wow, a morning person 19:40:18 aj: 3am is just a late night 19:40:33 I'm also fine with earlier (but that;s obvious for Europe) 19:40:34 5am would be 19:00 UTC (same time as this meeting) 19:41:10 achow101: it's sleeping all day the next day which gets old 19:41:16 that'd be 9pm central europe I think, and 10pm for eastern 19:41:42 hebasto: up to what time is acceptable to you? 19:41:54 Any 19:41:57 as you seem to be on the other end of the spectrum 19:42:17 1am/1500UTC might be doable, not sure 19:42:27 19:00 utc is ok 19:42:41 aj: is 5am really ok for you? 19:43:17 jnewbery: as long as it's not on saturday (like the wallet meeting) 19:43:17 1500 UTC is 8am for west coast, which might not suit some people (sipa?) 19:43:51 i can do 8 am 19:44:19 great. Thanks everyone for being flexible 19:44:47 so it sounds like there are two options: 1500 UTC or 1900 UTC 19:45:11 vote now 19:45:22 and they voted so hard that the country exploded 19:45:22 both fine with me 19:45:27 i'm indifferent 19:45:39 prefer 1900 UTC, but both are ok 19:45:51 *jeopardy thinking noises* 19:46:02 If 1500 utc suits for aj then prefer it 19:46:03 1500 UTC :) 19:46:13 got out of bed just to vote 19:46:26 :D 19:46:38 it may be advantageous to pick a time that's intentionally different from this meeting 19:46:52 sipa: yes 19:47:12 aj: ? 19:47:29 1500 utc tuesday ? fine by me 19:48:03 ok, let's set it for 1500 utc on Tuesday Aug 11 19:48:11 is this every other week or? 19:48:26 yes 19:48:35 if anyone isn't at this meeting and wants to complain, message me and we can reconsider 19:48:38 jnewbery: every week or every 2 week? 19:48:49 but for now, it's 1500 UTC every 2 weeks 19:48:51 sipa: maybe just complain one time 19:48:52 starting Aug 11 19:48:58 1h, rigt? 19:49:08 aj: maximum 1 hour 19:49:56 but less if there's nothing to talk about 19:50:08 aj is going to get his money's worth 19:50:27 thanks everyone! 19:50:30 \o/ 19:50:32 can we start the meeting at 1600 UTC and run it backwards? 19:50:48 hehe 19:50:50 how to get know topics in advance? 19:51:04 sipa: isn't that how it works below the equator? 19:51:07 ooh, google calendar supports UTC now 19:51:10 everything's backwards down there. 19:51:12 well, GMT 19:51:20 sipa: no more Reykjavik? 19:51:42 oh no, it's just showing "Greenwich Mean Time (Iceland)" 19:51:47 well, it works 19:52:03 yes, that works 19:52:53 #endmeeting