--- Day changed Sat Nov 02 2019 01:39 -!- slivera [~slivera@220-245-131-128.tpgi.com.au] has joined #joinmarket 01:45 < AgoraRelay> [agora-irc/AlexCato] > k1tsun3] actually i cant even install sha265sum... 01:45 < AgoraRelay> [agora-irc/AlexCato] type in there? Must be sha256sum 01:46 < AgoraRelay> [agora-irc/AlexCato] *typo 01:47 -!- k1tsun3 [~kitsune@unaffiliated/k1tsun3] has quit [Ping timeout: 245 seconds] 03:00 < arubi> starting to look into install.sh stuff + takinbo's PR 03:01 < arubi> belcher_, I just saw you commented that you're also trying it out, let me know if you saw anything worth mentioning 03:08 -!- sosthene [~sosthene@88.191.20.124] has quit [Quit: leaving] 03:27 -!- slivera_ [slivera@gateway/vpn/privateinternetaccess/slivera] has joined #joinmarket 03:30 -!- slivera [~slivera@220-245-131-128.tpgi.com.au] has quit [Ping timeout: 240 seconds] 03:45 < arubi> takinbo, I see that there's 'py2-gui.txt' , does that mean gui is supported for python2 ? not sure if anybody's tried that in a while. we specifically disable gui for python2 in install.sh (well, currently) 03:55 -!- slivera_ [slivera@gateway/vpn/privateinternetaccess/slivera] has quit [Ping timeout: 240 seconds] 04:04 -!- technonerd [~techno@gateway/tor-sasl/technonerd] has quit [Ping timeout: 260 seconds] 04:10 -!- technonerd [~techno@gateway/tor-sasl/technonerd] has joined #joinmarket 04:22 < takinbo> arubi: yes, gui works for python2 surprisingly 04:22 < arubi> ah sweet 04:33 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 04:40 * arubi wonders if anybody uses python2 for JM 04:40 < arubi> I mean python 2 is EOL in like two months 04:40 < belcher> i sometimes do by accident, by running `python` instead of `python3` 04:40 < arubi> hehe 04:41 < takinbo> belcher: python3 is `python` on some distros 04:42 < belcher> i know but not on my system (yet) 04:42 < takinbo> :) 04:43 < undeath> distros should deploy a chooser script for what is linked against "python" 04:43 < undeath> my gentoo system does, i have python3 as the main version for years now 04:43 < belcher> i was recently playing around with async/await and its really cool, but it requires 3.7 so hopefully that will become widely deployed enough 04:44 < undeath> it's really a shame new features require so much time until they are widely deployed 04:44 < undeath> it would make so much better 04:45 < undeath> *make life 04:47 < arubi> I think debian has the same with update-alternatives 04:49 < arubi> okay so what's the verdict - enable python2+gui in install.sh or leave it disabled in expectation of dropping py2 support eventually? 04:50 < belcher> are there any distros which dont have python3 ? i doubt it 04:51 < undeath> if you run very old debian systems maybe 04:51 < undeath> not entirely without py3 but with too old versions 04:51 < waxwing> we explicitly said "no GUI for Py2" because problems with PySide 04:51 < arubi> all those who don't are probably eol 04:51 < undeath> i don't mind dropping py2 at all 04:51 < undeath> people need to move on 04:51 < takinbo> my preference will be to drop support for py2 entirely unless there's evidence that some people don't have a way to use python3 instead. 04:51 < waxwing> i spent literally 2 days trying to debug it and failed, in the end james just said 'why bother' and i realised he was right 04:52 < arubi> fair enough 04:53 < waxwing> btw one thought i had this morning is: you know it's going to be almost trivial to add Maker support to the GUI. Just a dialog with settings and then a toggle "maker on". I would disable the Taker functionality while it's running. 04:54 < waxwing> the callbacks could just add the tx to the TxHistory (which will hopefully be revamped, kristapsk opened an issue about it iirc) 04:54 < waxwing> belcher, yes async/await would be very cool, better than twisted since everyone i think uses the former, but ... that is going to be one heck of a lot of work. 04:55 < belcher> i was experimenting it for electrum personal server 04:55 < belcher> await/async is a bit nicer than twisted, but is it worth the work in switching? im not sure 04:55 < undeath> can't you mix them? 04:55 < belcher> maybe, i wouldnt be surprised 05:00 < waxwing> there is something very nice about twisted: inbuilt support for protocols, e.g. the whole IRC thing we use saves us a ton of work. 05:00 < waxwing> but i would definitely not argue with a statement that says we should just use async instead (i'm not educated on it, but i take it from indirect knowledge that it'll just be a much better choice) 05:04 < belcher> it has nice syntactical sugar 05:04 < takinbo> twisted in my experience is harder to learn than asyncio but unless there are benefits to be had like more contributors or contributions, it may not be worth it making the switch after all there's good support for twisted in py3 05:04 < belcher> await/async are wrappers around yield, yield from and similar coroutines, it makes the code quite readable... in terms of actual performance or features i think they're about the same(?) 05:05 < takinbo> waxwing: there are a couple of protocol implementations for asyncio. i remember seeing an asyncirc package that could be built on for irc support with asyncio 05:06 < waxwing> i see 05:06 -!- simon__ [~simon@93-238-145-85.ftth.glasoperator.nl] has joined #joinmarket 05:07 < takinbo> belcher: in some instances asyncio may be faster due to the flexibility in choosing different event loop implementations (e.g. uvloop) 05:08 < waxwing> https://github.com/kageurufu/asyncirc ... at *very* first glance, it looks a bit basic. things like exponential backoff reconnect being built in is cool. 05:08 < belcher> interesting 05:08 < waxwing> i mean that that is built in in *twisted*, i believe it is not there. like i say, looks basic. 05:09 < waxwing> also maybe this is my intellectual failure, but why is it using Threads ? 05:10 < waxwing> i thought the point was to not do that 05:10 < undeath> i think asyncio just abstracts the threads away 05:10 < takinbo> asyncio uses coroutines and not threads 05:11 < waxwing> takinbo, right, but i'm seeing invocations of Thread there, am i misunderstanding? i guess so as per undeath 05:11 < waxwing> iow this doesn't actually spawn a thread? https://github.com/kageurufu/AsyncIRC/blob/master/asyncirc/ircbot.py#L123 05:11 < waxwing> i should just shut up i barely read anything about asyncio yet :) 05:13 < belcher> it looks like its spawning just one thread which runs the event loop 05:13 < takinbo> interesting. i don't know why the author is using threads when asyncio is designed to avoid the use of threads. 05:14 < belcher> hold on 05:14 < belcher> i think this package isnt even using asyncio 05:14 < belcher> the author creates a thread for sending and a thread for recieving 05:14 < belcher> they also use ssl.wrap_socket() which is single-threaded, asyncio has its own methods for handling sockets and ssl 05:15 < belcher> i dont see `import asyncio` anywhere either 05:15 < belcher> the readme says "Dependency-free multithreaded buffered non-blocking IRC Library in Python", so not asyncio/await/async despite the name 05:16 < takinbo> the package is really old. probably written when the asyncio api wasn't fully developed yet. 05:16 -!- k1tsun3 [~kitsune@unaffiliated/k1tsun3] has joined #joinmarket 05:28 < takinbo> k1tsun3: had success installing jm? 06:09 -!- simon__ [~simon@93-238-145-85.ftth.glasoperator.nl] has quit [Quit: simon__] 06:12 -!- k1tsun3 [~kitsune@unaffiliated/k1tsun3] has quit [Ping timeout: 268 seconds] 06:50 -!- openoms_ [~quassel@cpc115066-stok20-2-0-cust313.1-4.cable.virginm.net] has joined #joinmarket 06:53 -!- openoms [~quassel@cpc115066-stok20-2-0-cust313.1-4.cable.virginm.net] has quit [Ping timeout: 240 seconds] 06:54 < waxwing> sorry got disconnected, possible repeat: 06:54 < waxwing> i can certainly see it as a matter of perspective. and since it adds only 1 more tx to each tumble, it's not necessarily a huge deal 06:54 < waxwing> ah damn it that was the second line :) 06:54 < waxwing> so belcher on the tumbler algo stuff, i honestly still don't see it (the sweep first idea). how can i best express my thoughts: every non-sweep keeps a linked change. but in tumbler the linked changes hang around in the 'mixdepth closure' until the final sweep. so what's really the difference between it getting "swallowed up" so to speak, at the first tx, versus the 3rd? 06:54 < waxwing> i can certainly see it as a matter of perspective. and since it adds only 1 more tx to each tumble, it's not necessarily a huge deal 06:55 < waxwing> so i'll try to just review the code now 06:55 < belcher> i understand 06:56 < belcher> the only thing going for initial-sweep is the amount based tracking, and that it uses one more mixdepth (although that could be replaced by increasing the number of mixdepths used) 06:56 < belcher> you're right that it doesnt add as much as i thought 07:00 < waxwing> you could think of it as a pseudo-extra mixdepth. but it's nbd either way to me i think, so it's like, well, that PR has a bunch of other things too, and that one doesn't hurt, even if it doesn't add too much. tbh i'm kinda warming to it, just the justification in the gist perhaps is a bit off. 07:00 < waxwing> perhaps. 07:07 < belcher> you're right, i can edit the gist 07:07 < waxwing> belcher, since you're here (I think) I'll ask here rather than starting a slow convo on the PR 07:07 < belcher> at least the part about change addresses 07:07 < belcher> sure 07:07 < waxwing> about the knives algo, i'm a bit confused what you're doing. 07:08 < waxwing> so knives is a list of randoms between 0 and 1 07:08 < belcher> im dividing up the interval zero to one 07:08 < waxwing> we start by setting l to 1 - k where k is the first value. 07:08 < waxwing> then l goes to that value and we subtract the next random. 07:08 < waxwing> yes i know the goal, i'm just confused why you're doing it exactly this way. 07:09 < belcher> sec, ill read it again 07:09 < waxwing> won't this end up failing pretty frequently (or even a majority?) since you're cutting down by each of the k values along the way? 07:10 < belcher> it definitely doesnt fail since i tested it 07:10 < belcher> why would it fail 07:10 < belcher> maybe its a bad way of achieving what i wanted? it was the first algorithm i thought of 07:10 < belcher> if you want to get n slices you have to cut n-1 times, thats the main reasoning 07:11 < waxwing> well but it's in a while loop so i'm more asking whether it would fail, within the loop, frequently 07:11 < waxwing> and also, could we not just generate n-1 knife values and have them as the list y ? 07:11 < waxwing> yeah but as per above, why not just use an n-1 list of randoms, why the extra variable l ? 07:12 < belcher> l is there to remember the previous knife value, is there another way to do it that iv missed? 07:13 < waxwing> ok say we want a split of (0,1) into 4 values. we generate three randoms x, y, z \in (0,1) and sort them (say x is smallest). then our split is (x, (y-x), (z-y)). 07:13 < waxwing> isn't that cleaner? 07:14 < waxwing> sorry 4 values uhh.. 07:14 < waxwing> oh yeah (1-z) is the last 07:14 < belcher> i think my algorithm is exactly what you've just written 07:15 < waxwing> it might be. i'll have to think about it. but doesn't it fail e.g. the following: suppose your knives list is [0.95, 0.96, 0.97]. you'd drop below zero after the second or third iteration, no? 07:15 < belcher> rename the randoms to x0, x1, x2, then the result is (x0, x1-x0, x2-x1) 07:15 < waxwing> i must be reading it wrong, let me look again. 07:15 < belcher> so the loop has to be (previous_random - this_random) 07:16 < waxwing> oh yeah i read it wrong, it's not l = l -k, it's l = k 07:16 < waxwing> so yeah i think it's the same :) 07:16 < belcher> in that situation the result would be (0.95, 0.01, 0.04) i think 07:17 < belcher> the knives list is where the cuts go, in your example all 3 knives ended up right close to the number 1 07:18 < belcher> so one of the slices is really big (0.95) and the others are quite small 07:19 < waxwing> i just read it wrong. 07:19 < belcher> i wonder if theres a more readable way to recode it 07:19 < belcher> maybe i can add comments 07:19 < waxwing> it would be nice not to loop but i think that's perfectly pythonic here, considering variable list lengths. 07:20 < waxwing> well you could but its' quite clear. again, i read it wrong, that's all. 07:20 < belcher> ok :) let me know if theres anything else 07:20 < belcher> btw i replied to your comment about considering count=0 07:35 -!- openoms_ [~quassel@cpc115066-stok20-2-0-cust313.1-4.cable.virginm.net] has quit [Ping timeout: 240 seconds] 07:39 -!- openoms [~quassel@cpc115066-stok20-2-0-cust313.1-4.cable.virginm.net] has joined #joinmarket 07:53 -!- openoms [~quassel@cpc115066-stok20-2-0-cust313.1-4.cable.virginm.net] has quit [Ping timeout: 268 seconds] 07:57 -!- openoms [~quassel@cpc115066-stok20-2-0-cust313.1-4.cable.virginm.net] has joined #joinmarket 08:02 -!- openoms [~quassel@cpc115066-stok20-2-0-cust313.1-4.cable.virginm.net] has quit [Read error: Connection reset by peer] 08:02 -!- openoms [~quassel@cpc115066-stok20-2-0-cust313.1-4.cable.virginm.net] has joined #joinmarket 08:08 -!- openoms_ [~quassel@217.146.82.117] has joined #joinmarket 08:10 -!- openoms [~quassel@cpc115066-stok20-2-0-cust313.1-4.cable.virginm.net] has quit [Ping timeout: 245 seconds] 08:13 -!- k1tsun3 [~kitsune@unaffiliated/k1tsun3] has joined #joinmarket 08:14 < k1tsun3> takinbo: still having issues with the installation. I just woke up so im going to try the last solution you posted 08:20 < k1tsun3> if anyone else is online and can help me: i keep having an issue with install.sh where the libsodium dep fails to download due to some certificate error 08:30 < waxwing> k1tsun3, sorry if this is a repeat, but which OS? 08:30 < waxwing> belcher, finished for now, had a few more comments. 08:30 < k1tsun3> ubuntu 08:30 < k1tsun3> waxwing: i think it may have something to do with the fact that my clock is 11 hours behind and won't sync for some reason 08:31 < belcher> ty waxwing ill fix them soon 08:31 < k1tsun3> i think that may be messing up the ssl certs, but since it's a VM i dont know how to fix it 08:35 < arubi> k1tsun3, if you can find your timezone file somewhere under '/usr/share/zoneinfo/' , then you could symlink /etc/localtime to it 08:35 -!- openoms_ [~quassel@217.146.82.117] has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.] 08:36 -!- openoms [~quassel@217.146.82.117] has joined #joinmarket 08:41 < k1tsun3> arubi: thank you that finally fixed it! 08:41 < arubi> cheers 08:54 -!- openoms [~quassel@217.146.82.117] has quit [Ping timeout: 240 seconds] 08:55 -!- openoms_ [~quassel@217.146.82.117] has joined #joinmarket 09:18 -!- openoms [~quassel@cpc115066-stok20-2-0-cust313.1-4.cable.virginm.net] has joined #joinmarket 09:21 -!- openoms_ [~quassel@217.146.82.117] has quit [Ping timeout: 240 seconds] 09:32 < k1tsun3> what am i supposed to set rpc_wallet_file to in joinmarket.cfg? 09:34 < belcher> thats for the multiwallet feature of bitcoin core 09:34 < belcher> if you only have one wallet loaded you can leave it blank 09:35 < belcher> see also https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.15.0.md#multi-wallet-support 09:39 < k1tsun3> thankyou 09:39 < k1tsun3> also, where can i find the onion versions of the IRC servers? 09:52 -!- MaxSan [~four@195.206.105.203] has quit [Ping timeout: 268 seconds] 09:59 < waxwing> k1tsun3, they're commented in the default version of joinmarket.cfg that gets generated when you start your joinmarket script (any, so probably `wallet-tool.py`) for the first time. 10:00 < waxwing> so you'd just uncomment those and comment the clearnet settings 10:00 < waxwing> i believe this is in the usage guide linked from the README? not 100% sure but do try to follow that. 10:10 < k1tsun3> waxwing: thankyou im blind apparantly 10:14 < k1tsun3> also, is the agora irc still down or can i uncomment it? 10:32 -!- k1tsun3 [~kitsune@unaffiliated/k1tsun3] has quit [Ping timeout: 264 seconds] 10:34 -!- k1tsun3 [~kitsune@unaffiliated/k1tsun3] has joined #joinmarket 10:37 < qubenix> k1tsun3: use this to set up your servers: https://termbin.com/ub5i . you want to use agora's clearnet address because their onion is often (always?) down, and only the clearnet uses ssl. without ssl your host can spy on your traffic from the workstation to the gateway. 10:45 -!- k1tsun3 [~kitsune@unaffiliated/k1tsun3] has quit [Ping timeout: 265 seconds] 10:57 -!- nsh [~lol@wikipedia/nsh] has quit [Quit: ZNC - http://znc.in] 10:58 -!- nsh [~lol@wikipedia/nsh] has joined #joinmarket 11:06 -!- openoms [~quassel@cpc115066-stok20-2-0-cust313.1-4.cable.virginm.net] has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.] 11:08 -!- nsh [~lol@wikipedia/nsh] has quit [Quit: ZNC - http://znc.in] 11:08 -!- openoms [~quassel@cpc115066-stok20-2-0-cust313.1-4.cable.virginm.net] has joined #joinmarket 11:09 -!- nsh [~lol@wikipedia/nsh] has joined #joinmarket 11:21 -!- k1tsun3 [~kitsune@unaffiliated/k1tsun3] has joined #joinmarket 11:21 < k1tsun3> qubenix: i can connect to agora clearnet via tor? 11:31 -!- nsh [~lol@wikipedia/nsh] has quit [Quit: ZNC - http://znc.in] 11:45 -!- nsh [~lol@wikipedia/nsh] has joined #joinmarket 12:01 -!- belcher [~belcher@unaffiliated/belcher] has quit [Ping timeout: 240 seconds] 12:05 -!- belcher [~belcher@unaffiliated/belcher] has joined #joinmarket 12:40 -!- StopAndDecrypt_ [~StopAndDe@107.181.189.37] has joined #joinmarket 12:40 -!- StopAndDecrypt [~StopAndDe@unaffiliated/stopanddecrypt] has quit [Ping timeout: 276 seconds] 14:24 -!- achow101 [~achow101@unaffiliated/achow101] has quit [Quit: ZNC 1.7.4+deb0+bionic0 - https://znc.in] 14:26 -!- achow101 [~achow101@unaffiliated/achow101] has joined #joinmarket 14:35 < k1tsun3> what is the smallest amount of btc thats feasible to tumble? 14:44 < k1tsun3> also what is the point of the "external" wallet addresses 15:19 < k1tsun3> vs the "internal" wallet address 15:44 < waxwing> k1tsun3, the external allow you to deposit into the wallet without accidentally reusing an address (because it may be being used at the same moment in a coinjoin - the wallet always sources new addresses from 'internal'). 15:45 < waxwing> the smallest feasible to tumble hard to say, perhaps 0.1. individual joins can go down to about 0.01 fairly easily, but less than 0.005 for a single join can start bumping into problems. 15:46 < waxwing> wait sorry wrong. 15:46 < k1tsun3> im trying to do a coinjoin of about 0.001 right now and i keep getting a commitment error 15:46 < waxwing> well, not wrong, but: perhaps 0.001 is feasible but 0.0005 is not really. 15:47 < waxwing> you have to wait for 5 confirms on deposited coins before using them. this is a rate limiting feature. 15:47 < k1tsun3> eili5? 15:47 < waxwing> there's some brief explanation linked .. uh somewhere. but it's quite a complicated thing to explain, essentially you have to provide a commitment from your utxo that doesn't expose it. 15:47 < k1tsun3> what do you mean by 5 confirms 15:47 < waxwing> confirms on the blockchain. blocks. 15:47 < k1tsun3> like do i just have to wait and try the coinjoin again later? 15:48 < takinbo> yes especially if you just deposited it to your jm wallet 15:48 < k1tsun3> ah alright 15:49 < k1tsun3> also, are the coins supposed to be "watch only" in the bitcoin core window? 15:49 < k1tsun3> i assume that theyre " 15:49 < takinbo> yes 15:49 < k1tsun3> thanks takinbo & waxwing 15:49 < takinbo> the private keys are only managed by joinmarket 15:49 < waxwing> sorry i believe i have failed to add this link to the usage guide: https://github.com/JoinMarket-Org/joinmarket/wiki/Sourcing-commitments-for-joins 15:50 < waxwing> it got lost in the rewrite i think, will fix soon 15:54 < k1tsun3> Can i do a coinjoin from one mixdepth to another? 15:54 < k1tsun3> like from an address in mixdepth 0 to 1 15:54 < takinbo> yes. the tumbler is built specifically for that 15:55 < takinbo> but nothing stops you from doing that manually 15:57 < k1tsun3> also, i tried running a coinjoin again and it says that the uxtos aren't less than 5 confirms old 15:57 < k1tsun3> like under that option is says "None: 15:57 < k1tsun3> "None"* 16:11 < qubenix> k1tsun3: yes, you can connect to clearnet through tor. 16:13 < takinbo> k1tsun3: you mean utxos are NOT more than 5 confirmations old? 16:13 < k1tsun3> no, i mean that the program is saying my utxo's are more than 5 confirms old 16:16 < takinbo> do you have a custom value for the `listunspent_args` parameter in your configuration file? 16:17 < kristapsk> I somestimes do CJs between 0.001 and 0.01 BTC, most often without big problems 16:18 < kristapsk> going below 0.001 - I usually try to avoid on-chain transactions for such small amounts at all 16:18 < k1tsun3> takinbo: nope everything is default 16:20 < takinbo> i've not encountered that before, could you share the exact error message? 16:24 < k1tsun3> wait nevermind, for some reason before it wasn't printing my coins under #2 but now it is, i need to wait for confirmations 16:25 < takinbo> ok 17:47 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.6] 18:42 -!- CgRelayBot [~CgRelayBo@p5DE4A35A.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 18:43 -!- AgoraRelay [~jmrelayfn@p5DE4A35A.dip0.t-ipconnect.de] has quit [Ping timeout: 265 seconds] 18:45 -!- k1tsun3 [~kitsune@unaffiliated/k1tsun3] has quit [Quit: WeeChat 1.9.1] 18:54 -!- CgRelayBot [~CgRelayBo@p5DE4A53D.dip0.t-ipconnect.de] has joined #joinmarket 18:55 -!- AgoraRelay [~jmrelayfn@p5DE4A53D.dip0.t-ipconnect.de] has joined #joinmarket