Pages:
Author

Topic: looked at bitcoind source and looks like a shitcode - page 2. (Read 911 times)

newbie
Activity: 88
Merit: 0
Truth be told i am a fun of bitcoin and other crypto technology but utterly disappointed by the quality of code.
There was not even single line of documentation all of the few files I peeked through. In several of the technology companies I worked, code without proper comments along header was considered to be a garbage and not worth a single cent. There are lot of philosophy behind making a good coding practice which I can not start over here, it is even taught in CS101.

I also read the source code. IMVHO (based on 40 years of computer experience) code is pretty reasonably commented.

I looked particularly in  src/primitives, src/rpc, src/wallet and some other subdirs.
In .h files that contain data descriptions, some structures have description of each field.
After reading those files, .cpp files can be easily read and understood.


well, i did not find it reasonable. i have less than 15 yrs exp, but imho, experience does not really count much after 5-6 yrs. In fact, if particular engineer is opinionated about commenting and documentation is NOT necessary it seems it is even harder to have 'em change their habit because he/she becomes more inflexible as person gets aged.


OK This is the war of personal opinions.  I can understand this code with this amount of comments and you cannot.
The quality of software is determined.
1. Correctness; 2. Security; 3. Performance, not by density of comments.
And again IMHO, I consider  that https://en.bitcoin.it/wiki/Bitcoind is good enough documentation.

 
newbie
Activity: 1
Merit: 0
I dived into the bitcoin code some years ago, and also did quite extensive work on Dash's code (fork from btc). It is true that bitcoin's source code is not the ultimate example of amazingly structured and documented codebases. However, I remember that I was almost impressed by how better than expected it was.

If you take into consideration the age of the code, the language that definitely doesn't help (serialization for example is responsible for a lot of the mess), the number of platforms supported, and the fact that we are talking about a by definition very rigid project due to security implications and consensus, the code base is surely not that bad. There even parts dated back to Satoshi that are plain impressive in design. It's a huge project and can feel overwhelming, but I was able to understand the structure and navigate the code with little effort. That is not common in projects of this scale.   
newbie
Activity: 2
Merit: 0
code without proper comments along header was considered to be a garbage and not worth a single cent

I think it is actually becoming more and more preferred that one writes code in a way that does not require comments.  You often will hear things like "good code explains itself."  I'm not too big a fan of this, but that is the direction the industry seems to be going in. 

That being said, bitcoin does still fail here at times--especially when you encounter single lines where boost functions are passed to other boost functions to other boost functions in a way that quickly taxes your senses of what is really happening.  The jazzy naming conventions also are unappealing to me.  (Ex: CConnman.  Just call it ConnectionManager ffs.)  For the longest time everyone seemed to be perfectly okay with AppInit2 as a function name.  Now we have AppInitMain, which isn't at all intuitively different from the name AppInit.  Overall, the code base does seem to be improving.  Two steps forward, one step back.
legendary
Activity: 1946
Merit: 1427
Seriously is wrong with you. Your post is so retarded I wanna tell you to take some English class as well as some reading comprehension, analytical, reasoning and critical thinking skills.

That's ironic, you can't even compose grammarly correct sentences yourself, yet this is your counterargument to me?
I can not say for sure, personally I'd rather bitcoin succeed as dominant but the way it is now with super high fees, and other problems, not sure. And it is not jus I am saying many people is concerned about it. I can not say which one will prevail over Bitcoin and/or which technology will prevail, there is no single person that can analyze 1000+ coin's whitepaper make a judgement, so only time will tell. I myself usually interested in gpu mining and managed to go over few dozen coins only, but the way I see now there are several altcoins that are looking better than bitcoin.

Lies, lies and lies.

Quote
super high fees

1-5/sat per byte gets your transaction confirmed within an hour currently. https://jochen-hoenicke.de/queue/#1,24h Which means you can transfer 1000$+ for less then a dollar.

