Author

Topic: Understanding BTC Core (Read 1599 times)

sr. member
Activity: 504
Merit: 250
January 31, 2017, 12:45:38 AM
#9
A good way to learn it is to fork it to an altcoin, and launch the network yourself. You will learn a lot of things this way, from security, to different parameters, to genesis block/ports etc etc.
legendary
Activity: 1122
Merit: 1017
ASMR El Salvador
January 29, 2017, 10:34:03 PM
#8
Check out the ebook: A Dissection of Bitcoin by Paul Huang.
It is worth every penny, IMO.
sr. member
Activity: 378
Merit: 250
January 29, 2017, 03:13:04 PM
#7
it is hard to find doc about crytpgraphy without the undergoing math, despite all the doc you can find and study about it, without understimate your skills in java and c#, you should spend time studying c++, cause the learning curve is large, and you quit it studying c++ in most important part of the language, that will take you more time than cryptographic stuff, at least in my opinion
legendary
Activity: 1040
Merit: 2785
Bitcoin and C♯ Enthusiast
January 19, 2017, 12:48:10 PM
#6
Good resource to have in your back-log Wink

Programming The Blockchain in C♯
jr. member
Activity: 44
Merit: 1
January 15, 2017, 02:25:38 PM
#5
Thanks for fast response  Smiley. I'll try my best to understand it.
staff
Activity: 3458
Merit: 6793
Just writing some code
January 15, 2017, 02:14:23 PM
#4
At first, huge thanks for the doxygen docs. However fundamental problem for me here is the security. Is there any good source where I can study cryptographic hash functions and digital signatures in-depth, while avoiding nasty math? I mean something like this [1] document about elliptic curve algorithm.

[1] - http://www.secg.org/sec2-v2.pdf
There is documentation on each of the cryptographic algorithms used by Bitcoin in general as they are all standards published by other people. The hashes used are SHA256 and RIPEMD160. The digital signatures algorithm is ECDSA. There are plenty of places that explain how all of these work in general, outside of Bitcoin. Wikipedia is a pretty good place to start, especially with their references.

As for how these all work together in Bitcoin, the developer documentation on Bitcoin.org is one of the best places for this kind of documentation.

Unfortunately there is not a lot of documentation specifically about Bitcoin Core. You really have to read the code and learn about it yourself.
jr. member
Activity: 44
Merit: 1
January 15, 2017, 01:41:28 PM
#3
First you should take a look at the actual github repo itself: https://github.com/bitcoin/bitcoin. There is some documentation in there that is specific to Bitcoin Core and some things on how it works. There is also doxygen documentation available at https://dev.visucore.com/bitcoin/doxygen/. Next you can look at the issues page and see what kinds of issues there are and what looks like it would be easy for you to work on and help out with. Most issues are tagged appropriately for easy sorting.

Really you just need to read through the codebase. It is fairly complex but things are well documented and commented and the names are fairly straightforward that it is easy to find specific things that you are looking for.

It would also be a good idea to join the IRC channel #bitcoin-core-dev on Freenode as a lot of discussion happens there about development for Bitcoin Core.

At first, huge thanks for the doxygen docs. However fundamental problem for me here is the security. Is there any good source where I can study cryptographic hash functions and digital signatures in-depth, while avoiding nasty math? I mean something like this [1] document about elliptic curve algorithm.

[1] - http://www.secg.org/sec2-v2.pdf
staff
Activity: 3458
Merit: 6793
Just writing some code
January 15, 2017, 01:13:31 PM
#2
First you should take a look at the actual github repo itself: https://github.com/bitcoin/bitcoin. There is some documentation in there that is specific to Bitcoin Core and some things on how it works. There is also doxygen documentation available at https://dev.visucore.com/bitcoin/doxygen/. Next you can look at the issues page and see what kinds of issues there are and what looks like it would be easy for you to work on and help out with. Most issues are tagged appropriately for easy sorting.

Really you just need to read through the codebase. It is fairly complex but things are well documented and commented and the names are fairly straightforward that it is easy to find specific things that you are looking for.

It would also be a good idea to join the IRC channel #bitcoin-core-dev on Freenode as a lot of discussion happens there about development for Bitcoin Core.
jr. member
Activity: 44
Merit: 1
January 15, 2017, 01:06:51 PM
#1
Hello,
I have started learning and studying bitcoin core, but I almost immediately notice the steep learning curve. My main resource is BTC Developer guide[1]. I have experience in programming, but I'm a newbie in security area. Where do I get some resources to understand BTC Core well enough to actually be able to occasionally contribute to it? I know I also need to learn C++, but that shouldn't be a big problem as I have experience in Java and C# and some time ago I was somewhat experimenting with C++ (but I stopped learning at chapter about pointers).

Thanks.

[1] - https://bitcoin.org/en/developer-guide
Jump to: