--- Log opened Fri May 08 00:00:19 2020 00:03 < tlo1337> does that seem correct? 00:22 -!- EvanitoC [~Evanito@cpe-76-87-174-228.socal.res.rr.com] has quit [Ping timeout: 256 seconds] 00:23 < DSRelBot> [DS/AlexCato] tlo1337: it's really just the normal SSH with an additional command parameter. How are you connecting to SSH right now, which command are you using? It's literally the same internal SSH mechanism 00:34 < tlo1337> okay then yes i just added the additional command parameter 00:40 -!- jonatack [~jon@2a01:e0a:53c:a200:bb54:3be5:c3d0:9ce5] has joined #joinmarket 00:41 < tlo1337> so does the above look correct? because if so im assuming i need to change something in the bitcoin.conf wrt rpcbind? not sure because when i try and run YG again i get a Traceback 00:51 < DSRelBot> [DS/AlexCato] if you get the SSH command running, you dont need to change anything regarding rpcbind; then you just need to have the correct username/password for the bitcoin node in the joinmarket config 00:52 < DSRelBot> [DS/AlexCato] if you want to get rpcbind thing running, then you can ignore the SSH command. It's 2 different ways to achieve the same thing: get joinmarket to talk successfully to your bitcoin core node 00:52 < DSRelBot> [DS/AlexCato] need to do only one of the choices 00:54 -!- ghost43 [~daer@gateway/tor-sasl/daer] has quit [Remote host closed the connection] 00:54 -!- ghost43 [~daer@gateway/tor-sasl/daer] has joined #joinmarket 01:01 -!- sosthene [~sosthene@gateway/tor-sasl/sosthene] has quit [Remote host closed the connection] 01:03 -!- Evanito [~Evanito@cpe-76-87-174-228.socal.res.rr.com] has joined #joinmarket 01:06 -!- sosthene [~sosthene@gateway/tor-sasl/sosthene] has joined #joinmarket 01:09 -!- qubenix [~qubenix@66.172.11.228] has quit [Quit: quit] 01:10 -!- qubenix [~qubenix@66.172.11.228] has joined #joinmarket 01:28 -!- takamatsu [~takamatsu@unaffiliated/takamatsu] has joined #joinmarket 01:44 < tlo1337> got it 01:46 < tlo1337> im trying to figure out though if i got the SSH command running correctly though because i get a Traceback when i try and run YG again 01:46 < tlo1337> shows this: Traceback (most recent call last): 01:46 < tlo1337> File "yg-privacyenhanced.py", line 92, in 01:46 < tlo1337> ygmain(YieldGeneratorPrivacyEnhanced, txfee=txfee, cjfee_a=cjfee_a, 01:46 < tlo1337> File "/home/tlo1337/Downloads/joinmarket-clientserver-0.6.2/jmclient/jmclient/yieldgenerator.py", line 250, in ygmain 01:46 < tlo1337> wallet_service.sync_wallet(fast=not options.recoversync) 01:46 < tlo1337> File "/home/tlo1337/Downloads/joinmarket-clientserver-0.6.2/jmclient/jmclient/wallet_service.py", line 380, in sync_wallet 01:46 < tlo1337> self.sync_wallet_fast() 01:46 < tlo1337> File "/home/tlo1337/Downloads/joinmarket-clientserver-0.6.2/jmclient/jmclient/wallet_service.py", line 407, in sync_wallet_fast 01:46 < tlo1337> self.sync_addresses_fast() 01:46 < tlo1337> File "/home/tlo1337/Downloads/joinmarket-clientserver-0.6.2/jmclient/jmclient/wallet_service.py", line 445, in sync_addresses_fast 01:46 < tlo1337> self.get_address_usages() 01:46 < tlo1337> File "/home/tlo1337/Downloads/joinmarket-clientserver-0.6.2/jmclient/jmclient/wallet_service.py", line 423, in get_address_usages 01:46 < tlo1337> agd = self.bci.rpc('listaddressgroupings', []) 01:46 < tlo1337> File "/home/tlo1337/Downloads/joinmarket-clientserver-0.6.2/jmclient/jmclient/blockchaininterface.py", line 190, in rpc 01:46 < tlo1337> res = self.jsonRpc.call(method, args) 01:46 < tlo1337> File "/home/tlo1337/Downloads/joinmarket-clientserver-0.6.2/jmclient/jmclient/jsonrpc.py", line 157, in call 01:46 < tlo1337> raise JsonRpcError(response["error"]) 01:46 < tlo1337> jmclient.jsonrpc.JsonRpcError: {'code': -19, 'message': 'Wallet file not specified (must request wallet RPC through /wallet/ uri-path).'} 01:47 < waxwing> tlo1337, please don't spam large error messages here 01:49 < waxwing> it looks like you need to specify `rpc_wallet_file` in `joinmarket.cfg` 01:50 < waxwing> i was disconnected, to repeat: 01:50 < waxwing> tlo1337, please don't spam large error messages here 01:50 < waxwing> it looks like you need to specify `rpc_wallet_file` in `joinmarket.cfg` 01:50 < waxwing> as mentioned here: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/2d7b0a0b2eb36f33630a7fe9e70166173134d339/docs/USAGE.md#configuring-for-bitcoin-core 01:51 < waxwing> (btw we should more emphasize this: i think it should be default for *all* users to specify rpc wallet file) 02:04 -!- sosthene [~sosthene@gateway/tor-sasl/sosthene] has quit [Ping timeout: 240 seconds] 02:06 -!- sosthene [~sosthene@gateway/tor-sasl/sosthene] has joined #joinmarket 02:07 < kristapsk> waxwing, you weren't disconnected from my perspective, just wrote same messages twice :) 02:13 < tlo1337> waxwing right sorry should've used pastebin 02:14 < tlo1337> okay makes sense, so would that be what my wallet file for jm is called? 02:18 -!- Evanito [~Evanito@cpe-76-87-174-228.socal.res.rr.com] has quit [Read error: Connection reset by peer] 02:18 -!- asymptotically [~asymptoti@gateway/tor-sasl/asymptotically] has joined #joinmarket 02:18 < tlo1337> for some reason it was blank! smh 02:30 < belcher_> tlo1337: by default the wallet file is called wallet.dat, but you can have other names or multiple wallets at once, check inside bitcoin.conf if that has been configured it looks like `wallet=walletname` 02:39 < tlo1337> i know what my wallet file is called and it ends in .jmdat, but my bitcoin.conf doesn't have anything configured with 'wallet=...' 03:31 < belcher> the file that ends in .jmdat is the joinmarket wallet file, in that config file you need to put the bitcoin core wallet file... its a big confusing that there are two 03:32 < belcher> it looks like you just have one core wallet file, if so then it should work to just leave rpc_wallet_file blank 03:38 < waxwing> belcher, why do you say that? the end of his stack trace was: jmclient.jsonrpc.JsonRpcError: {'code': -19, 'message': 'Wallet file not specified (must request wallet RPC through /wallet/ uri-path).'} 03:38 < belcher> ah you're right, i missed that 03:39 < belcher> i just remembered, theres an rpc call `listwallets`, so you use that to find which core wallet you need to write 04:05 < waxwing> i'm not sure where apart from here to communicate this, but i think it may be somewhat important: 04:05 < waxwing> pre 0.6.0 (so pre-Nov 2019), Joinmarket's wallet was not so-to-speak "reactive"; updates to bots' utxos was done "manually", i.e. in response to certain events 04:06 < waxwing> that means specifically that makers updated their utxo set in callback functions triggered by txs arriving on network or being mined into a block 04:06 < waxwing> but we had timeouts specified so that if the confirmation took many hours, those callbacks didn't get called. 04:07 < waxwing> as a result it was possible for maker bots utxos to end up out of sync (at least, this is my current reading) 04:07 < waxwing> the update in 0.6.0 (https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/release-notes/release-notes-0.6.0.md#wallet-refactoring-for-proper-reactive-behaviour) 04:07 < waxwing> ... changed this; even if the confirmation callback never triggered the utxos will be updated anyway. 04:08 < waxwing> anyway, my reason for saying all that is that we're in a high(ish) fee regime right now and i suspect the timeouts are getting hit, so i'm concerned there are yield generator runners who haven't updated their Joinmarket code. 04:08 < waxwing> and are therefore offering stale utxos. 04:09 < waxwing> (a note: it's not just the *new* utxos that count, it's the old ones: if you hit the timeout, i think the old utxos are still perceived as valid by these pre-0.6.0 bots) 04:21 < waxwing> hmm, on second thoughts, i did a careful read of the old code, and i don't think the above can be the full story. remove_old_utxos was always called in the unconfirm callback. 04:21 < waxwing> i'll investigate a bit more. 04:27 < waxwing> ok i think i have it right now. consider the code as of 0.5.5 (Nov 2019). First, the utxos that a maker uses in a new coinjoin tx are selected in `YieldGenerator.oid_to_order` here: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/b19348d3752b90bd19dda3e3ad69e6a204ddb0c1/jmclient/jmclient/yieldgenerator.py#L116 04:28 < waxwing> note that there is no `minconfs` argument there, as there is in the current code (the old code didn't store confirmations on utxos in the wallet itself) 04:28 < waxwing> and you can see the wallet selection just uses the utxos in the wallet as-is, here: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/b19348d3752b90bd19dda3e3ad69e6a204ddb0c1/jmclient/jmclient/wallet.py#L241 04:29 < waxwing> now, when an unconfirmed transaction appears to the maker, it calls this function, which removes the old utxos correctly - but then it does a wallet sync. 04:29 < waxwing> https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/b19348d3752b90bd19dda3e3ad69e6a204ddb0c1/jmclient/jmclient/client_protocol.py#L278-L300 04:30 < waxwing> and what i think is the key point - that wallet sync will respect `listunspent_args` as defined in the config file, which iirc was actually defaulted to [0] so as to avoid people missing coins in wallet-tool listings. 04:31 < waxwing> oh but .. hmm maybe i'm still wrong then. that still wouldn't show a utxo which was spent in a tx in the mempool. 04:43 -!- ghost43 [~daer@gateway/tor-sasl/daer] has quit [Remote host closed the connection] 04:44 -!- ghost43 [~daer@gateway/tor-sasl/daer] has joined #joinmarket 05:15 -!- tlo1338 [~tlo1337@142.183.170.75] has joined #joinmarket 05:15 -!- tlo1337 [~tlo1337@142.183.170.75] has quit [Remote host closed the connection] 05:17 -!- kristapsk [~KK@gateway/tor-sasl/kristapsk] has quit [Ping timeout: 240 seconds] 05:18 -!- GAit [~GAit@unaffiliated/gait] has quit [Ping timeout: 256 seconds] 05:18 -!- GAit [~GAit@unaffiliated/gait] has joined #joinmarket 05:32 -!- ghost43 [~daer@gateway/tor-sasl/daer] has quit [Remote host closed the connection] 05:32 -!- ghost43 [~daer@gateway/tor-sasl/daer] has joined #joinmarket 05:45 -!- kristapsk [~KK@gateway/tor-sasl/kristapsk] has joined #joinmarket 06:12 < waxwing> so on reflection again ... just overthinking it a bit too much. my reading is: the logic of what we had pre-0.6.0 was fine in as far as it went: even with confirmations timing out, you wouldn't actually end up mis-offering a utxo that's already used; it's just that, without wallet sync call in confirm_callback, any further change to the wallet would not be recognized. 06:13 < waxwing> so a plausible explanation *can* be that utxos get used in txs outside the yg bot (such as independent spends), although that is notionally protected with a lock. of course literally anything is possible if people don't use our code as-written and as-intended. 06:14 < waxwing> the 0.6.0 change just makes it better so that even in unexpected situations the utxos in the wallet should stay within reason, up to date. 06:15 < waxwing> all the same i will be making one PR later to fix a slightly suboptimal behaviour in tumbler wrt conflicted spends. 06:44 -!- MaxSan [~four@46.183.220.203] has joined #joinmarket 07:25 -!- BlueMatt [~BlueMatt@unaffiliated/bluematt] has quit [Ping timeout: 256 seconds] 07:25 -!- BlueMatt_ [~BlueMatt@ircb.bluematt.me] has joined #joinmarket 07:38 -!- Evanito [~Evanito@cpe-76-87-174-228.socal.res.rr.com] has joined #joinmarket 07:59 < waxwing> been going through a bunch of PRs. About #567 maybe other people could take a quick look. i think what is in that PR specifically is fine (and a nice addition, too). 07:59 < waxwing> will spend some hours on 544 now. 08:03 -!- Evanito [~Evanito@cpe-76-87-174-228.socal.res.rr.com] has quit [Read error: Connection reset by peer] 08:07 -!- Evanito [~Evanito@cpe-76-87-174-228.socal.res.rr.com] has joined #joinmarket 09:23 -!- viasil [~nobody@134.19.189.124] has quit [Ping timeout: 260 seconds] 09:30 -!- viasil [~nobody@134.19.189.124] has joined #joinmarket 09:57 < kristapsk> is there a way in Python to do division between two Decimal objects, without involving floating point bullshit 09:57 < kristapsk> I don't want 1 / 1e8 become Decimal('1.0000000000000000209225608301284726753266340892878361046314239501953125E-8') 09:58 < kristapsk> I meant 100000000 / 1e8, of course 09:59 < kristapsk> ahh, no, not really 09:59 < kristapsk> basically I'm writing btc.amount tests 10:04 < kristapsk> ok, sorry, solved it, I had specified floats instead of Decimals in test cases itself 11:54 -!- ponkaloupe_ [~ponkaloup@c-73-97-138-50.hsd1.wa.comcast.net] has joined #joinmarket 11:54 -!- ponkaloupe [~ponkaloup@c-73-97-138-50.hsd1.wa.comcast.net] has quit [Ping timeout: 260 seconds] 12:30 -!- BlueMatt_ is now known as BlueMatt 12:30 -!- BlueMatt is now known as Guest41060 12:31 -!- Guest41060 [~BlueMatt@ircb.bluematt.me] has quit [Changing host] 12:31 -!- Guest41060 [~BlueMatt@unaffiliated/bluematt] has joined #joinmarket 13:45 -!- yumbox [~yumbox@unaffiliated/yumbox] has joined #joinmarket 13:46 < yumbox> hi, how much money do I need to use joinmarket? 13:47 -!- Guest41060 is now known as BlueMatt 14:12 < DSRelBot> [DS/AlexCato] depends on your role. As taker, probably >0.001 btc for sendpayment (=single coinjoin), >0.01 btc for tumbler (= multiple, chained coinjoins). As maker (= liquidity provider) it might make sense to have >0.1 btc at least (though less will work), otherwise there's not many coinjoins which you can participate in 14:29 < yumbox> what's taker/maker? 14:29 -!- technonerd [~techno@gateway/tor-sasl/technonerd] has quit [Remote host closed the connection] 14:32 < DSRelBot> [DS/AlexCato] taker: entity that wants to anonymize their funds, initiating coinjoins. Maker: entity that offers their coins for coinjoins for a small fee. Usage guide: https://github.com/JoinMarket-Org/joinmarket-clientserver/blob/master/docs/USAGE.md 14:47 < yumbox> okay, thanks. 14:47 < yumbox> so 1 mBTC for taker? 15:01 < DSRelBot> [DS/AlexCato] yup, that will work for single coinjoins 15:14 < waxwing> not a good idea in current fee environment to do 100k sat coinjoins. unless you don't care that it pays a very big fee (or wait absolutely ages, and still pay a pretty high fee) 15:15 < yumbox> 100k sat? 15:15 < waxwing> 1 mbtc 15:17 < yumbox> oh, 100,000 satoshi? 15:18 < yumbox> then what's a good minimum coinjoin value? 15:19 < belcher> it depends what you're trying to achieve 15:20 < belcher> you can coinjoin any amount, limited by what the market supports and miner fees 15:21 < yumbox> I want to coinjoin some small amount of money without paying a large fee 15:22 < belcher> then just coinjoin that amount, and perhaps set txfee to be 1sat/vbyte to be cheap (it will likely take a long time to confirm though) 15:22 < belcher> but it might be best to wait, as the demand for block space seems to be very high right now 15:22 < yumbox> is a day delay long? 15:22 < belcher> hopefully this weekend should see a drop 15:23 < belcher> the delay in confirmation depends on the future demand for block space, which nobody knows.. so we cant tell you for sure if it will be a day or however long 15:23 < yumbox> let's say I want to do a coinjoin on 10 mBTC and I want a fee <5%. what's the delay? 15:23 < belcher> i dont know im afraid 15:24 < yumbox> roughly 15:24 < yumbox> minutes, hours, days, weeks? 15:25 < belcher> id guess a few days, up to maybe one week 15:25 < belcher> on the other hand, the weekend is coming when demand is lower, so maybe we'll see mempools entirely clear 15:58 -!- asymptotically [~asymptoti@gateway/tor-sasl/asymptotically] has quit [Quit: Leaving] 16:05 < yumbox> will joinmarket ever be usable for normal people? 16:09 < belcher> hopefully yes 16:26 < yumbox> so it's in the planning to make it easy to use? 16:33 < tlo1338> everyone is planning to make bitcoin easier, but i think there needs to be the proper incentive and demand for devs to make more it more user-friendly for anyone to use. im starting to notice the demand increase, but im not noticing the incentive for devs 16:38 < yumbox> what do you mean with incentive for devs? 16:39 < belcher> well we do have a lack of manpower 16:40 < belcher> theres problems in joinmarket that we've known about for years and still havent fixed 16:40 < belcher> you cant do everything at once, but progress does happen 16:53 < yumbox> okay, thanks. 17:02 -!- yumbox [~yumbox@unaffiliated/yumbox] has quit [Quit: Konversation terminated!] 17:31 -!- ghost43 [~daer@gateway/tor-sasl/daer] has quit [Ping timeout: 240 seconds] 17:31 -!- ghost43_ [~daer@gateway/tor-sasl/daer] has joined #joinmarket 17:36 -!- DSRelBot [~DSRelBot@p5DE4A431.dip0.t-ipconnect.de] has quit [Ping timeout: 264 seconds] 17:38 -!- HackRelay [~jmrelayha@p5DE4A431.dip0.t-ipconnect.de] has quit [Ping timeout: 272 seconds] 17:50 -!- HackRelay [~jmrelayha@p5DE4AFD2.dip0.t-ipconnect.de] has joined #joinmarket 17:51 -!- DSRelBot [~DSRelBot@p5DE4AFD2.dip0.t-ipconnect.de] has joined #joinmarket 18:08 -!- jon-r [~jon-r@167.160.174.114] has quit [Quit: Lost terminal] 18:08 -!- jon-r_ [~jon-r@167.160.174.114] has quit [Quit: Lost terminal] 19:34 -!- openoms [~quassel@195.140.215.182] has quit [Ping timeout: 240 seconds] 19:36 -!- viasil [~nobody@134.19.189.124] has quit [Ping timeout: 256 seconds] 19:37 -!- viasil [~nobody@134.19.189.124] has joined #joinmarket 19:37 -!- openoms [~quassel@195.140.215.182] has joined #joinmarket 19:46 -!- openoms [~quassel@195.140.215.182] has quit [Ping timeout: 272 seconds] 19:48 -!- openoms [~quassel@195.140.215.182] has joined #joinmarket 20:26 -!- openoms [~quassel@195.140.215.182] has quit [Ping timeout: 246 seconds] 20:28 -!- openoms [~quassel@195.140.215.182] has joined #joinmarket 23:06 -!- ghost43_ [~daer@gateway/tor-sasl/daer] has quit [Remote host closed the connection] 23:06 -!- ghost43 [~daer@gateway/tor-sasl/daer] has joined #joinmarket 23:46 -!- asoltys [~root@s207-81-214-2.bc.hsia.telus.net] has quit [Quit: Lost terminal] --- Log closed Sat May 09 00:00:16 2020