This one just got confirmed, with only 0.22$ in fees. https://blockchain.info/tx/d09284762b642d8ceda7d5e12304316d6299362139220b1ed7d81ab023f0424b ( And this transaction wasn't even P2SH-P2WPKH)



full member
Activity: 394
Merit: 101
The genius of satoshi was in the cryptographic field, and most importantly, having the vision to put all the (already existing) pieces to form a new thing. PoW was already there, distributed networks with nodes were already there, he just made a pack and it worked. The code was rough, apparently it lacked a lot of fine tuning, but that's not important when the concept is genius and it actually works in practice.

This is why someone that is a better coder could come up with another cryptocurrency, but if it's not a game changer at the scale of what Bitcoin was in 2009 (and still is) then it's not going to get anywhere, the network effect is too strong in Bitcoin.

Whoever wants to challenge Bitcoin must come up with with a completely new way to solve the Byzantine General's problem and do it in a much more efficient way, which I doubt it's going to happen for at least 100 years which is what these big problems usually take for someone to come up with new solutions.

bitcoin is falling out of favor with outrageous fees and being congested during peak hours. And appears to have become political. There are lot of other coins catching up to fill that avoid. But I agree, it is still the dominant coin but I am almost sure if not something significant being done, another coin will catch up in the next few years. IMO.

My biggest gripe is mining, no longer mineable by small-time GPU-ers like me, and as far as mining concerned, it is not decentralized anymore.
What the core dev-s are doing against the ASIC mining is not certain. I am working on platform to be able to switch many hosts into any coin and bitcoin (and other asic compatible coins) is/are not even in the consideration for obvious reason.


Sure, Bitcoin has it's problems, but something that scammers typically claim is how their altcoin is going to solve Bitcoin's problems, only to find out that eventually their altcoins succumb when faced with the same problems and deal with these problems even worse, usually by centralizing the network (huge blocks) or by a system that is exploitable (PoS, DAG-Tangle stuff)

There isn't a single coin out there that is objectively superior to Bitcoin and solves it's problems, if this was the case, everyone would dump and sit on that other network, but guess what, that doesn't exist.

The "Core devs" don't have enough power to do something about mining. All they would create is yet another altcoin, because I doubt the rest of the community would follow, unless the idea was complete genius and long lasting.

I can not say for sure, personally I'd rather bitcoin succeed as dominant but the way it is now with super high fees, and other problems, not sure. And it is not jus I am saying many people is concerned about it. I can not say which one will prevail over Bitcoin and/or which technology will prevail, there is no single person that can analyze 1000+ coin's whitepaper make a judgement, so only time will tell. I myself usually interested in gpu mining and managed to go over few dozen coins only, but the way I see now there are several altcoins that are looking better than bitcoin.

full member
Activity: 394
Merit: 101
Look at some of the advice and opinion you have received on this:


It's an Open Source project.  Go ahead and make it better!

If you're not going to make it better, then it is YOUR FAULT that the quality is so bad.

Throwing completely substancesless insults at quality work in order to fool people who couldn't tell for themselves into thinking that you're brilliant seems to be a favorite pastime for folks who feel insecure about their lack of competence adequate enough to accomplish anything themselves.


If you are really a coder, you would get the thing about "Standing on the shoulders of giants". If your work ethic was anywhere near that of the people who have made bitcoin code, network and social phenomena possible, we would be getting valid suggestions and feedback. Maybe some real work too.

But instead you take it upon yourself to become the hypothetical CEO of a hypothetical Bitcoin LLC, completely ignoring the whole decentralization criterion. This is the best you could come up with:


I don;t know, I haven't been involved. But on the other hand, do you think ASIC friendly is a good thing (mining centralized)?

If I were a CEO of a Bitcoin LLC or Bitcoin Inc., I will do definitely strip out SHA-256 and plug-in GPU friendly algo. Not only that I will start it in a blink of an eye and possibly re-architect so any algorithm can be a "plug-n-play"-ed.

  • "I don't know"
  • "I haven't been involved"
  • "But Yo, I could totally be THE CEO"...LOL


