-
tobtoht
boogerlad[m]: look at db_lmdb.cpp for the blockchain database implementation (search for "DB schema" for an overview)
-
boogerlad[m]
thanks guys :) learning a lot and hopefully I will be of use in the future
-
ZEFRON
github.com/nasa8x/node-genesis-block - Is this still a valid method of producing a genesis block in 2021?
-
jberman[m]
block id is the height. can see how a record gets placed into the blocks table here:
github.com/monero-project/monero/bl…chain_db/lmdb/db_lmdb.cpp#L775-L783
-
jberman[m]
np :)
-
boy19[m]
Good afternoon everyone,
-
boy19[m]
Im a trained programmer, but havent coded for 10 years.
-
boy19[m]
Is there a place I can contribute using php, or a project that wouldnt mind giving significant guidance (Java or c++)
-
boy19[m]
website development would also be fine
-
boy19[m]
Im also looking to contribute to the Japanese translation, is there someone in charge of that?
-
ErCiccione
boy19: you can contribute to translations here:
translate.getmonero.org
-
boy19[m]
ErCiccione: yes Ive signed up, Im trying to make some edits, not sure if there is a moderator
-
ErCiccione
You can suggest translations that will be reviewed by other translators
-
boy19[m]
is it realistic to be a "trained" programmer but not have coded for 10 years to participate in C++ monero development? I heard Monero mines differently so they COULDNT get kicked out of china
-
moneromooo
It really depends what you do, but I'd expect lack of practice to lead to much more time spent on a task, rather than impossibility of completeing it, at least in general.
-
moneromooo
Now if you consider this to be unrealistic, then fair enough. Since it's not a job, taking way more time than it'd take someone else, but still being able to accomplish something, may be your goal - ie, spending time on something that makes you proud of the result, regardless of time and effort spent.
-
moneromooo
So, subjective.
-
moneromooo
Whether lack of practice leads to more bugs than otherwise is a possibility also, I'm not sure how much this would happen.
-
boy19[m]
moneromooo: great answer.
-
boy19[m]
key thing is finding teachers, where can these great souls be found, or paid for?
-
boy19[m]
Is the monero community a place to expect a teacher-student relationship (maybe not)
-
boy19[m]
I just know I want to be involved in Crypto and someone I respect said Monero is the place to be.
-
moneromooo
If you have questions on the code, people here will usually gladly help, as long as you don't expect an answer when you want it. This is not a C or C++ channel though, so repeatedly asking simple C questions will just have people ignore you.
-
moneromooo
I'm sure there are such channels around though.
-
moneromooo
It takes common sense in asking questions (ie, be on topic) and understanding of other people's willingness to spend their free time helping.
-
boy19[m]
yes, very true.
-
mj-xmr
Also please read what has already been written in the docs/
-
mj-xmr
Freshly baked health report:
enjo.hopto.org/pub/monero
-
mj-xmr
boy19[m], BTW, in this report alone you'll find plenty of weak spots to fix.
-
mj-xmr
For example see how the UTs cover only about 30% of code.
-
mj-xmr
While even 95% of coverage wouldn't be satisfying, since the corner cases are typically in the last 5%. Even 100% coverage is not a guarantee.
-
mj-xmr
since then you've got branch coverage and such.
-
boy19[m]
mj-xmr: wow thanks! maybe there is hope
-
mj-xmr
Of course there is.
-
ZEFRON
very stange, the monerod program seems to have generated a genesis block for me in the past but I cannot re-create how
-
mj-xmr
I'd even revert the sentence: maybe there's hope that finally somebody wants to tackle this :)
-
ZEFRON
I have verified I have a working .mdb with correct genesis block but I am unable to re-create the conditions that generated it
-
mj-xmr
boy19[m], I do it step by step, but I will be busy with this for a long while anyway.
-
ZEFRON
i even tried downloading monero fresh from git and changing just it's GENESIS_TX id, but monerod just failed to launch with "Failed to add genesis block to blockchain
-
ZEFRON
"
-
mj-xmr
I also want to enable other devs, but via documentation, rather than teacher-student relationship.
-
ZEFRON
so I am wondering, how did I get it to generate my working genesis block in the first place lmao?!
-
mj-xmr
boy19[m], please tell me (when you have time), how understandable this documentation is to you:
-
mj-xmr
-
boy19[m]
I cant grasp the specifics, but I think I grasp the core content
-
boy19[m]
I might shock with some insane questions though
-
chad[m]
ZEFRON: its funny you keep seeking help here after calling people here losers and telling them to "go get a tampon". Lmao
-
chad[m]
* chad preemptively goes to fetch himself a tampon
-
siren[m]
Why would they get a tampon?
-
chad[m]
Great question
-
bevanoff[m]
mj-xmr: i liked your compiling
-
bevanoff[m]
*compiling
-
bevanoff[m]
**compiling_debugging_testing.md document
-
bevanoff[m]
sorry cant type
-
mj-xmr
Thanks :)
-
bevanoff[m]
do you personally use codeblocks ide then?
-
mj-xmr
Yes, for many things.
-
ZEFRON
chad[m] I didn't know people where that tempremental, but I never expected anyone to give me any help anyway to be honest.
-
mj-xmr
bevanoff[m], but for a medium/large project, it becomes a pain to maintain the project files, so I resort to generating the project files via CMake. This has never failed me, while the former - multiple times.
-
bevanoff[m]
mm i see, ill have to look into getting it hooked up
-
bevanoff[m]
which OS do you use?
-
mj-xmr
But C::B was just the first choice. It will work with anything, that you prefer, and is on the list of the generators.
-
bevanoff[m]
ah i see cool
-
mj-xmr
Linux. Either Debian or Xubuntu.
-
mj-xmr
Just write:
-
mj-xmr
cmake -G
-
mj-xmr
This will produce a list of the generators.
-
bevanoff[m]
ok cool
-
bevanoff[m]
thanks
-
ZEFRON
guys please stop spamming this group, this is about monero dev not cmake or ubuntu
-
mj-xmr
bevanoff[m], One thing, that I'm slowly doing, that will improve the IDE integration is continuing on automated inclusion of headers in all the projects.
-
mj-xmr
ZEFRON, OK, Boss. I'm ghost
-
ZEFRON
im jk don't let me stop you
-
mj-xmr
bevanoff[m], here's a perfect example:
-
mj-xmr
-
mj-xmr
... where in fact one header file was missing from the list.
-
mj-xmr
So if you modify it in an IDE and hit the compile button, the IDE wouldn't auto-save it.
-
bevanoff[m]
mmm interesting ty
-
mj-xmr
While with this macro, if you just add a new header file in your file manager, bc, for instance, you want to separate one header into two, you just need to rerun the cmake command, and the header will appear in your project file.
-
mj-xmr
But that's all that there is to say about it :)
-
ZEFRON
add_new_block() -> handle_block_to_main_chain() -> get_current_hard_fork_version() i always hit a "has old version: 0 current: 1"
-
ZEFRON
stumped
-
rbrunner
ZEFRON: Equip yourself for debugging. Step through the bloody thing line by line. The problem will usually jump at you that way.
-
ZEFRON
I was going at it line by line and I thought the version number was the first byte of the GENESIS_TX but apparently not - but what this all boils down to is do I have the time to wrestle with Monero? Even if I do, I am starting to feel like I don't want to at all. The trade off is questionable, for what I am trying to do albeit simple in essence is going to entail enough work to make what should be simple obstacles like this
-
ZEFRON
too time consuming - considering just writing my own chain from scratch.
-
ZEFRON
and the compile time annoys me so much lmao
-
ZEFRON
but its the MAJOR_VERSION i just checked, woopsie, ... waits 10 minutes to compile changes X''D
-
ZEFRON
you know what i just don't know I change CURRENT_BLOCK_MAJOR_VERSION to 1 and it still thinks the CURRENT_BLOCK_MAJOR_VERSION is 0, it's madness, the variable its checking was set to CURRENT_BLOCK_MAJOR_VERSION in generate_genesis_block(bl, get_config(m_nettype).GENESIS_TX, get_config(m_nettype).GENESIS_NONCE);
-
ZEFRON
line 664 bl.major_version = CURRENT_BLOCK_MAJOR_VERSION;
-
ZEFRON
solution: i cacked up the genesis_tx (woops)
-
ZEFRON
I 0'd a part of the GENESIS_TX which contained the transaction amount (i guess this is used for a pre-mine and obviously I didn't want to get into that kind of nonsense) but I 0'd a few too many bytes, my mistake, outch though what a wild goose chase.