00:00:59 I hadn't considered that the slots let you guarantee that you bound to chain IDs once 00:01:05 In log(N) size 00:01:47 Is there any code in the core repo which actually verifies branch proofs ? 00:02:08 Or can create them even? 00:22:53 src/crypto/tree-hash.c looks like it contains that code 07:16:39 Proof verification is done by the aux chain 07:17:27 That code is not used in monerod, as far as I know. But I'm working on adding it to p2pool 17:00:25 Hello everybody, i'm using monero-ts to interact with my wallet. How to subscribe on output received, for example? Does it work? 18:19:52 can someone explain why it's not possible to simply "cut" the LMDB file? https://github.com/monero-project/monero/issues/9081 18:36:08 he's not wrong though, it would be a really nice feature that like, BTC etc all do. Idk if that would mean using a whole new database or what, but it's hella inconvenient having one fat file 18:43:23 or just set --db-sync-mode safe if you prefer safety over speed 18:46:08 is your opinion it's "not possible" or that it doesn't matter if it's one file 18:46:55 I'm not saying it's worth whatever it would take just, other blockchains do it, so it seems possible, and idk, from my perspective nicer 18:48:02 can you show me where bitcoin devs recommend "cutting" the blockchain file? 18:48:18 I can show you the blockchain directory of my bitcoin node and how it's full of hundreds of files 18:48:39 that doesn't mean that you can delete the last file and resolve corruption 18:49:01 unless the bitcoin devs claim this? I would be curious to see this 18:49:51 I've never had a reason to mess with the files manually so I couldn't tell you to be honest, it may very well not work that way 18:50:00 It's trivially possible but you might not like the side effects :) 18:50:48 A brute force append only file that gets rotated every N bytes would do. But you'd carry all the history, and it would grow in size at an amazing speed. 18:51:00 It would also be very slow to look up into. 18:51:10 But it's easy to see it would work. 18:51:56 AFAIK `bitcoind` doesn't even have a `pop_blocks` command. 18:52:10 You could then delete the L last files and restart syncing. The software would have to re-sync to know exactly how many "lost" butes are in the last file (or maybe more than one last file) but doable, if low. 18:52:17 It has invalidateblock 18:52:36 So yes, you can enforce a reorg to a specific point. 18:52:48 It looks like bitcoin core used to use Berkeley DB and now uses or is moving to SQLite 18:53:04 if that tells anyone anything 18:53:11 You can also the re-check that block to resync iirc 18:53:52 from what I can see they recommend restoring from backup, resync or using -reindex / -reindex-chainstate 18:53:59 just deleting some files like isn't a good idea 18:54:45 Berkeley DB and now SQLite is for the wallet database, they use leveldb for the blockchain itself 18:55:06 gotcha 18:55:09 Technically, monero stores block and tx blobs, so it could be made to dump most indexed tables, but not the blob tables. Then resync from that. 18:55:36 It's not a "drop the last N" but you'd save the download, if that's what annoy people for some reason. 18:55:54 "for some reason" hehehe 18:56:07 Of course it doesn't help you if the blob tables are what's corrupted. 18:56:18 Well, the download typically isn't the bottleneck is it ? 18:56:35 Except maybe for people who just want to trust some random internet peer. 18:57:46 Depends on the machine and internet connection I guess but it's often not, people just think it is because their system monitor doens't show disk iops 18:58:04 Actually... if you'd already verified up to height H, and you dump indexed tables, you can just reindex without verifiying up to H... 18:58:36 Again, assuming the blobs didn't get shot. 18:59:00 They do take up a lot of the db though, so they're likely to be shot if corruption happens. 18:59:55 I definitely don't know enough to have much opinion, but if there were more options for DB recovery that didn't involve wiping everything that would be pretty nice 18:59:56 However, I suppose you can re-download a tx and accept whatever matches its known txid. 19:00:17 It gets a bit more fiddly though, if you start second guessing what's shot and what's not. 19:00:40 (ie, if what got shot is the txid keys for a tble) 19:01:34 Still, I reckon there's a bug in monerod's db txn code that makes something non atomic when it should be. 19:01:45 Not going to look for it anymore though. 19:03:00 the person in the issue seems to have had a power outage + external hdd 19:03:36 likely not a monerod bug in this case 19:03:52 I can see why that's a setup someone would *want* to work, but ew