You Sir, are a lot of hot air and no substance. And from post history, it seems you have been that way for a lot of years. What a waste of time and potential!!

so saying that, u must be a better than me, perhaps must be a one of those giant lololol  Cheesy Cheesy Cheesy, when critisizing me, u completely forgot about how big of an loser u re urself, game of critisism is ths tough dude, at least i my critisizm did not directed to you but you ended up being critisizing me for nothing, for that i can only say one thing in reply, fok yo and get the fok out of hyoooo...

You just stated 3 blantant lies and got called out for it, yet you continue to keep trolling or?

Quote
If I were a CEO of a Bitcoin LLC or Bitcoin Inc.
That's the thing. It's open source and decentralized. There's no such thing as a "CEO" who controls how bitcoin works. There's consensus that determines the changes.


Quote
do you think ASIC friendly is a good thing (mining centralized)

Asics have nothing to do whether or not the mining is centralized. Sure, it might make the process of mining harder, ( meaning that only big companies will do it, but anyone can buy an asic and operate/mine for themselves. No one is stopping you. (+ There's not 1 company having 51% control right now. ( and there probably won't be.)

Seriously is wrong with you. Your post is so retarded I wanna tell you to take some English class as well as some reading comprehension, analytical, reasoning and critical thinking skills.

full member
Activity: 394
Merit: 101
writing a code is easy, documenting what you do is hard, as well as debugging as hard, fixing bug is hard, root causing is hard. i could say most of the engineers i interacted with love writing (shitty)code  but hates debugging, documenting and root causing problems so "brilliant" engineers mostly resist doing anything other than writing shitty code. I dont expect better on this forum either.  so I expected some reasonable code when look through bitcoind but was disappointed.
Anyways I am out of here Cheesy
full member
Activity: 394
Merit: 101
Truth be told i am a fun of bitcoin and other crypto technology but utterly disappointed by the quality of code.
There was not even single line of documentation all of the few files I peeked through. In several of the technology companies I worked, code without proper comments along header was considered to be a garbage and not worth a single cent. There are lot of philosophy behind making a good coding practice which I can not start over here, it is even taught in CS101.

I also read the source code. IMVHO (based on 40 years of computer experience) code is pretty reasonably commented.

I looked particularly in  src/primitives, src/rpc, src/wallet and some other subdirs.
In .h files that contain data descriptions, some structures have description of each field.
After reading those files, .cpp files can be easily read and understood.



well, i did not find it reasonable. i have less than 15 yrs exp, but imho, experience does not really count much after 5-6 yrs. In fact, if particular engineer is opinionated about commenting and documentation is NOT necessary it seems it is even harder to have 'em change their habit because he/she becomes more inflexible as person gets aged.
newbie
Activity: 88
Merit: 0
Truth be told i am a fun of bitcoin and other crypto technology but utterly disappointed by the quality of code.
There was not even single line of documentation all of the few files I peeked through. In several of the technology companies I worked, code without proper comments along header was considered to be a garbage and not worth a single cent. There are lot of philosophy behind making a good coding practice which I can not start over here, it is even taught in CS101.

I also read the source code. IMVHO (based on 40 years of computer experience) code is pretty reasonably commented.

I looked particularly in  src/primitives, src/rpc, src/wallet and some other subdirs.
In .h files that contain data descriptions, some structures have description of each field.
After reading those files, .cpp files can be easily read and understood.

legendary
Activity: 1946
Merit: 1427
Look at some of the advice and opinion you have received on this:


It's an Open Source project.  Go ahead and make it better!

If you're not going to make it better, then it is YOUR FAULT that the quality is so bad.

Throwing completely substancesless insults at quality work in order to fool people who couldn't tell for themselves into thinking that you're brilliant seems to be a favorite pastime for folks who feel insecure about their lack of competence adequate enough to accomplish anything themselves.


If you are really a coder, you would get the thing about "Standing on the shoulders of giants". If your work ethic was anywhere near that of the people who have made bitcoin code, network and social phenomena possible, we would be getting valid suggestions and feedback. Maybe some real work too.

But instead you take it upon yourself to become the hypothetical CEO of a hypothetical Bitcoin LLC, completely ignoring the whole decentralization criterion. This is the best you could come up with:


I don;t know, I haven't been involved. But on the other hand, do you think ASIC friendly is a good thing (mining centralized)?

If I were a CEO of a Bitcoin LLC or Bitcoin Inc., I will do definitely strip out SHA-256 and plug-in GPU friendly algo. Not only that I will start it in a blink of an eye and possibly re-architect so any algorithm can be a "plug-n-play"-ed.

  • "I don't know"
  • "I haven't been involved"
  • "But Yo, I could totally be THE CEO"...LOL


You Sir, are a lot of hot air and no substance. And from post history, it seems you have been that way for a lot of years. What a waste of time and potential!!

so saying that, u must be a better than me, perhaps must be a one of those giant lololol  Cheesy Cheesy Cheesy, when critisizing me, u completely forgot about how big of an loser u re urself, game of critisism is ths tough dude, at least i my critisizm did not directed to you but you ended up being critisizing me for nothing, for that i can only say one thing in reply, fok yo and get the fok out of hyoooo...

You just stated 3 blantant lies and got called out for it, yet you continue to keep trolling or?

Quote
If I were a CEO of a Bitcoin LLC or Bitcoin Inc.
That's the thing. It's open source and decentralized. There's no such thing as a "CEO" who controls how bitcoin works. There's consensus that determines the changes.


Quote
do you think ASIC friendly is a good thing (mining centralized)

Asics have nothing to do whether or not the mining is centralized. Sure, it might make the process of mining harder, ( meaning that only big companies will do it, but anyone can buy an asic and operate/mine for themselves. No one is stopping you. (+ There's not 1 company having 51% control right now. ( and there probably won't be.)
legendary
Activity: 1372
Merit: 1252
The genius of satoshi was in the cryptographic field, and most importantly, having the vision to put all the (already existing) pieces to form a new thing. PoW was already there, distributed networks with nodes were already there, he just made a pack and it worked. The code was rough, apparently it lacked a lot of fine tuning, but that's not important when the concept is genius and it actually works in practice.

This is why someone that is a better coder could come up with another cryptocurrency, but if it's not a game changer at the scale of what Bitcoin was in 2009 (and still is) then it's not going to get anywhere, the network effect is too strong in Bitcoin.

Whoever wants to challenge Bitcoin must come up with with a completely new way to solve the Byzantine General's problem and do it in a much more efficient way, which I doubt it's going to happen for at least 100 years which is what these big problems usually take for someone to come up with new solutions.

bitcoin is falling out of favor with outrageous fees and being congested during peak hours. And appears to have become political. There are lot of other coins catching up to fill that avoid. But I agree, it is still the dominant coin but I am almost sure if not something significant being done, another coin will catch up in the next few years. IMO.

My biggest gripe is mining, no longer mineable by small-time GPU-ers like me, and as far as mining concerned, it is not decentralized anymore.
What the core dev-s are doing against the ASIC mining is not certain. I am working on platform to be able to switch many hosts into any coin and bitcoin (and other asic compatible coins) is/are not even in the consideration for obvious reason.


Sure, Bitcoin has it's problems, but something that scammers typically claim is how their altcoin is going to solve Bitcoin's problems, only to find out that eventually their altcoins succumb when faced with the same problems and deal with these problems even worse, usually by centralizing the network (huge blocks) or by a system that is exploitable (PoS, DAG-Tangle stuff)

There isn't a single coin out there that is objectively superior to Bitcoin and solves it's problems, if this was the case, everyone would dump and sit on that other network, but guess what, that doesn't exist.

The "Core devs" don't have enough power to do something about mining. All they would create is yet another altcoin, because I doubt the rest of the community would follow, unless the idea was complete genius and long lasting.
full member
Activity: 394
Merit: 101
Look at some of the advice and opinion you have received on this:


It's an Open Source project.  Go ahead and make it better!

If you're not going to make it better, then it is YOUR FAULT that the quality is so bad.

Throwing completely substancesless insults at quality work in order to fool people who couldn't tell for themselves into thinking that you're brilliant seems to be a favorite pastime for folks who feel insecure about their lack of competence adequate enough to accomplish anything themselves.


If you are really a coder, you would get the thing about "Standing on the shoulders of giants". If your work ethic was anywhere near that of the people who have made bitcoin code, network and social phenomena possible, we would be getting valid suggestions and feedback. Maybe some real work too.

But instead you take it upon yourself to become the hypothetical CEO of a hypothetical Bitcoin LLC, completely ignoring the whole decentralization criterion. This is the best you could come up with:


I don;t know, I haven't been involved. But on the other hand, do you think ASIC friendly is a good thing (mining centralized)?

If I were a CEO of a Bitcoin LLC or Bitcoin Inc., I will do definitely strip out SHA-256 and plug-in GPU friendly algo. Not only that I will start it in a blink of an eye and possibly re-architect so any algorithm can be a "plug-n-play"-ed.

  • "I don't know"
  • "I haven't been involved"
  • "But Yo, I could totally be THE CEO"...LOL


You Sir, are a lot of hot air and no substance. And from post history, it seems you have been that way for a lot of years. What a waste of time and potential!!

so saying that, u must be a better than me, perhaps must be a one of those giant lololol  Cheesy Cheesy Cheesy, when critisizing me, u completely forgot about how big of an loser u re urself, game of critisism is ths tough dude, at least i my critisizm did not directed to you but you ended up being critisizing me for nothing, for that i can only say one thing in reply, fok yo and get the fok out of hyoooo...
legendary
Activity: 1904
Merit: 1159
Look at some of the advice and opinion you have received on this:


It's an Open Source project.  Go ahead and make it better!

If you're not going to make it better, then it is YOUR FAULT that the quality is so bad.

Throwing completely substancesless insults at quality work in order to fool people who couldn't tell for themselves into thinking that you're brilliant seems to be a favorite pastime for folks who feel insecure about their lack of competence adequate enough to accomplish anything themselves.


If you are really a coder, you would get the thing about "Standing on the shoulders of giants". If your work ethic was anywhere near that of the people who have made bitcoin code, network and social phenomena possible, we would be getting valid suggestions and feedback. Maybe some real work too.

But instead you take it upon yourself to become the hypothetical CEO of a hypothetical Bitcoin LLC, completely ignoring the whole decentralization criterion. This is the best you could come up with:


I don;t know, I haven't been involved. But on the other hand, do you think ASIC friendly is a good thing (mining centralized)?

If I were a CEO of a Bitcoin LLC or Bitcoin Inc., I will do definitely strip out SHA-256 and plug-in GPU friendly algo. Not only that I will start it in a blink of an eye and possibly re-architect so any algorithm can be a "plug-n-play"-ed.

  • "I don't know"
  • "I haven't been involved"
  • "But Yo, I could totally be THE CEO"...LOL


You Sir, are a lot of hot air and no substance. And from post history, it seems you have been that way for a lot of years. What a waste of time and potential!!
full member
Activity: 394
Merit: 101
What the core dev-s are doing against the ASIC mining is not certain.
What exactly would you like them to do? Hard-fork and completely change the underlying POW algorithm?

Because that's pretty much the only way to do anything about ASIC mining... SHA-256 is "ASIC friendly", you can't change that.

I don;t know, I haven't been involved. But on the other hand, do you think ASIC friendly is a good thing (mining centralized)?

If I were a CEO of a Bitcoin LLC or Bitcoin Inc., I will do definitely strip out SHA-256 and plug-in GPU friendly algo. Not only that I will start it in a blink of an eye and possibly re-architect so any algorithm can be a "plug-n-play"-ed.
HCP
legendary
Activity: 2086
Merit: 4363
What the core dev-s are doing against the ASIC mining is not certain.
What exactly would you like them to do? Hard-fork and completely change the underlying POW algorithm?

Because that's pretty much the only way to do anything about ASIC mining... SHA-256 is "ASIC friendly", you can't change that.
full member
Activity: 394
Merit: 101
The genius of satoshi was in the cryptographic field, and most importantly, having the vision to put all the (already existing) pieces to form a new thing. PoW was already there, distributed networks with nodes were already there, he just made a pack and it worked. The code was rough, apparently it lacked a lot of fine tuning, but that's not important when the concept is genius and it actually works in practice.

This is why someone that is a better coder could come up with another cryptocurrency, but if it's not a game changer at the scale of what Bitcoin was in 2009 (and still is) then it's not going to get anywhere, the network effect is too strong in Bitcoin.

Whoever wants to challenge Bitcoin must come up with with a completely new way to solve the Byzantine General's problem and do it in a much more efficient way, which I doubt it's going to happen for at least 100 years which is what these big problems usually take for someone to come up with new solutions.

bitcoin is falling out of favor with outrageous fees and being congested during peak hours. And appears to have become political. There are lot of other coins catching up to fill that avoid. But I agree, it is still the dominant coin but I am almost sure if not something significant being done, another coin will catch up in the next few years. IMO.

My biggest gripe is mining, no longer mineable by small-time GPU-ers like me, and as far as mining concerned, it is not decentralized anymore.
What the core dev-s are doing against the ASIC mining is not certain. I am working on platform to be able to switch many hosts into any coin and bitcoin (and other asic compatible coins) is/are not even in the consideration for obvious reason.
staff
Activity: 4284
Merit: 8808
Throwing completely substancesless insults at quality work in order to fool people who couldn't tell for themselves into thinking that you're brilliant seems to be a favorite pastime for folks who feel insecure about their lack of competence adequate enough to accomplish anything themselves.
legendary
Activity: 1372
Merit: 1252
The genius of satoshi was in the cryptographic field, and most importantly, having the vision to put all the (already existing) pieces to form a new thing. PoW was already there, distributed networks with nodes were already there, he just made a pack and it worked. The code was rough, apparently it lacked a lot of fine tuning, but that's not important when the concept is genius and it actually works in practice.

This is why someone that is a better coder could come up with another cryptocurrency, but if it's not a game changer at the scale of what Bitcoin was in 2009 (and still is) then it's not going to get anywhere, the network effect is too strong in Bitcoin.

Whoever wants to challenge Bitcoin must come up with with a completely new way to solve the Byzantine General's problem and do it in a much more efficient way, which I doubt it's going to happen for at least 100 years which is what these big problems usually take for someone to come up with new solutions.
full member
Activity: 394
Merit: 101
i dont remember which files it was code to code from first to last lines.
I wish I could contribute but now working on my own mining coin steering platform to be hosted on http server and I am putting my full effort on that. I am planning to make it public in hopes of getting people adopted and most likely be a free to use.
staff
Activity: 3458
Merit: 6793
Just writing some code
There was not even single line of documentation all of the few files I peeked through.
What files are you peeking through that's there no documentation? Sure, I'll admit that there isn't as much documentation as there could be, but to say that there's no documentation at all is just completely false. The code has many comments explaining many of the consensus critical things that it does. But of course there are some places that are lacking and most of those are holdovers from the early days when standards were lower.

And, of course as an open source project, you can write and submit code comments yourself instead of complaining about it.
Pages:
Jump to: