03:04:55 !balance 03:05:10 balance 03:05:27 balance! 03:05:39 god dammit how you used to do it? 03:07:53 Mr_Doge, it ded 03:11:46 wtf 03:11:47 why 03:11:57 a lot has changed since 2017 03:12:02 jwinterm, 03:12:28 Mr_Doge: balances are safe and will be available someday 03:13:04 Mr_Doge, I dunno 03:13:10 tippero is ded tho 03:13:15 press F to pay respects 03:13:16 F 03:13:17 tippero did not keep up with the protocol changes 03:13:28 .seen tippero 04:02:16 in what situation would I need to use "store" RPC command? https://www.getmonero.org/resources/developer-guides/wallet-rpc.html#store 04:11:36 lza_menace: Considering that generate_from_keys does automatically save the wallet, my guess is for hot/cold wallet management. 04:13:20 The wallet saves data on the chain state, and cold wallets take in a variety of information about transaction outputs. My guess is one of those doesn't automatically save, instead only operating in memory. 04:13:25 That said, I will say I'm not sure. 04:17:55 thanks 04:43:15 is there a "right" way to scale wallets for many users for a web app? subaddress per user? access per user? payment id per user? 04:44:41 s/access/account/ 04:45:11 each have his own encrypted wallet that is decrypted client side 04:45:24 so server never gets direct access 04:46:16 not necessarily for a web wallet 04:46:36 but i guess person with server access could always just change the client code and log passphrases anyway lol 04:46:57 yes for web wallet. 04:47:19 the server can store the encrypted wallet but wouldnt have passphrase 04:47:38 that's not my questino though 04:48:58 lza_menace: Subaddress per user if you're being a custodian (payment processing/exchange) 04:49:50 i don't seem to be having good success doing subaddress based 04:50:05 apps that have been account per register/user ahve worked flawlessly 04:50:14 now im trying subaddress based but it's buggy/weird 04:50:16 Standard addresses require scanning for unique key pairs. Payment IDs are dated and no longer recommended (wallet software also won't generate them unless explicitly told to). Subaddresses allow rewriting the check to see if a transaction's output key 'belongs' to you by rewriting it to P - X and then doing a hash table lookup 04:50:37 Poor explanation, sorry. My comment is they're unique per user, identifiable, and extremely quick. 04:50:46 What's the problem? 04:51:41 You likely want to write your own indexing code. Subaddress indexes of x/y, where you should skip x == 0. You can do x per user and y per requested addresses. 04:52:11 But without knowing more about your use case/problems, I'll really just throwing out words and random specs :P 04:55:01 im testing a new web app using subaddress per user registration - I'm using a single wallet-rpc process and using "create_address" on registration and storing the subaddress index in the DB alongside user details 04:55:34 from an external wallet/account I'm sending funds to test to subaddresses A and B 04:56:08 Sounds correct so far 04:56:28 balances and transfers all seem to work fine. the RPC has good mechanisms to ensure my balance check and transfer use only the right subaddress index - seems good so far 04:56:44 (as long as you have each user under an account; you don't have to, but I'd recommend it. 0/0 doesn't return a subaddress. It's an exempted index) 04:56:46 but the issue is that eventually the funds "go missing" from a subaddress 04:57:00 As in, they're no longer reported when you call get_transfers? 04:57:06 they're still in the wallet, but in the primary account 04:57:37 My guess is that's change 04:57:56 Wait, nope 04:58:03 You didn't spend the incoming deposits, right? 04:58:15 And incoming_transfers or get_transfers? 04:58:39 also, there have been a couple 0 balance transfers 04:58:54 get_transfers 04:59:17 If you use curl, does incoming_transfers (which requires specifying the index) report it correctly? 04:59:24 Just trying to debug that aspect 04:59:36 is it possible to corrupt things by opening "wallet-cli" in conjunction with "wallet-rpc"? 04:59:48 RPC is running and I'm poking around in CLI (read only though) 05:00:38 My other Q is when you use get_transfers, you say it's in the primary. If you're checking by .address, what's the .subaddr_index report? 05:01:01 I don't think it would, but it does sound questionable. 05:03:50 you know what... 05:07:34 if a subaddress sends funds to another subaddress of the same account it seems to not "report" things accurately 05:09:46 subaddress A sent funds to subaddress B 05:10:07 I see it in the "out" list of get_transfers 05:10:13 but I don't see it in the "in" list 05:11:22 it's also reported as "amount": 0 05:11:27 in the out list 05:12:05 hmm 05:12:27 maybe I have a wire crossed somwhere 05:12:37 will check later - thanks a ton kayabaNerve 05:25:54 Good luck lza_menace. Sorry I couldn't help more. 07:45:38 damn, the monero space video with sarang is NICE - check it out https://www.youtube.com/watch?v=w5rtd3md11g 07:45:38 i wonder, if i have 3 tainted outputs (outputs i know would be considered illegal in a jurisdiction) could one not simply churn them, i.e. do one merge of all these outputs, send them around a bunch afterwards (only as a single output) and increase privacy that way? 07:55:26 can't watch at work but what's with the 'monero tracing tool'? 07:55:55 tumbling monero when? 07:57:21 he doesnt give a whole lot of details, which makes it hard to assess. also, i am not the expert on this. 11:29:14 "Block notifications are good for immediate reaction. However, you should always assume you will miss some block notifications and you should independently poll the API to cover this up." 11:29:31 why should i assume i'll miss some block notifications? (--block-notify) 11:36:07 and does this mean we also cannot rely upon the rpc's --tx-notify? 12:57:26 azy, i guess it means that receiving software (which would react to those events) could be unavailable at some particular point (e.g.: stopped, crashed), so to cover all uncatched blocks in-between it's advicable to fetch those using API 14:55:22 https://meduza.io/en/feature/2020/09/01/russian-hackers-leak-personal-data-of-nearly-every-voter-in-michigan-plus-a-million-more-voters-in-four-other-states 14:55:26 And so it begins 14:58:10 haha 14:58:34 bigslim[m]: probably best to link a reputable website :) 14:59:24 Russian site? 15:00:07 bigslim[m]: https://twitter.com/DAlperovitch/status/1300797478921547776 15:00:34 #monero-community 16:44:23 Coding problem: let's say there are 3 outputs: A,B,C. You look at a transaction to determine whether each of outputs A,B,C appear in 3 distinct rings in a tx. Therefore if a tx has 3 input rings, and if we locate matches in each of the rings as [A][B][C], the result is TRUE (i.e. A was found in the first ring, B was found in the second ring, and C was found in the third ring). But if the matches located in 16:44:25 the rings are [A,B][C][A,C], the result is FALSE, because it's not possible that all of A,B,C could have been spent together in that tx. What's an efficient algorithm to determine if each of A,B,C appear in different rings in a tx? 16:52:06 therefore the goal is to get true/false depending on whether all outputs could have been spent together in a particular tx 16:58:55 are outputs appearing multiple times in ring members in a same transaction really that common? 17:01:19 artefact it's not common, but i'm looking to ensure the code is right in the rare cases 17:02:11 so if i'm looking to work out if three outputs are ever spent together, i don't want to get a false result because one ring contains two of them and the other ring contains the third 17:02:33 artefact has a good point. It means you can, eg: c=0; for r in rings: for o in r: if o in [A, B, C] ++c; if c<3 return false; 17:02:53 Then brute force shit algorithm for the rest, which will be run very seldom so you don't care how slow it is. 17:06:01 moneromooo fair enough, i can brute force the rest. i'm wondering what the best way to brute force is in that case 17:06:54 i could somehow generate all permutations of the matches and then check for A in the first, B in the second, and C in the third 17:08:56 i guess that is easiest. seems like i'm missing a trick though. 17:09:04 I *think* it means the number of rings with at least one member of ABC is >= 3, and all members of ABC are seen. 17:10:21 Nope, I got a counter example :/ 17:10:26 haha 17:10:50 it's the kind of problem that seems like it should be really simple, yet isn't 19:52:59 I am syncing a pruned chain for the first time, at the 77% mark regular syncing messages stopped and now getting just "get_pruned_transaction_weight does not support older range proof types" ...is that normal? 19:58:33 Thominus: Are you sure the sync actually stopped? 19:58:39 You can check with the status command 19:59:22 Thominus: which version are you using? 19:59:32 It's fixed in recent code. 19:59:37 how come monero has so large binary size? 19:59:39 like few hundred megs 19:59:48 Debug symbols ? 20:00:07 Shitloads of C++ gunk :) 20:00:30 yanmaani: cli + daemon is ~50MB, that’s what most people need 20:00:37 So if you compile with -Os and strip heavily, it's smaller? 20:00:52 dEBRUYNE: not sure it just stopped showing progress on the "Synced" message, cpu useage dropped to nothing, data rate on my net meter also dropped , its repeating the get_pruned_transaction_weight error message only - maybe its just stopped 20:01:52 ^^ maybe it just stopped to prune the unused portion and its going through the records getting that? 20:02:06 Can you type status? 20:02:08 That should give an overview 20:02:09 My monerod is 15 MB. You might have built static too. 20:02:13 Then wait a few minutes, type status again 20:02:17 Then you can see whether it is stuck 20:02:32 dEBRUYNE: Status: Height: 1685555/2177393 (77.4%) on mainnet, not mining, net hash 513.30 MH/s, v8, 8(out)+0(in) connections, uptime 0d 2h 59m 35s 20:02:47 which version are you using? :) it’s fixed in current master 20:02:51 but not sure when it got broken 20:03:19 monero-x86_64-linux-gnu-v0.16.0.3 20:03:27 which flags are you using? 20:03:35 how did you start the daemon? 20:06:42 started it from the shell (bash) like ./monerod --config-file=myconfigfile, the config file has paths for data-dir, log-dir, and prune-blockchain sync-pruned-blocks=1 (I thought it might be faster) and fast-block-sinc=1 (which I found out is the default anyway) 20:08:08 AFAIK sync-pruned-blocks is currently broken and only fixed in next release (or you compile the newest version yourself) 20:08:14 but moneromooo might know 20:09:40 In that case I can just compile from github if needed - but will my sync fail? - would be nice if I didn't have to redo it. 20:10:11 https://github.com/monero-project/monero/pull/6753 20:10:13 this is the PR 20:10:20 By "currently broken" you actually mean that, or you mean "it was broken until a week ago or so" ? 20:10:27 yes 20:10:32 Ah. My mistake. 20:10:35 current as in latest release 20:10:36 Which of these do you mean ? 20:10:38 OK. 20:11:04 does monero in remote node mode support blockchain reorgs? 20:11:42 Thominus: you can remove sync-pruned-blocks or compile from Github, note that current git master wallets are not compatible with v0.16.0.3, so if you downgrade you have to rebuild your wallet cache 20:11:59 I would recommend to remove sync-pruned-blocks 20:12:26 git master does not have updated checkpoints so sync will take ages. 20:16:06 thanks for the info selsta , so just to confirm before I interrupt it - is this sync toast? 20:16:24 I don’t think so. 20:16:38 You can test it by removing the option, if it continues to sync it should be fine. 20:17:06 I'll give that a shot then 20:17:21 It's not toast (or at least this partiular problem does not make it toast). 20:22:48 cool! - disabled sync-pruned-blocks and looks like its now resumed syncing normally - thanks very much!