--- Day changed Mon Apr 08 2019 00:24 < OtherMe> Is there a reason the "cjfee_r" number value has, single quotation marks / apostrophes, around it? 00:27 -!- M1 [~Michail@michail.com] has quit [Ping timeout: 245 seconds] 00:28 < OtherMe> If I type in a number like "0.0000089", it seems to change it to "0.000009" when the order gets posted. I see there is an order for "0.0000118", so somebody is getting seven digits after the decimal place to work . . . I'm wondering how . . . 00:30 -!- M1 [~Michail@michail.com] has joined #joinmarket 02:34 < waxwing> OtherMe, interesting about the rounding. perhaps someone else has a thought on that; i would mention (a) the commenting in yg-privacy... is helpful for deciding if/what to change, the yield-generator.py is not so much, and secondly, the algorithm is designed to make sure you don't end up with a negative fee by accident if you set a certain txfee contribution and have relative fees, i'm sure you can see that'd be possible 02:34 < waxwing> one solution for now is just to set the txfee contribution to zero, as it removes that complexifying factor. 02:34 < waxwing> or just use an absolute instead of relative fee offer, that's another option that makes it less confusing. 02:35 < waxwing> re: setting the txfee contrib to zero, note that Takers are just going to assess your offer based on what it costs to them overall, so to them it's no difference whether it's coming from txfee contrib or just directly from cjfee 02:36 < waxwing> (this is something that seemed to make more sense when JM was first set up, but it wasn't clearly thought out, there's some (minor) debate about the exactly correct way we should handle the interaction of cjfees and network tx fees) 02:47 < d3spwn> waxwing: was there much interest in JM during the workshops yesterday? 02:52 < waxwing> d3spwn, i don't think so, no, i only hung around first half of the day and ended up talking about gpg for a couple of hours, then i went with some people sightseeing :) 02:53 < waxwing> a few people chatted with me and chris about it though, last couple of days, not saying there's like zero interest. 02:54 < d3spwn> thats a shame 03:07 < OtherMe> I got a "privmsg" with "cmd=pubkey" . . . and then a whole bunch of random gibberish . . . and then the lines: 03:07 < OtherMe> "[INFO] Counterparty commitment not accepted, reason: verify_podle failed 03:07 < OtherMe> [INFO] Maker refuses to continue on receiving auth." 03:14 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] that's good. Getting this output means that your yield generator works as intended. In this specific case, the taker who initiaited the coinjoin did not fullfil all required preconditions for a join though and therefor was discarded. Nothing you can do as maker here, just wait for the next coinjoin 03:28 < side^effects> @waxwing: is there a way to consume an entire input with a single coinjoin (not tumble), similar to bitcoin core coin control? so there is no change at all? It's a bit tricky to work out what amount to use to consume entire input as fees vary 03:28 < side^effects> otherwise, is there a way to manually work with the jm wallet to just send the remaining change elsewhere? 03:29 < OtherMe> Thanks for the information on the counterparty commitment thang. ..thumbs up.. 03:31 < side^effects> (i would tick the donate button, but it is disabled?) 04:30 -!- belcher_ [~user@unaffiliated/belcher] has quit [Ping timeout: 245 seconds] 04:44 -!- belcher_ [~user@unaffiliated/belcher] has joined #joinmarket 05:22 < waxwing> side^effects, there's two things there 05:23 < waxwing> first "no change at all", we do have that, but not exactly as you describe: it's called "sweep" and it spends all the utxos in that account (mixdepth) 05:23 < side^effects> ah! like monero 05:23 < waxwing> second, on coin control, as of 0.5.4 we have that feature, but it's very basic 05:23 < waxwing> to achieve the situation of "spend exactly all of one utxo" you can do this: 05:24 < waxwing> go to Coins tab in GUI and freeze all the utxos except the one you want to spend, in that mixdepth 05:24 < waxwing> or, on command line unfortunately it's not optimal UI wise, but it's the same; do `python wallet-tool.py -m mixdepth walletname.jmdat freeze 05:24 < waxwing> and then select each of the utxos you want to freeze 05:25 < waxwing> so it's not made convenient yet to select exactly one utxo for spending, but it can be done 05:25 < side^effects> thanks a lot for the help 05:25 < waxwing> until like a month ago we had nothing at all. ideally, we'll want to auto-freeze "dust attack" style deposits to re-used addresses, but that isn't done yet. 05:25 < waxwing> np 05:27 < waxwing> oh to note, though, to spend all of one utxo you'd have to do *both* of the above; freeze all others in mixdepth *and* use the "sweep" option so the amount is chosen as whatever that utxo is, minus the fee 05:27 < side^effects> waxwing: just to confirm, is there a script for the sweep method? Or was you just describing the sweep method? 05:27 < waxwing> to choose sweep, set amount 0 05:28 < waxwing> it can be done either in a normal non-coinjoin spend (called 'direct spend' someplaces), to use that use -N 0, or in a coinjoin, all applies the same. 05:28 < waxwing> so on command line for example, to spend without coinjoin, all non-frozen coins in mixdepth 2 to addr 3Addr, you'd do `python sendpayment.py -N0 -m2 mywallet.jmdat 0 3Addr` 05:29 < waxwing> and in GUI basically the same except you do it in "Single Join" tab. huh, that's not intuitive, but all spending is done via that tab even if you choose N=0 (not coinjoin) 05:31 < side^effects> got it, thanks again. looking forward to learning more and run a yg soon. I like wasabi but prefer how JoinMarket works and I think it is more trustless solution 05:32 < side^effects> wasabi has a central server if i am not mistaken. it helps efficiency but is a two edged sword 05:32 < waxwing> sure, there are always pros and cons. and not like there's a rule you only have to use one :) 05:32 < side^effects> true 05:32 < waxwing> yes the server aspect has some significance, but it's very subtle. the server can't steal or de-anon, at least as designed. 05:33 < waxwing> it's good to avoid servers though, wherever possible so i'm with you there. 05:33 < side^effects> i saw a "privacy policy" and just felt uneasy lol 05:48 < waxwing> side^effects, i just tried it out in the gui as above (spending one utxo with no change), worked fine (just wanted to test it cos i hadn't even thought about doing it before). 05:49 < waxwing> huh, that's interesting, you could use this to do coinjoins (or even whole tumbles) with individual utxos if for some reason you preferred that, to doing it with all coins in an account. 05:50 < waxwing> bear in mind there is advice to deposit with multiple utxos in joinmarket when acting as taker because you're required to have utxos available as 3-time usage tokens to prevent DOS attacks. it's explained in a wiki page linked from the usage guide. 06:03 < side^effects> waxwing: thanks for verifying the method, so many possibilities for power users 06:04 < side^effects> I was reading the wikis, need to read more. 06:05 < side^effects> this is a bit "out-there" but wouldn't it be cool if wasabi could use jm makers somehow in a decentralised fashion, harness the wider joining ecosystem 06:06 < side^effects> but the co-ordination would be harder i know 06:07 < waxwing> side^effects, i think there may have been some vague talk about doing the kind of maker incentive system in wasabi, but afaik there isn't a plan to do that as of now. 06:09 < side^effects> yeah, one of the things which makes bitcoin great is how it goes with unix-philosophy in the sense applications can be built and speak to eachother using pipes/sockets/text/etc bitcoind, lnd, joinmarket, etc. wasabi only recently started using local bitcoind and tor daemon, it seems it may slowly become more unix-like in the implementation, but I don't think the devs are thinking that way 06:09 < side^effects> seems it's an all-in-one solution for out of the box deployment. 06:10 < waxwing> well to be fair our software kinda completely failed on that point at least on the "outgoing" side as we never even really considered creating an API for other software to talk to Joinmarket. 06:10 < rob4488_> hi guys, can I simply move the joinmarket-clientserver directory to /mnt/hdd or could that cause problems? 06:10 < waxwing> well, maybe we considered, but we didn't actually ever do it :) 06:10 < waxwing> rob4488_, sure you can put it anywhere, unless i missed something. 06:10 < side^effects> but hey, the more heteregenous the wider ecosystem, the better ;) 06:10 < rob4488_> I just worry about the sdcard on my rpi … 06:10 < side^effects> *heterogenous 06:11 < waxwing> rob4488_, you have bitcoin core running somewhere else i take it? 06:11 < rob4488_> no, /mnt/hdd/bitcoin 06:11 < rob4488_> the raspiblitz config 06:11 < rob4488_> just trying to cut down on writes to the sdcard 06:12 < waxwing> ok, i never actually used raspi so i'm not the one to ask, but JM itself has fairly tiny resource requirements 06:12 < side^effects> log files would be main concern maybe ... could symlink them elsewhere? 06:13 < waxwing> hmm yeah i guess. let me take a look at typical sizes. 06:14 < rob4488_> does it even write to a logfile? I didn't notice any 06:15 < waxwing> rob4488_, in logs/ subdirectory under scripts/ 06:16 < waxwing> i see very long running logs at < 1MB, but that's just one place i've run several ygs over the years, so i guess they are sometimes big but i guess far smaller than most things you run 06:16 < side^effects> rob4488_: you can symlink that entire logs directory to another device, it should work (logs are many small writes ... write wearing maybe depending on how cache is flushed/written) 06:17 < waxwing> the log can be useful only because it's always DEBUG level even if your terminal only keeps INFO level (configurable with console_log_level in joinmarket.cfg) 06:18 < waxwing> i think you're looking at 50MB ish in RAM for the GUI and running a yg i think it's like 30MB going from memory 06:19 < side^effects> rob4488_: something like this: ln -s /mnt/logdrive/logs /mnt/jmdrive/scripts/logs 06:22 < rob4488_> awesome man, thanks for your help! 06:23 < side^effects> np 06:23 < waxwing> has anyone actually installed JM on a raspi? does that work i wonder. 06:24 * side^effects wonders if it has enough RAM to make a little ramdrive for the logs, to be amnesic on reboot 06:25 < waxwing> rob4488_, are you saying you ran the install script on a differen tmachine and then copy it there? sorry i'm probably being very ignorant here, but isn't it ARM? 06:26 < rob4488_> @waxwing no, I'm running LN on a Raspiblitz and also installed JM there 06:27 < waxwing> ok cool, i was worried about compilation/intsall of libsecp and libsodium. i'm a bit out of the loop on this stuff, arubi is the guy who worked mostly on the installation parts. 06:28 < waxwing> but we use the coincurve binding for libsecp and that guy seemed to know what he was doing on that kind of stuff, so i guess it does work, just can't verify it myself. 06:34 < rob4488_> @side-effects wouldn't a symlink still have the file written at the original location though? 06:37 < side^effects> rob4488_: no, you make symlink to the logs folder -- the folder is the link. Any file written inside that folder will go to the other device where it links 06:37 < side^effects> it *appears* to the application and system just the same 06:37 < side^effects> so you would have to backup and delete the logs folder first, then make a link as the replacement 06:38 < side^effects> then move logs back into folder, or just shred them 06:38 < side^effects> shred is a command. use it instead of delete. 06:39 < side^effects> debug logs reveal tons of info, i would recommend full disk encryption on the logs drive. 06:40 < waxwing> yes it's a good point, these logs are best deleted after some time. utxo and address information in there. 06:41 < rob4488_> how would I turn off logging? 06:41 < waxwing> i think you would open a PR to turn off logging :) 06:41 < waxwing> jokes aside, we should have implemented that, but we haven't. 06:42 < waxwing> i guess you can just run a script to delete it if you want to hack around the omission. it shouldn't cause a problem. 06:43 < rob4488_> ok lol 06:44 < technonerd> A symlink points to the inode so it will read write from where the file is located 06:46 < side^effects> symlinks are a life saver 06:46 < rob4488_> ok guyse, I'm all set up and YG is running! I guess I can exit the terminal window after it showed "JM daemon setup complete" without a problem? 06:47 < waxwing> unfortunately no, you should use screen or tmux to avoid keeping a terminal. 06:48 < rob4488_> omg … that means when I'm traveling, I have to keep my *desktop* computer running, even tho jm runs on my rpi?! 06:49 < rob4488_> @technonerd that's what I guessed .. so the file would continue to be written to the sdcard, I could just also access it at the symlinked location… what I'd want is to move it to /mnt/hdd instead of having it on the sdcard 06:49 < side^effects> @rob4488_: no, after making logs folder symlink to a HDD for example, all files within that folder write to the HDD, even though the logs link is on the SD card 06:50 < side^effects> i do it with many daemons, for example my blockhains symlink to HDDs, my daemons and OS run on NVMe 06:50 < side^effects> wallets not on the same drive. 06:52 < side^effects> some logs i even symlink to /dev/null, works a treat. 06:52 < side^effects> (or just point it at /dev/null) 06:52 < waxwing> i might be ignorant here, but i thought it should work fine with e.g. screen from another machine, e.g. i sometimes ran ygs on my vps, it's still runnnig fine when i log out and re-connect over ssh later .. ? 06:54 < side^effects> that's how it should work yeah 06:55 < rob4488_> i did "sudo ln -s /home/admin/joinmarket-clientserver/scripts/logs /mnt/hdd/jm/logs" - should result in only /mnt/hdd/jm/logs being written, yeah? 06:55 < side^effects> wrong way round rob4488_ i think 06:55 < side^effects> you need the order the other way round 06:56 < rob4488_> oh, ok 06:56 < side^effects> sudo ln -s /hdd/logs /join/script/logs 06:57 < side^effects> ;) 06:58 < side^effects> and remember they will still appear in the location /home/admin/joinmarket... but writing to the physical device at /mnt/hdd/... 07:00 < side^effects> (so they appear in 2 places) 07:01 < rob4488_> I just tried that with sudo ln -s /mnt/hdd/electrum-personal-server/electrumpersonalserver.log /tmp/electrumpersonalserver.log to move it to the hdd, and it said " failed to create symbolic link '/tmp/electrumpersonalserver.log': File exists" … I feel so noobish rn 07:02 < side^effects> waxwing: if a tumble is aborted via GUI, does clicking "run schedule" afterwards restart it? 07:02 < side^effects> from where it left off? 07:02 -!- undeath [~undeath@hashcat/team/undeath] has joined #joinmarket 07:03 < waxwing> side^effects, there is a feature embedded for that 07:03 < side^effects> rob4488_: best way is to just move the log files out of the folder, then delete the folder, then make a fresh link as the folder, move logs back 07:03 < waxwing> on command line you use --restart with the same settings and it will continue 07:03 < side^effects> dont link the logs, just the folder. 07:03 < waxwing> if on GUI, if you load an existing TUMBLE.schedule, it should recognize the fact that the schedule is incomplete, then adjust and continue from where it left off 07:04 < side^effects> great, cheers 07:04 < waxwing> iirc it shows a dialog prompt saying 'this looks like an incomplete tumble run, continue?' 07:05 < side^effects> thanks again! 07:05 < waxwing> this note is for command line, but the same basic logic for GUI (I hope!) https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/tumblerguide.md#restarts 07:07 < side^effects> rob4488_: sorry i thought you was still referring to the jm logs folder 07:08 < side^effects> yeah you cannot link over a file, file must be moved or deleted first 07:09 < side^effects> but with jm logs directory, it works well as the logs are all contained within that directory, so just symlink that logs directy, all done. 07:14 < side^effects> rob4488_: mv -v /home/admin/joinmarket-clientserver/scripts/logs /tmp && sudo ln -s /mnt/hdd/jm/logs /home/admin/joinmarket-clientserver/scripts/logs && cp -arv /tmp/logs/* /mnt/hdd/jm/logs/ 07:14 < side^effects> something like that. 07:14 < side^effects> (one line) 07:15 < rob4488_> ok, I'll try that - thank you! I'm making progress step by step, didn't linux for years now ;) 07:16 < side^effects> np, good luck and persevere! 07:17 < rob4488_> hehe 07:37 < az> Hello, any body knows what is the different between coinshuffle and joinmarket except for the used cryptocoin? 08:01 < OtherMe> It looks like running JoinMarket as a yield generator" is splitting my utxo into more and more, smaller and smaller balance, utxos . . . is there a way to consolidate all these utxos that I have in this wallet to one, to send them all, in a consolidation transaction, to one of the "new" empty waiting address I have in the wallet? 08:03 < undeath> make sure to set merge_algorithm = greedy in your joinmarket.cfg 08:07 < OtherMe> Oh man! 08:07 < OtherMe> Dude. That seems like _exactly_ what me be concerned with! Awsomez. 08:07 < OtherMe> Thank ya. 08:09 < OtherMe> Thank you undeath and waxwing and all the folks been helpin' me. I have enjoyed working in this out-of-my-depth command line process . . . and I could not have done such a thrilling and rekless endeavor without y'all. 08:21 -!- jhk_ [~AbuseOfNo@89.238.150.43] has joined #joinmarket 08:22 -!- OtherOtherme [4f700ec6@gateway/web/freenode/ip.79.112.14.198] has joined #joinmarket 08:24 -!- AbuseOfNotation [~AbuseOfNo@89.238.150.43] has quit [Ping timeout: 246 seconds] 08:25 < waxwing> OtherMe, np 08:31 < az> what is the most simple way to run a join market server? 08:33 < waxwing> az, there's no server, but i think you mean running as a maker (ie offering coins to join). to do that you just install, fund a wallet and run the yield generator script. start at readme from first link in topic of this channel and follow links from there. 08:35 < az> waxwing, thanks, should I have BTC or I Can do it also BCH? 08:36 < waxwing> this software only works with bitcoin (btc) but i don't imagine it'd be hard for someone to try to set up it (or something similar) with a bitcoin fork. 08:37 < waxwing> (well not to trivialise; there are differences. i don't mean the code change would be zero.) 08:38 < az> waxwing, for bch they have cashsuffle https://www.youtube.com/watch?v=IJlAas387SE 08:38 < az> cashshuffle it's very easy 08:39 < az> actually you don't have to install anything, it's done automatically if you want. that is why I moved my wallet to bch 08:40 < undeath> it would seem moving to monero would be the natural move if you're concerned about privacy 08:40 < az> AFAIK to participate in joinmarket you have to get the full blockchain 08:40 < az> undeath, yes but BCH is more widely adopted 08:40 < undeath> xmr.to :) 08:41 < az> I think privacy should be every one concern. before banks and government had access to your data. with bitcoin it could be almost every body 08:45 < az> undeath, seems nice but the limit it doesn't seem to work for me 08:45 < az> and it tries to connect to twitter 08:48 < undeath> it's been ages since I last used it. and of course anonymizing your btc is a valid concern in itself :) 08:55 -!- emilr [~emilr@unaffiliated/goregrind] has quit [Quit: leaving] 09:03 -!- emilr [~emilr@unaffiliated/goregrind] has joined #joinmarket 09:38 < side^effects> what's stopping some long arm of the american "justice" system reaching over and poking wasabi central server and demanding logs? 09:52 -!- undeath [~undeath@hashcat/team/undeath] has quit [Quit: WeeChat 2.4] 09:57 < side^effects> (or just shutting it down) 10:37 < waxwing> side^effects, well, re: demanding logs, the server can't deanon the users; re: shut down, someone else could start a new server. 10:38 < waxwing> of course the former does depend on everything being set up right, and i won't claim that i know for sure that is there no privacy leak whatsoever. delinkage at network level is based on tor, at blockchain level based on cryptographic blinding 10:48 < side^effects> true 11:32 -!- OtherOtherme [4f700ec6@gateway/web/freenode/ip.79.112.14.198] has quit [Ping timeout: 256 seconds] 11:43 < waxwing> there are prob various issues you can come up with as concerns based on using servers, e.g. ability to control access; the server operator can sybil costlessly, that is, they can be all the other participants and therefore identify the one honest participant's coins. 11:43 < waxwing> so in the event of coercion, that's something that could possibly happen. best i think is if there are many chaumian coinjoin servers. 11:44 < waxwing> but then i suppose, it'd be a bit of a red flag if tons of people were trying to use it and got rejected :) still, something to consider. 13:05 -!- berndj-blackout [~berndj@azna.co.za] has joined #joinmarket 13:05 -!- berndj [~berndj@azna.co.za] has quit [Ping timeout: 246 seconds] 13:06 -!- berndj-blackout is now known as berndj 13:20 < OtherMe> What are these lines with "privmsg on . . ."? They seem to reference my maker ask/bid/offer, with some of the specifications, like my minimum and maximum amount and the "txfee" . . . and then a whole bunch of gibberish stuff I can not comprehend/read. 13:21 < OtherMe> They appear "from time to time", but seemingly not on a schedule, like a set time interval. 13:21 < OtherMe> Oh . . . and they seem to mention some "other" "nick" than my own. 13:22 < OtherMe> . . . like some "nickname" that the JoinMarket system uses to identify different participants. 13:22 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] thats the communication going back and forth between makers and takers. When a taker request available offers, your bot replies via a "privmsg" (private message) with your offers 13:22 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] in debug mode, that is shown to you. Just normal business 13:23 < OtherMe> Is there a way to see what numbers the taker was looking for? Like amounts and fees willing to pay? 13:23 < OtherMe> Thanks for the quick answer too! 13:24 < AgoraRelay> [agora-irc/CgRelayBot] [cgan/AlexCato] no, the taker just requests all available offers. It only tells the makers he chooses to make the coinjoin the exact amounts 13:24 < OtherMe> Okay. Cool, cool. 13:24 < OtherMe> . 13:32 < belcher_> waxwing: that tweet you linked is similar to a situation where the operator of kickasstorrents was found because he used his coinbase.com deposit address as a donation address 13:56 -!- kristapsk [~KK@gateway/tor-sasl/kristapsk] has joined #joinmarket 14:45 -!- devachan1 [~devachand@vmi179228.contaboserver.net] has quit [Remote host closed the connection] 14:47 -!- devachan1 [~devachand@vmi179228.contaboserver.net] has joined #joinmarket 17:32 -!- AgoraRelay [~jmrelayfn@p5DE4AB5C.dip0.t-ipconnect.de] has quit [Ping timeout: 245 seconds] 17:42 -!- AgoraRelay [~jmrelayfn@p5DE4AC80.dip0.t-ipconnect.de] has joined #joinmarket 19:13 -!- azizLIGHT [~azizLIGHT@unaffiliated/azizlight] has quit [Ping timeout: 246 seconds] 19:26 -!- azizLIGHT [~azizLIGHT@unaffiliated/azizlight] has joined #joinmarket 20:22 -!- Cory [Cory@unaffiliated/cory] has quit [Ping timeout: 268 seconds] 20:28 -!- Cory [Cory@unaffiliated/cory] has joined #joinmarket 23:36 < rob4488_> I still have to solve the problem on how to keep JM running while I'm on vacation. I don't want to have my desktop computer running for several weeks (which I'm accessing the RPI JM is running on from, using Putty). Is there a way to keep it running but close the terminal?