01:21:52 does wallet2 API have something to save current state of synchronized chain? 01:22:54 Monero::WalletListener::newBlock() is giving current height 01:23:06 but i need to save current state 07:13:13 monerod release on mainnet ignoring stop_daemon command. 07:13:16 screen -S "${SNAME}-${NETTYPE}" -X stuff "stop_daemon\n" 07:13:30 7fc2ce7fc700 INFO msgwriter src/common/scoped_message_writer.h:102 Stop signal sent 07:55:03 A kill -TERM $(pidof seceensession) had to be used, to force a shutdown. Attaching the session issuing "stop_daemon", "exit" or CTRL-C had no effect. 07:55:42 This is what a scripted shutdown should look like: 07:55:53 7f89e4aea700 INFO msgwriter src/common/scoped_message_writer.h:102 Stop signal sent... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/0c3f56e5bca1dd117dcb11b2a3a69cbce8b9ad81) 09:44:30 hiiiiiiiiii 09:51:39 virtual bool store(const std::string &path) = 0; 09:51:44 i think thissssssssss 10:12:00 If you can repro it, a thread dump would be useful (gdb /path/to/monerod ${pid-of-the-waiting-monerod} then: thread apply all bt). 10:12:23 I also think the net patch by wfaressuissia on github fixes it. 10:12:35 (one such bug anyway) 10:15:57 It's currently working as expected. It's not something I can provoke. The daemon is launched every 30 minutes, and shut down when synced. I will try if it hangs again. 10:38:24 Monero::Wallet::store() doesn't store blocks 10:38:53 isn't there anything to save blocks in wallet2??????????? 10:39:37 It saves block hashes. Is that enough ? 10:40:03 it is enough to synchronize right?? 10:40:09 Yes. 10:40:11 but how does it save hashes?? 10:40:28 By... writing to disk... 10:40:36 ohhhh 10:41:04 i mean what should i do to make it save? 10:41:32 Call store, which you found. It's done automatically when you exit the wallet normally. 10:41:49 just tried 10:41:54 ^C is deemed normal for the purposes of this. 10:41:57 but it doesn't save blocks 10:42:07 when i restart the app 10:42:15 ohhhhh 10:42:16 waitt 10:42:26 wallet->setRefreshFromBlockHeight() 10:42:29 maybe about this? 10:43:48 im doing store() buttt it doesn't save or still getting blocks from node 10:49:05 As I said, it never saves blocks. Only block hashes. If you want it to save blocks for some reason, you'll have to add that code. And your wallet won't be compatible with monero-wallet-cli. 10:49:53 i mean saving "current state" 10:49:58 im doing wallet->store("monero-wallet"); 10:50:05 it saves monero-wallet.keys 10:50:26 Hmm. Maybe I'm confusing things. Lemme check the code... 10:51:11 i mean should this save current state and supposed to not retrieve blocks from node when i restart the app??? 10:51:43 OK, if can write the keys file if you store as another name, but if not, it'll save the cache file only. 10:52:12 store will save the current state to the wallet cache file, and is not supposed to retrieve blocks fom the node. 10:52:29 When you restart the wallet program, it will typically try to sync to the node. 10:52:42 That depends on the program. And if you've disabled auto refresh. 10:52:52 But usually, it'll try to. 10:53:03 it is doing refresh 10:53:13 "refreshed" callback is being called 10:54:04 you mean doing wallet->store() is enough to save current state? 10:54:19 It should be. 10:54:41 really confusing 10:55:30 What do you think might be a less confusing API to save it ? 10:56:17 im doing wallet->store() but when i restart the app, it is getting blocks from node 10:57:30 You can disable auto refresh if you want. 10:57:51 Or do you mean it's downloading *all* blocks from the genesis block again ? 10:58:28 no not from genesis block the block that i specify with wallet->setRefreshFromBlockHeight() 10:58:57 Is your wallet setup to trust the daemon ? 10:59:01 you mean if i disable auto refresh it will store current state and start from current state when i restart? 10:59:07 If your daemon is on 127.0.0.1, it'll be a yes. 10:59:18 wm->setDaemonAddress("https://xmr.moneromerch.com:18089/"); 10:59:20 im doing this 10:59:26 wallet->init("https://xmr.moneromerch.com:18089/", 0, "", "", true, false, ""); 10:59:27 and this 11:01:31 That call doesn't quite match the prototype I have here, but I'll assume the daemon is untrusted since it's not on localhost. 11:02:05 In that case, the wallet will quantize its current height and start asking the daemon from blocks a bit earlier than needed, for privacy reasons. 11:02:25 It's to remove some bits of fingerprinting ability. Though there's probably a lot more left. 11:03:10 IIRC the quantum is about 1000 blocks. So when you've synced at most ~1k more blocks, it'll start asking from blocks from a later starting point. 11:03:31 Use your own node on 127.0.0.1 and it won't do tha. 11:09:39 interestinggg 11:16:54 the app has to use a remote node 11:17:10 it will use our node 11:17:25 and start synchronizing from wallet creation time 11:17:40 is there a way to make wallet2 to trust node?? 11:18:39 Then it'll get a bit more traffic at start. No biggie, the wallet won't actually rescan those txes IIRC. 11:18:39 Which in itself can be an info leak, since the faster it goes htrough txes, the faster it can ask for more, so the node can try to make a guess, but hey. 11:19:07 Yes. See wallet2.h. 11:19:18 It's also a param in init. 11:20:07 Here, it'll mean that the user of the wallet trusts you. Not that you trust yourself. 11:31:51 virtual bool init(const std::string &daemon_address, uint64_t upper_transaction_size_limit = 0, const std::string &daemon_username = "", const std::string &daemon_password = "", bool use_ssl = false, bool lightWallet = false, const std::string &proxy_address = "") = 0; 11:31:58 you mean this init()? 11:34:01 Yes. Thought it was a parameter here, I misremembered. 11:34:26 Hrm. My copy has it. Must be a recent change then. 11:35:47 Still in master. What class is that init function you're quoting in ? 11:36:36 Ah, found it. wallet2_api. Makes sense. 11:36:46 I was looking at wallet2. 11:40:24 meowwwwww 11:40:33 damnnn 11:50:22 i merged my C++ static library and all wallet2 libraries with ar now build time is better 11:50:27 i wrote a Makefile 11:50:45 i love GNU Makeeeee 11:53:04 what could we do if MSYS2 was not exist 11:53:25 anyone doesn't care about building Windows 11:53:30 building on Windows* 11:53:53 using Bash commands and Linux things 11:54:34 Godot takes care about building on different platforms 11:54:46 You could... use Linux. In fact, one might even go as far as you could use Linux even if MSYS2 exists. 12:04:27 how big is the blockchain file right now? 12:14:33 at least 1 12:15:05 at [17:32:15] ➜ ls -lh ~/.bitmonero/lmdb/ 12:15:05 total 276351632 12:15:05 -rw-r--r-- 1 ric waffles 132G Jun 11 03:59 data.mdb 12:16:01 thanks, im currently trying to get the blockchain data out of my docker node and into my pinode 12:19:10 Less than 50 GB if pruned. 12:22:11 can you prune -> move -> unprune? 12:23:58 You cannot unprune. 12:24:10 we could call it growing 12:24:12 :-P 12:25:28 fluffing 12:25:31 lol 12:26:18 I guess the real issue with a Pinode is HDD thrash when syncing / importing from .raw, so probably the best thing to do is just to move it whole 12:28:25 Good point. 12:29:47 It’s worth asking, at some point, if a Rasp pi has ever become fundamentally inadequate to be supported. Here’s an interesting thread: https://github.com/monero-ecosystem/PiNode-XMR/issues/65 12:30:18 Well it’s more of a single post than a thread 12:36:03 While on the topic if pruned nodes... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/7f409928ec72068ce610770d506adcc916d3564f) 12:36:42 Uh. Make that 1/2/3 12:51:35 moneromooo, i was a Linux catttttt 12:51:46 in past but now im a Windows cattt 12:52:17 im using WSL instead of Linux 12:57:17 im making TXs 12:57:39 i should do Monero::PendingTransaction::commit() right??? 13:01:22 tx->txid() returns a std::vector but it is empty 13:13:12 as i understand TXIDs are being cleared after tx->commit() 13:14:52 but tx->txid() is still empty before tx->commit() 13:14:55 but whyyyy 13:18:32 ohh tx->status() is 1 13:19:55 my TradeOgre address starts with 8 13:20:06 shouldn't that start with 4? 13:22:16 Subaddresses all start with 8 (on mainnet). They must be using them. 13:24:18 where is subaddress index placed in the private seed? 13:24:45 or it is not placed in private seed 13:25:05 i should loook at my key derivation implementation 13:26:32 string pub_key = (int)Network + Convert.ToHexString(PublicSpendKey) + Convert.ToHexString(PublicViewKey); 13:29:50 The seed generates all subaddresses. That's a metric fuckton of them. You don't want indices for all of these in your seed. 13:30:49 but where should i specify subaddress indexes? 13:31:11 In account_index when calling transfer, typically. 13:31:38 Wherever the API has a parameter for one, really. 13:32:00 i mean i want to allow generating subaddresses tooo in my C# library 13:32:30 That API would take a subadress index. Pass it one. 13:32:41 Maybe I'm missing your point :) 13:33:41 ummmmm 13:34:08 i mean im deriving Monero keys includes public address tooo 13:34:16 but i want to derive subaddresses tooo 13:41:19 where is Monero's word list? 13:44:18 found 14:44:01 MeowingCat: https://github.com/WernerVasquez/gomonero/blob/master/address/subaddress.go 14:45:00 MeowingCat: https://github.com/WernerVasquez/gomonero/blob/master/wallet/wallet.go 14:45:37 wernervasquez[m], tyyy 14:47:06 MeowingCat: I tried to keep my code lightweight and readable. The wallet.go file has some of the logic like scanning. Please let me know if anything is not clear enough so I can update it to be more clear. 15:43:30 "so probably some new or updated..." <- is it important ? there is a fix for it 17:06:09 sech1: will look into it 17:06:52 at least bisect the change that introduced this, might need help for the actual fix 17:10:18 * moneromooo unignores sech1, what's the bug ? 17:11:06 our min glibc is at 2.26 https://paste.debian.net/hidden/7ca5dac4/ 17:11:19 some change in master branch increased it 17:11:54 yes, latest master branch makes Ubuntu 16.04 sad 17:12:21 Official v0.17.3.2 works fine though 17:13:10 nm -a "build/Linux/cc/release/bin/townforge" | grep @@GLIBC_ | tr @ \ | sort -k3,3V | tail 17:13:29 That gives you the symbols that uses the most recent glibc. 17:14:00 I see getrandom being new... 17:15:03 getentropy, explicit_bzero, __explicit_bzero_chk, reallocarray 17:15:13 that's the one i'm seeing for 2.25 and 2.26 17:16:16 What's your target ? .23 ? 17:17:41 we previously had 2.17 18:39:00 Is it normal to get a ton of repeated "connection refused" on the log when trying to connect to node.moneroworld.com 18:39:02 ? 18:39:26 It's occassionally downloading some blocks 18:39:46 try a different node 18:41:17 Any one in particular recommended for connecting over Tor? 18:44:35 Ask in #monero:monero.social 18:44:35 Ill answer you there 18:45:11 There are patches on github that improve connection stability over tor. Use those. 18:45:24 Look for PRs From jberman[m]. 18:47:18 thanks 18:55:11 moneromooo: these patches are for p2p tor, i think they were asking for rpc over tor 18:55:38 rpc over tor should be similar to normal rpc traffic 19:04:16 Ah, thanks. 19:10:07 but the patches are merged to master now so no one has to worry about it 19:10:11 .merge+ 7774 19:10:11 Added 20:36:49 sech1: https://github.com/monero-project/monero/pull/7773 introduced the increased glibc dependency 20:37:36 not sure yet how to continue 20:39:56 Try older unbound versions? 20:40:28 i can try, but we updated it in the first place because unbound had an audit and was full of security issues 20:41:11 Drop support for Ubuntu 16? It's been more than a year since Ubuntu 16 end of life 20:42:09 will check tomorrow if going back with the unbound version helps, otherwise sometimes something like https://github.com/monero-project/monero/pull/6397 is also possible 20:42:41 You could check unbound config to see if there's a backward compat option. Not super likely though. 20:44:04 https://github.com/NLnetLabs/unbound/blob/13e445d50b6e2a9441d9364d4213a57781d9e6f1/compat/reallocarray.c 20:44:11 they have some compatibility code 20:44:29 but have to look tomorrow 22:33:50 ".merge+ 7774" <- it isn't clear from approval whether correctness of lmdb changes was verified or not. 22:41:31 https://github.com/monero-project/monero/pull/8381, the same here both approvals before important change and after aren't clear enough to understand whether correctness of patch overall was verified, though this change is certainly more isolated than lmdb related one