00:08:11 Hello, what is the size of the Monero stagenet blockchain? 00:08:39 How much storage space does a full node of a Moneto stagenet blockchain take up? 02:45:04 ns12: less than 10GB IIRC 02:45:50 8GB to be precise 05:22:32 Hi, Everybody! 05:23:23 I'm getting this error on Monero 0.17.3.0: 05:23:28 E Blocks start before blockchain offset: 0 2478000 05:23:57 And: E (m_blockchain.size() == stop_height || (m_blockchain.size() == 1 && stop_height == 0) ? false : true). THROW EXCEPTION: error::wallet_internal_error 05:24:21 Not seeing super clear answers when searching Google for these keywords. 05:30:05 Try to resync your wallet using a different Monero node 05:34:04 I didn't chose a node manually. It seems like Monero is finding peers automatically. 05:36:07 Looks like it might still be making progress syncing. Perhaps these errors are indicating bad data from the network that's not fatal? 05:36:20 I'll give it another day and see if it finishes syncing. 05:41:32 Weird, it keeps doing this: Monero 'Oxygen Orion' (v0.17.3.0-unknown) 05:41:32 Height: 2150304/2150304 (100.0%) on mainnet, not mining, net hash 1.40 GH/s, v12, 2(out)+0(in) connections 05:41:32 The small height value is after the exception. Old value was closer to: 2600071 06:18:25 Delete your wallet cache. 06:52:41 selsta: Thanks. Is the stagenet blockchain periodically reset to reduce its size? 06:53:19 No, but you do not have to sync to the public one. 06:53:45 Stagenet will always be growing in size? 06:53:58 Yes. 06:53:59 What about testnet? Is testnet ever reset? 06:54:05 No. 06:54:27 I thought that testnet is supposed to be for experiments? 06:54:34 It is. 06:54:56 Why is it never reset? 06:55:21 No reason to. 06:56:03 Isn't it a waste of disk space and bandwidth? I would have expected these experimental blockchains to reset once a year. 06:56:22 Makes it easier to set up experiments. 06:56:22 "you do not have to sync to the public one" also applies to testnet. 06:56:47 If you reset testnet, you also lose the tx history, which could be useful. 06:57:13 ""you do not have to sync to the public one" - What does that mean? Use a remote node? e.g. https://monero.fail/?nettype=stagenet ? 06:58:07 It means to not connect to nodes with that chain, which would cause your node to sync it as it's got higher cumulative difficulty. 06:58:38 It's decentralized. You can keep your nodes separate from others, and it'll work as good, with another chain. 06:59:13 So --offline for a single node (easy), and --add-exclusive-node for a network with a few nodes if you need that. 06:59:23 Essentially a private fork? 07:00:21 How does that work? Where does the genesis block come from? 07:01:21 Yes, a private fork. It works the same as not private. The genesis block comes from the source. 07:04:42 moneromooo: Thank you for the suggestion. With this method, I would be starting from 1 block (genesis block) instead of 8 GB worth of blocks in the official stagenet. Correct? 07:05:15 Yes. Bear in mind that you'll also start at the first fork ruleset (ie, pre-ringct). 07:05:34 --regtest also enables a mainnet that starts at the current fork rules. 07:06:26 If you're on your fork, I recommend --fixed-difficulty as well, avoids having to wait 2 mins per block. 07:06:43 moneromooo: "you'll also start at the first fork ruleset" - What are the implications? Does this mean that the consensus rules will be different from the real current mainnet and stagenet? 07:07:21 Not different for any given height, but different at a given time. 07:07:35 It's like time traveling really, if you're done it before. 07:08:11 You get to "replay" old events at a later date. 07:08:41 "Not different for any given height, but different at a given time." - I don't understand :-( 07:08:41 How do I start off with the current rules? 07:08:56 You can also alter the fork table prior to starting, so you get to hte latest rules quick. 07:09:16 (in hardforks.cpp) 07:09:54 As an example: 07:10:20 if blocks 1-1000 are v1 and 1001-2000 are v2, those were mined years ago on the public testnet. 07:10:34 If you start a new chain, you'll be mining them in the near future. 07:10:57 Current public testnet is on v14 or thereabouts. This allows ringct. 07:11:23 But your local testnet will not allow ringct until yo're at block LOTS (unless you change the fork table first). 07:11:47 Or, again, --regtest jumps to the current fork at once. 07:13:24 moneromooo: What you are saying is that changes to the rules occur at specific block heights. In order to experience those changes in my own private fork of the Monero blockchain, I will need to mine till I reach those specific block heights. Am I understanding correctly? 07:13:56 Yes. 07:15:20 moneromooo: Do mainnet, stagenet, and testnet have the same fork table? 07:15:26 No. 07:17:04 Okay, I see it now https://github.com/monero-project/monero/blob/f49fc9b4876382d5c6f08fd7a6125b554c49e260/src/hardforks/hardforks.cpp 07:19:15 I should probably use stagenet then, because it reaches v14 in less blocks (676,125 blocks) than mainnet or testnet. 07:19:46 Doesn't matter if you modify it. 07:20:59 Modify what? The source code? I don't want to modify the source code. I just want to use the binary provided on Monero's download webpage. 07:21:10 Yes. 07:24:32 Thank you for the tip about --regtest. 07:24:32 In "monerod --help", I see "--keep-fakechain" which mentions a "fakechain mode". What is "fakechain"? 07:25:01 The chain that gets used by --regtest. 07:25:10 By default, it's nuked on restart. 07:25:23 Wait. 07:25:37 Yes, I think it's that. Memory's hazy. 07:30:12 In https://github.com/monero-project/monero/blob/f49fc9b4876382d5c6f08fd7a6125b554c49e260/src/hardforks/hardforks.cpp , each hardfork_t struct has a time_t field. What is that time_t field used for? 07:30:37 I don't think it's used anymore. Just ensure they're increasing. 07:31:14 It used to be used to warn the user when the last known fork was older than 6 months or so, since there were regular forks. 07:38:14 Thank you moneromooo. 08:08:39 moneromooo: "Yes, I think it's that. Memory's hazy." - Yes, you are apparently correct. I found this question that was asked just 3 days ago: https://monero.stackexchange.com/questions/13583/monerod-in-regtest-mode-does-not-remember-the-generated-blockchain 11:12:01 Updates from Haveno: https://haveno.exchange/2022/04/12/frontend-work-starting.html 12:14:34 Hello, does the Monero blockchain allow the inclusion of arbitrary data within a transaction? 12:16:21 For example, can I add a photograph of a cat within a transaction? 12:41:41 You can spam shite that everyone else will have to store on their disk. 13:18:52 moneromooo: Is that a bad thing? I will have to pay a higher transaction fee, right? 13:21:38 Yes it's a bad thing for everyone 13:21:54 Digital money is not supposed to be data storage 13:22:41 Why not? Isn't it the case that if I pay the transaction fees, I should be able to store my own data? 13:53:01 You will have to pay an extra tx fee, yes. 13:53:28 But this is space that isn't a payment. 13:55:23 If assholes start spamming hte chain with shite, we'll just have to add a fee adjustment for this. 13:57:15 The fee needs to be low enough to not add too much friction for payments. 13:58:30 Imagine a bus ticket is one pound flat. You get on, pay your quid, and alight wherever you want. 13:59:02 Now, imagine a group of jerks get on, pay their pound, then stay all day on the bus, going round and round. 13:59:23 Hey they paid. The fee assumes expected usage, on average. 13:59:54 But if people start doing that, the bus company will have to introduce a max time or the like component to the price. 14:10:14 moneromooo: Okay, so this is considered an abuse of the Monero blockchain? Has Monero been abused like this before? 14:38:54 Doing it occasionally is ok. Doing it systematically is abuse. Like the bus company won't care if someone does a one off multi-loop sightseeing for the day. 16:57:00 moneromooo: https://github.com/monero-project/monero/issues/8194#issuecomment-1096085977 16:57:25 turns out the issue with monerod getting stuck was likely CPU related 16:57:27 weird 17:03:43 Thanks. What'd be needed is running the randomx tests for, like, twice as long as the average time to failure ot so. 17:31:02 huzzzah! almost there! 2022-04-12 17:29:35.653 I Synced 2553672/2600444 (98%, 46772 left) 17:50:01 Weird still not making much progress. I'll try nuking the whole thing and starting over again. :-/ 17:50:46 I tried deleting the wallet cache and got this message on start: "starting with empty blockchain" 17:51:09 monerod still said: error::out_of_hashchain_bounds_error 17:59:58 Did you change the code ? 18:01:41 Or are you using a binary built by someone else who'd have changed the code ? 18:02:16 Because monerod certainly can't say that unless the code is changed. 19:28:39 moneromooo: I have suggested them to run randomx tests in a loop for 60 hours or so to see if it starts to fail 19:30:59 DrNick2: where did you get your binary? v0.17.3.0-unknown seems to indicate a custom compiled version