01:22:56 What is the preferred amount of lockable memory to dispel the warning? Is this some established value? 01:25:50 If the goal is to dispel the warning, as much as you can. I don't know the minimum expected amount needed. It depends on usage I think, since it's the number of crypto::secret_key (and possibly other things) in memory at once. 01:26:44 It takes a page per though, which is wasteful. It'd be nice to group many 32 byte keys onto a page. 01:27:19 Most of the time it's not possible, but some cases might, which will reduce the page locked load. 01:27:51 moneromooo: is there some reason not to simply make it unlimited? 01:27:59 The OS won't allow you. 01:28:06 (for good reason, it'd be a DoS vector) 01:28:48 I suppose I'm just looking for some indication as to what a rational level is. 128k, 2G, ... 01:29:18 For some reason the wallet refreshed once, but now throws std::bad_alloc. Blocks received: #### 01:30:13 Locked memory shortage should not cause this. If it does, it can be fixed. 01:34:47 I wonder why in the world the wallet just broke like this 01:36:55 What's the stack trace in the log ? 01:37:34 oh, heh, I sent the log to /dev/null. Let me see about that 01:40:52 oh heavenly, idk what it means 01:41:23 7f881d398a80 INFO logging contrib/epee/src/mlog.cpp:273 New log categories: *:WARNING,net:FATAL,net.http:FATAL,net.ssl:FATAL,net.p2p:FATAL,net.cn:FATAL,global:INFO,verify:FATAL,serialization:FATAL,daemon.rpc.payment:ERROR,stacktrace:INFO,logging:INFO,msgwriter:INFO 01:41:48 It just tells you what logs are active. Run with --log-level 0. 01:42:13 The wallet disabled logs (request for people who're scared of leaving private traces on the filesystem). 01:42:20 from 01:43:58 Error: refresh failed: no connection to daemon. Please make sure daemon is running.. 01:44:18 which is nonsense because ./monerod status shows that I am synced 01:45:07 and, the wallet just successfully refreshed 5m ago 01:50:57 moneromooo: closed the terminal and tried in a new terminal seemed to fix (maybe) 02:01:28 Is there a way to stop the cow from locking my wallet. I don't trust him. 02:03:43 set inactivity-timeout 0 02:03:56 Actual name may differ a bit, "set" will list it. 02:04:23 ah, sweet. I must have missed that feature release. Didn't know what to think when the cow showed up on the scene. Might be a mallicious hacker. 02:05:12 Out to milk you. Can't be too cowreful. 02:05:40 oh, that's a good one ^_^ punny 02:08:49 So, that issue resolved itself. Possibly can recreate by opening the wallet, allowing it to lock, and then closing the terminal without reentering password and properly closing the wallet. However, the fix was also close terminals, open a new one, and try again. 02:09:58 "Closing terminal" meaning... kill the terminal window ? 02:10:28 nvm, there's a save and swap files, can't be that. 02:11:04 Yup, I saw the cow and freaked out, closed the window. Then tried in another terminal (which may have been previously open) but kept getting std::bad_alloc 02:11:32 Then closed all windows and tried again. It refreshed again and I was able to close/reopen without issue. 02:17:06 I reckon it had something to do with the previous refresh not being 'completed' somehow when I closed the wallet how I did. Some bad data artifact somewhere. 03:42:26 When cow ascii on CLI release moo? 03:49:24 bigslim[m]: do you not have the cow in your cli? 03:58:18 15.0.5 release? 03:59:33 Should have it, I suspect. 04:00:54 Let me run the hidden command ``moo_moo_mooooooon`` 04:01:16 Nope. Not there. Invalid request 04:09:08 That's a real thing? 04:20:46 There are many commands not listed by -help 04:23:05 Is there a live MRL meeting tomorrow? I may join now that I’m WFH 04:33:18 bigslim[m]: Research meeting Wednesdays @ 17:00 UTC ( https://github.com/monero-project/meta/issues/454 ) 04:33:22 #monero-research-lab 10:51:42 ErCiccione[m]: Can you explain the reason for *another* migration of the Monero site repo, (now to Github)? When is the next migration planned, and how many more will be in the future? 10:51:42 Is there any information, preferably structured, which repo (and where) remains relevant and which can be ignored? 10:54:50 TheFuzzStone[m]: we tried out gitlab and found that github is better for development 10:55:02 TheFuzzStone: There is no other migration planned. The only change is the monero-site repo moving from gitlab to github. the repo on gitlab is used for mirroring. The CCS repositories are staying on gitlab. The discussion is in this issue: https://github.com/monero-project/meta/issues/236 10:55:08 something that we couldn’t know without testing first 10:55:26 the announcement is here: https://github.com/monero-project/monero-site/pull/929 10:55:41 ErCiccione[m]: 10:55:42 Thanks 10:56:27 no problem :) 12:06:49 selsta: What was the difference? 12:25:35 Hello everyone. How likely is it, that some entity has so many monero nodes all over the world, that they are actually connected to every existing nodes? Thus making it possible to identify the node broadcasting a transaction for the first time, basically linking an IP to a transaction? 12:28:35 Well, they would have to be a peer of the nodes too. 12:28:45 As in, not just connected, but the peer that the transaction is sent to. 12:28:49 Which I guess is all of them 12:29:05 Low, anyway. Either they're using the same server for all of them, and then it would be clear as day in the logs 12:29:43 or they wouldn't, and then they would have to pay obscene amounts of money 12:29:48 but some agencies could easily get, say, 5-10 vps from each country 12:30:06 and since a node seems to connect to (at least) 8 other peers, if they had like, 50% of the nodes, ithink they would have every peer existing 12:30:18 With Dandelion, a node cannot tell even if they're connected to every other node. 12:30:38 may you explain what is dandelion? 12:30:58 A system which protects against this :) I think we don't quite have it yet, there's still a PR left to merge. 12:31:08 aquestion: There's 200 countries in the world, so that's 1000-2000 servers. Is the Monero network that small? 12:31:25 thx for both of your answers btw 12:31:26 i mean 12:31:30 Basically it sends a tx to just one node. So it can send to the adversary, or to a not adversary. 12:31:34 20 countries would be enough 12:31:41 But the adversary cannot know who is the originator then. 12:31:51 20x10vpsx$50 = $10k 12:32:13 well that's be nice 12:32:22 i know bitcoin is adding some sort of batching too 12:32:39 will monero do something like that? 12:33:13 moneromooo: Is dandelion source-routed? And why not just use Tor? 12:33:17 We do batching when syncing historical blocks. We could batch incoming "free" txes too, but the patch got rejected since it adds some latency. 12:33:34 i know about Tor though 12:33:58 but wondering about that 12:34:05 just ghetto Freenet-style routing seems like it could work otherwise 12:34:20 because many users probably dont use tor, if you can link txs by IP you can eliminate many, many decoys from rings 12:34:26 I make a packet, set HTL to a random value between 100 and 50, encrypt it with the key of my neighbor node 12:34:43 Source, yes. I guess because it also works if Tor is blocked. And if all your guard nodes are pwned, you don't get the dandelion protection. 12:34:46 That node decrements HTL by 1 and 10, sends it to a random neighbor 12:34:58 I'm sure there's a lot of talk on this on the net as it was made for bitcoin first. 12:35:12 It would not work if you'd be surrounded by bad nodes, but Better Than Nothing™ 12:35:19 Can you explain "if you can link txs by IP you can eliminate many, many decoys from rings" ? 12:35:21 if Tor is blocked then you can just use bridges 12:36:56 give me a second im trying to formulate that properly 12:44:46 if some agency knows TX1 is from user A. And they also know which output is the change, and which one actually went to A. (say, they made the transaction themselves, or the exchange/other party told them). 12:44:46 They look each ring where that output appears. Lets make it easier, say it appears 3 times (TX2 and TX3 as a decoy, and TX4 as the real input). 12:44:46 We then have 6 outputs to watch. (2 from TX2, 2 from TX3, 2 from TX4) 12:44:46 Then they look at these 6 outputs, in which rings they appear. 12:44:46 If the same IP as TX4 broadcasts one of the transaction that has a ring with this output, its likely that one using the real output. The two others were decoys. 12:52:42 Makes sense, sounds like an important benefit from Dandelion++ 12:53:42 damn, i hoped i was wrong somewhere and that wasnt an issue 12:54:36 Well, if you know lots of things, you can deduce more. 13:04:54 What's the largest ringsize possible? 13:06:14 Or is there no limit if you're willing to pay the fee? 13:06:53 i thought ring sizes were standardised (or maybe its just a minimum) 13:10:29 Fixed to 11. 13:10:50 (except special cases when spending pre-rct) 13:11:30 Prior to that, it was as much as there are outouts available and the tx does not go past ~150 kB. 13:35:44 I see 13:54:33 aquestion: Nodes cannot reliably determine whether the node that relays the transaction to them is also the node that created the transaction though 13:54:40 This only applies to local nodes 13:54:53 In case of a remote node, the node operator will be able to associate IP with the transaction 14:25:19 dEBRUYNE: Isn't a trivial countermeasure to find a random node to give your txn to, as if you were a full node? 14:25:47 A very ghetto approach is to just say, "whichever nodes would like to, please listen on port 12345 UDP for transactions" 14:26:07 you make sure your txn is <1.5 kb, pick a random 32 bit number, bada bing bada boom 14:26:29 it ain't perfect but it's a million times better than nothing, and fast to implement too 14:58:45 Yes, let's make shitty solutions where one good one exists, just because people want to save 30 GB. 14:59:37 This is instead of the so-far nonexistent anonymity networks. 15:01:08 Also it could be combined with the onion routing, so that it's harder for the entry guard to see your entry point 15:01:11 (It doesn't save 30 GB) 15:44:57 yanmaani: tor isn't nonexistent 15:47:57 no but Kovri is 15:48:10 couldn't get Tor to work when I tried it, and it certainly isn't on by default 15:59:50 I am getting a lot of " peer claims higher version that we think (13 for 2063919 instead of 12) - we may be forked from the network and a software upgrade may be needed" 16:00:53 You can ignore. Some other nodes are claiming this but it's false. 16:01:17 What does it mean? 16:02:19 You think version 12. The other computer says version 13. 16:02:33 So your dameon thinks maybe it's out of date. 16:05:41 I banned the two ips that claimed that, and now it is much better. 16:06:12 But version 12/13 of what? 16:06:44 Of the monero protocol. 16:08:37 It went fast from 0% till 63%, slow fom 63 till 98%, and now it is very slow. Is this normal? 16:08:57 Yes. 16:09:16 If you have a spinning disk, it'll be even slower (by a lot). 16:09:43 Got a Samsung nvme 16:11:52 Why does it slow down the closer it is to finish? 16:13:19 More usage, verifies PoW, verifies more tx data. 16:13:30 Also slower tx constructions to verify. 16:15:34 What is PoW? 16:16:44 proof of work 16:16:46 (=mining) 16:16:55 Proof of work. A system allowing distributed consensus among untrusted parties. 16:17:06 (eventual consensus) 16:20:57 I see, thanks. 16:29:38 How long does it take to get a amount that I can send to another wallet if I enable setup-background-mining? I am just testing monero. 16:30:25 visualshock, between 1-10000 days 16:30:27 On mainnet, probably a long time. Like a year or more. 16:30:34 It's basically a lottery. 16:30:54 To test, run with --testnet. You'll get monero a LOT sooner. 16:31:20 Oh, that long. 16:31:56 1.7 monero a block, so at, er... $50 ? That's like $80. $80 every year or two, depending on your hash rate. 16:32:48 So I can only get a whole block? 16:33:10 Yes. You try to get every block. First miner to find it gets the block reward. 16:33:10 yes, but you can mine in a pool if you want more predictable rewards 16:33:46 Solo mining, background mining = lottery. Pool = wage slave. 16:33:59 Both have about the same expected value in the long term. 16:34:29 Modulo decreasing block reward, pool fee, pool exit scam, that kind of thing. 16:35:18 Solo is also more private. We like privacy generally. 16:35:29 after 2 long years of hard mining, i finally neared the minimum payout threshold. and then the pool exit scammed and took it all away :'( 16:35:53 What's the point of a pool if you gotta wait 2 years... 16:36:38 What pool was that ? 16:37:38 oh i was just making that up. the only exit scamming monero pool i can think of (so far) is fasthash, and it only lasted a couple of weeks 16:38:58 Well, there's minergate which apparently claims you sent less hash than you did, and dwarfpool who scammed the ffs years ago (admittedly not a pool scam, just owned by the scammer). 16:41:55 it seems like there's a ~30% chance they decide to not credit a share :( 16:47:50 Isn't minergate part of the cryptonote scam network? Those guys are persistent 16:48:54 with hitbtc and friends 16:50:36 we need p2pool for monero... 16:50:47 Does it support coinbase to multiple addresses? 16:57:58 It's technically possible, idk how much effort would be needed to implement. Afaik _all_ coinbase tx have historically been 1-output 16:59:09 One way would be to make it so that coinbase delays kick in slower. 16:59:14 with a delay of one block 17:00:06 so instead of coinbase going to addr X and being stuck there for a day, if it's spent in the same block as it's created, then the delay kicks in after the first transaction 17:00:28 https://w1r3.net/paste/DJyVPg.webm 17:01:47 well the delay is 2hr 17:02:15 for p2pool systems to work, the delay must be 0 :/ 17:04:25 It supports any number of coinbase outputs. Pre-rct, you typically had 8-ish outputs. 17:04:52 so a p2pool system would be possible? 17:05:38 I don't see why not. 17:05:47 But then I've not done it. 17:06:32 short of good mempool sync, the only requirement is for coinbase outputs to be able to send to multiple addresses 17:06:42 like, a few thousand preferably 17:07:26 Coinbase outputs are very small. A few thousands is fine. 17:07:48 seems like it's just mempool sync stopping the project from good decentralization then 17:08:15 I don't think it needs that (though I did not think much about your objection from yesterday, so it might be valid). 17:08:37 my objection isn't a super big deal. But if the mempool isn't sync, then it will just be logistical hell 17:09:02 if there are to be new blocks every 30s, and it takes more than 30s to move the transactions around, then it will just be chaos 17:22:06 iirc jtgrassie looked deep into p2pool for monero, and didn't have a positive conclusion 17:26:29 UkoeHB_: The Brit? 17:26:33 in the video? 17:27:51 Right, yes, Jethro Grassie. Yeah, his problem was that the mempool wasn't synced. 17:27:53 So the blocks were big 17:28:10 and RIP goes the consensus 17:35:26 mempool sync doesnt seem solvable 17:35:59 Why not? You just have to make sure that the transactions are sent rapidly. 17:36:37 What needs to happen for a wallet to connect to a node, hosted on a different device, on the same network. RPC port should be passed through and wallet should use --daemon-address=IP:Port no? 17:37:14 Does the daemon need to bind something? 17:37:25 I had a suggestion for this in #bitcoin-wizards a long time ago. Basically, you send transactions to everyone unprompted 17:37:54 wizardsmoke: `--rpc-bind-ip 0.0.0.0 --confirm-external-bind` on daemon to make it listen on all interfaces i think 17:38:11 And assuming transaction/block origin is geographically distributed, the local maxima will be to have a geographically dispersed set of 'friends' 17:39:32 Then, miners could just delay adding transactions into blocks for a few seconds to stay on the safe side and prevent being orphaned. 17:41:16 wizardsmoke: AFAIK --confirm-external-bind is only for binding to a non-localhost IP which is something you don’t want 17:45:42 I took that line out and just added --rpc-bind-ip 0.0.0.0 but now I'm getting `Error: Couldn't connect to daemon: 127.0.0.1:18081` 17:47:28 what is the exact command? 17:47:33 in your wallet you'll need to add --daemon-address 192.168.x.x:18081 17:49:00 I added rpc-bind-ip=0.0.0.0 to my config on the daemon, then restarted it and tried monerod status (on the server) but the server gave that error. Commenting rpc-bind-ip and restarting recovered it. 17:49:10 I haven't even tried on the remote client yet 17:50:02 can you post the exact command? 17:50:11 yanmaani: how is that different from what is normally done? idk much about tx dispersion 17:50:32 UkoeHB_: Usually you only send upon request 17:50:38 So the flow goes like 17:50:44 1) Hey, I have txn 17:50:46 2) OK, send it 17:50:53 3) Here you go 17:51:40 selsta: monerod status or do you mean for the daemon? the daemon is `./path/to/monerod --config-file /path/to/conf/file --detach --pid ...` 17:52:34 So if we have 3 nodes, A, B, and C, with 100ms one-way latency between A/B and C/D, then the delay comes to 900ms A <-> C. 17:58:23 wizardsmoke: and you put the rpc-bind-ip stuff in the config file? 17:58:44 Yeap, and that broke it even on the host device 17:59:00 Didn't bother to try the client after that didn't work 17:59:13 okay, can you check what your local ip? 17:59:20 i have it 17:59:58 can you bind it to the local ip? 18:00:04 not 127.0.0.1 and not 0.0.0.0 18:00:26 Sure, I can try that 18:01:03 Error: Couldn't connect to daemon: 127.0.0.1:18081 18:01:27 That's from trying monerod status on the server device 18:01:57 can you try monerod --rpc-bind-ip local-ip status 18:02:51 Error: Couldn't connect to daemon: local-ip:18081 18:03:17 I see what you mean yanmaani, is there some design reason for that flow vs pure broadcasting? 18:03:27 wizardsmoke: can you try adding --confirm-external-bind 18:03:35 sure thing 18:03:42 UkoeHB_: Well it wastes insane amounts of b/w 18:04:08 If you do it by just sending them on request, it's pretty much linear to the amount of nodes 18:04:11 selsta: in that case restarting the daemon fails 18:04:41 If you do it by sending them automatically, then you'll send it far more - each node would in expectation get 1 copy from each friend 18:04:47 hmm I’m sure it is quite easy to do but I’ve only made my daemon available on localhost or externally reachable 18:04:48 with 20 friends, that's 20x bw 18:04:56 maybe someone else can help you 18:05:31 The error it threw was --rpc-bind-ip permits inbound unencrypted external connections. Consider SSH tunnel or SSL proxy instead. Override with --confirm-external-bind 18:05:57 should my config be like confir-external-bind=1? 18:06:19 try it out 18:06:25 seems like it didn’t add the option properly 18:06:34 yeah, that got it to run actually 18:06:40 I'll try connecting now 18:09:08 Sweet, looking good. I changed the bind to 0.0.0.0 and I've got it now with both `monerod --rpc-bind-ip local-ip status` and `monerod status. Now, hopefully, the wallet will see it, too. 18:09:47 wizardsmoke: but make sure that it isn’t externally reachable 18:09:58 outside of your local network 18:10:29 oh, that's hot 18:11:27 I set the firewall to only pass through 18081 to the LAN. I will try different ways to get at it 18:11:59 er, to only allow in traffic on 18081 from the LAN, rather 18:13:20 Ideally, I'd like to bind only to the LAN IP and localhost, but I'm not sure its possible to have two binds 18:41:45 Does the cli also start the rpc? 18:43:05 visualshock, there are separate binaries for cli and rpc 18:43:09 if you're talking about the wallet 18:43:22 jwinterm, yes 18:43:42 Oh, weird, what is the difference 18:43:57 one starts the cli wallet the other starts the rpc wallet 18:44:26 The rpc closes when I try to open it, only the cli stays open 18:44:26 cli you interact with from your terminal, rpc you interact with over the network interface 18:44:40 you may need to launch it with some command line options 18:44:44 Not sure that makes it any clearer to me. Can't I connect to RPC with monero-wallet-cli --daemon-address ip:port 18:44:46 like wallet-file, password, etc 18:45:09 no daemon-address tells the wallet what the rpc interface for the daemon is 18:45:24 the wallet interacts with the daemon via rpc 18:45:56 you can interact with the dameon by terminal or rpc 18:46:18 you can only interact with cli wallet via terminal, and you can interact with rpc wallet only via rpc 18:49:13 How is the rpc wallet different from the cli wallet? 18:49:44 Now I don't even know what wallet I'm using or if it was necessary to open RPC port to get chain info from daemon 18:50:01 ./monero-wallet-cli = cli wallet 18:50:24 cli wallet communicates with daemon over rpc, that’s why you had to open RPC port 18:50:29 rpc wallet is more for programmers 19:00:34 So monerod also starts the rpc? 19:02:02 monerod uses rpc for communication with the cli wallet (https://en.wikipedia.org/wiki/Remote_procedure_call) 19:03:30 monerod does not start monero-wallet-rpc 19:05:05 What is an example where I'd use monero-wallet-rpc 19:06:12 When your code wants to interact with your wallet 19:10:09 so its something I'd use programmatically to pass one RPC at a time? 19:10:25 like get_balance or whatevr 19:11:46 https://web.getmonero.org/resources/developer-guides/wallet-rpc.html 19:13:46 thanks' 19:16:52 Somebody can give me monero testnet ? many faucet doesn't work 19:17:19 wizardsmoke, you basically only would use rpc wallet if you're running a service with a lot of users and you're automating wallet interaction 19:17:24 like an exchange or something 19:18:02 jwinterm: maybe I aspire to own tradeogre one day 19:19:23 I am using it for a project I am slowly working on 19:19:48 btw is there a realtime api for rpc ? There was a thing in dev 19:19:50 the commands are all basically exactly the same as cli wallet, just made from another program 19:20:23 Freneticks, I think there was plans to put in like push notification type things, but don't think it was ever added 19:20:29 not sure tho 19:22:15 jwinterm: because log show when incoming money are received 19:22:35 i thing there was a rabbitmq thing not sure where it is 19:22:56 is this related? https://github.com/monero-project/monero/pull/6418 19:23:13 zeromq I thought, but yea 19:23:45 ohyea, maybe it's finally coming selsta 19:24:11 jtgrassie: In your self-select pool implementation, is there any disincentive to making empty blocks, or charging fees out-of-band? 19:27:02 from what I can see, share_t is only height, difficulty, address, and timestamp 19:32:05 on lines ~680 in pool.c, it seems like you use the total fees in the found block when paying out, no? 19:37:54 with wownero there's no limit to what kind of wealth we may achieve 20:06:31 What is the difference between wallet and account? 20:07:00 one wallet can contain multiple accounts 20:07:16 So my wallet currently has 1 account? 20:07:23 are you using the CLI? 20:07:27 yes 20:07:36 yes, you can create a new account with account new 20:07:46 every account has their own balance 20:08:16 and history 20:13:44 every account has its own seed? 20:14:21 no 20:17:14 I still don't get how accounts work :-( So a seed can generate multiple main (4...) public addresses, and each main address can generate multiple subaddresses (8....)? 20:17:41 Yeah, sort of like how derive paths in Bitcoin work 20:20:44 midipoet: subaddresses have two indices (major, minor) 20:20:54 subaddress(0,0) = 4... main public address 20:21:03 all other subaddresses start with 8 20:21:22 the major index are accounts, the minor address are subaddresses 20:21:45 so 1 wallet (1 seed) can have multiple accounts with multiple subaddresses in them 20:23:32 not sure if that is more clear lol 20:24:55 https://monerodocs.org/public-address/subaddress/ is a good read and also explains accounts in more detail 20:26:47 ic 20:26:49 thanks selsta 21:59:25 what this line do at basic.h "if (std::is_same, binary_archive>())" 22:00:10 https://en.cppreference.com/w/cpp/types/is_same