Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: r1s2g3 on July 09, 2018, 06:37:33 AM



Title: How Should I proceed to become a block chain developer.
Post by: r1s2g3 on July 09, 2018, 06:37:33 AM
I have gone through the book "Mastering Bitcoin" and I am not able to completely  grasp  it.  I just need a break from reading and need to do something practical.

Is "https://github.com/bitcoin/bitcoin/" is the original copy?
How  should I  read the source  code?
Do I need to install some specific program /compilers  for it.

Edit.
My ultimate goal is to become Blockchain developer.
I am a software engineer,BS or BE or B-Tech degree holder in computer science field. So I read the programming language and Data structures in my college life.

Now Bad part:
Even today I work as software engineer but never used programming skills, so whatever I read is almost 15 year back in life.
In job , I worked as ETL developer/tester (A gui tool ) so no programming language after wards I transitioned to Performance DBA (Work on tuning of Database 150+  tearabytes in size).

I downloaded github also (as a zip file) , but I did not find any directory till now where I can find C code.

Actually I want a transition in my job field by learning a new skill. Actually if I learn the blockchain skill, there is high probability that I can move to another project of my company that is doing blockchain but I need to acquire skills first.



Title: Re: How Should I proceed.
Post by: IBXNetwork on July 09, 2018, 07:43:08 AM
I don't get what you specifically want to do but bitcoin's GitHub is for sure the place to learn about practical information. If you have any knowledge on programming on C you won't have trouble to read the code. There's just so many pull requests it's really hard to read them all and give the specific time for each one of them


Title: Re: How Should I proceed.
Post by: starmyc on July 09, 2018, 08:46:10 AM
How Should I proceed.

To do what, exactly ? What is your goal ? This is the most important question right there.


I have gone through the book "Mastering Bitcoin" and I am not able to completely  grasp  it.  I just need a break from reading and need to do something practical.

Is "https://github.com/bitcoin/bitcoin/" is the original copy?
How  should I  read the source  code?
Do I need to install some specific program /compilers  for it

The Bitcoin Core source code is hard to read. As you're asking if you need some kind of compilers or anything to build it, I assume you are not a skilled c++ software developer (which is not wrong!), but it will be even harder for you to read. You should not try this way.

If you want to understand how bitcoin works, installed the Bitcoin Core (wallet) client already compiled (on https://bitcoin.org/), and try it using the Testnet (https://en.bitcoin.it/wiki/Testnet). After you got a grasp on how the wallet works, I would advise you to take a look to the RPC commands (accessible using bitcoin-cli). It will allow you to use the wallet, but using bitcoin core features even closer to the protocol. If you are a software developer, you can try to build a simple explorer, using those RPC commands, or even a blockchain parser. It is a nice way to understand Bitcoin even deeper, and not much an hard task. Once you've done all that, you'll be mostly ready to understand the Bitcoin Core's C++ code! :-)


Title: Re: How Should I proceed.
Post by: bitmover on July 09, 2018, 11:36:47 AM
I have gone through the book "Mastering Bitcoin" and I am not able to completely  grasp  it.  I just need a break from reading and need to do something practical.

Is "https://github.com/bitcoin/bitcoin/" is the original copy?
How  should I  read the source  code?
Do I need to install some specific program /compilers  for it


Mastering bitcoin will explain how bitcoin works, not only how bitcoin core software works.

The author suggests that you can skip one chapter (related to bitcoin core commands) and go back later. I did that, and it was good. I am not a developer and got a nice understand from the book.

Even if you are focused in Bitcoin core commands , I think you should read the whole book first to understand what it can really do and how, before trying to learn by yourself on GitHub.


Title: Re: How Should I proceed.
Post by: digitalgame4life on July 09, 2018, 01:32:49 PM
Try to begin basic by reading a book about bitcoin and its blockchain, and after that there are enough books out there learning coding and programming, what I did was to take a course in coding while leaving my medical study, and now I work at a company providing information on blockchain and bitcoin.


Title: Re: How Should I proceed.
Post by: reflector on July 09, 2018, 02:10:32 PM
I have gone through the book "Mastering Bitcoin" and I am not able to completely  grasp  it.  I just need a break from reading and need to do something practical.

Is "https://github.com/bitcoin/bitcoin/" is the original copy?
How  should I  read the source  code?
Do I need to install some specific program /compilers  for it



Technically you can find more technical source code on Github but I did not understand what actually you are looking to read on Mastering bitcoins book. If you want to learn the solidity coding normal Youtube videos are enough to do that.
Since you are newbie I do not believe that this is what  you are looking for to learn now.
As a beginner you should check the article Rise and Rise of bitcoins this is the basic to learn for all the people.


Title: Re: How Should I proceed.
Post by: r1s2g3 on July 09, 2018, 02:35:08 PM

How Should I proceed.

To do what, exactly ? What is your goal ? This is the most important question right there.

My ultimate goal is to become Blockchain developer.
I am a software engineer,BS or BE or B-Tech degree holder in computer science field. So I read the programming language and Data structures in my college life.

Now Bad part:
Even today I work as software engineer but never used programming skills, so whatever I read is almost 15 year back in life.
In job , I worked as ETL developer/tester (A gui tool ) so no programming language after wards I transitioned to Performance DBA (Work on tuning of Database 150+  tearabytes in size).

I downloaded github also (as a zip file) , but I did not find any directory till now where I can find C code.

Actually I want a transition in my job field by learning a new skill. Actually if I learn the blockchain skill, there is high probability that I can move to another project of my company that is doing blockchain but I need to acquire skills first.


Title: Re: How Should I proceed.
Post by: buwaytress on July 09, 2018, 04:36:48 PM
As bitmover says, Mastering Bitcoin is actually a lot less about the coding than about learning "how Bitcoin works", not so much how a specific software (in your case Core) works. I'm not a technical person by any means but that book is probably as good as it gets for level of comprehensive detail without drowning in too much jargon.

You're clearly someone who needs a more structured learning, and with your programming background, a proper computer programming course might be suited to you. Plenty of threads on this forum have discussed formal education in Bitcoin/blockchain/crypto...

Check some out:
https://bitcointalk.org/index.php?topic=2083416.0
https://bitcointalk.org/index.php?topic=4314098.0
https://bitcointalk.org/index.php?topic=3268749.0

Personally, if I were to choose something, I'd go for the most established... Uni of Nicosia. The author of Mastering Bitcoin teaches some of the modules on the course there! Check out their free course first (https://digitalcurrency.unic.ac.cy/free-introductory-mooc/).


Title: Re: How Should I proceed in blockchain development
Post by: r1s2g3 on July 10, 2018, 12:18:06 AM

Check some out:
https://bitcointalk.org/index.php?topic=2083416.0
https://bitcointalk.org/index.php?topic=4314098.0
https://bitcointalk.org/index.php?topic=3268749.0

Personally, if I were to choose something, I'd go for the most established... Uni of Nicosia. The author of Mastering Bitcoin teaches some of the modules on the course there! Check out their free course first (https://digitalcurrency.unic.ac.cy/free-introductory-mooc/).

Thanks Buwaytress, I will check that free course.
Actually I got lot of courses in udemy, but all needed to be purchased. (I can think of purchasing them but I have no idea of their quality and I do not believe that you will become developer by taking 10 hrs course)
https://www.udemy.com/courses/search/?q=blockchain

My further research revealed that a block chain developer should be well versed in front end development (like HTML, CSS etc, so I will start with them for a time being)

People also refer to Solidity development, but it look more of  smart contract on Ethereum platform, I am right now, not interested in that.

Just a little bit surprised, as I was expecting tons of suggestion how to become a developer.  Lets hope some developer see this thread and able to guide me properly.


Title: Re: How Should I proceed in blockchain development
Post by: HeRetiK on July 10, 2018, 09:25:08 AM
My further research revealed that a block chain developer should be well versed in front end development (like HTML, CSS etc, so I will start with them for a time being)

Where did you read that? Front end development is likely one of the least useful programming skills when it comes to working with blockchains / cryptocurrencies. HTML / CSS even moreso. You may end up with a pretty GUI but a blockchain / cryptocurrency needs more than just that.

Server-side JavaScript / NodeJS development might be a useful skill. There's a lot of Bitcoin and cryptocurrency related npm modules that allow you to communicate with your own full node via its RPC interface and receive / send transactions. If I'm not mistaken ByteBall's official wallet is written in JavaScript and uses a wrapper for its desktop version. Most blockchain / cryptocurrency projects are written in rather low-level languages such as C++ though, which is a skill that is hard to learn, but without which you likely won't get far.

Still, it largely depends on what you mean by becoming a "Blockchain Developer".

Do you want to work on a new cryptocurrency / blockchain project? Contribute to existing cryptocurrency / blockchain projects? Write smart contracts? Create wallet clients for existing cryptocurrencies? Integrate existing cryptocurrencies in new or existing applications?


Title: Re: How Should I proceed to become a block chain developer.
Post by: Wind_FURY on July 10, 2018, 09:34:15 AM
OP, Jimmy Song has been organizing "Blockchain Developer" workshops. Why not try to get in touch with him on social media or on his email and ask him?

The videos of the workshops might be also be found on youtube.com.


Title: Re: How Should I proceed to become a block chain developer.
Post by: lehoanghuy71111992 on July 10, 2018, 10:15:02 AM

I look forward to your help


Title: Re: How Should I proceed in blockchain development
Post by: bob123 on July 10, 2018, 02:55:38 PM
My further research revealed that a block chain developer should be well versed in front end development (like HTML, CSS etc, so I will start with them for a time being)

IMO front end developing is the least useful for you to learn at this stage.
While it might be funny to create fancy sites with lots of animations and a nice appearance, it is not programming.

You will need programming skills if you want to dive into blockchain development.



People also refer to Solidity development, but it look more of  smart contract on Ethereum platform, I am right now, not interested in that.

Solidity is pretty easy to learn. It is mostly self-explanatory.
You should start with some basic languages and learn the general approach / routines when developing a software.

The language itself can be learned within a few days/weeks.
After you have successfully finished your first projects, you won't need that much time again to learn another language.



If I'm not mistaken ByteBall's official wallet is written in JavaScript

 ::)
One can always spot low-quality projects by things like that ::)


Title: Re: How Should I proceed to become a block chain developer.
Post by: hasmukh_rawal on July 10, 2018, 04:00:09 PM
You can't directly become a blockchain developer without actually knowing the basics. It's good that you started reading 'Mastering Bitcoin' as it will give you an idea about Bitcoin actually works and the terminology. You can do some online courses which will guide you better towards becoming a blockchain developer and then you can start practicing by taking some good projects from Github (not the Bitcoin core) . Start with smaller projects. You can go for wallets and then gradually start developing your own projects. Once you get started with things you will get a clear picture of what to do next.


Title: Re: How Should I proceed in blockchain development
Post by: bitmover on July 10, 2018, 06:39:48 PM
You will need programming skills if you want to dive into blockchain development.

People also refer to Solidity development, but it look more of  smart contract on Ethereum platform, I am right now, not interested in that.

Solidity is pretty easy to learn. It is mostly self-explanatory.
You should start with some basic languages and learn the general approach / routines when developing a software.


Hello Bob.
Can you suggest me a basic language and general approach to begin?
Where and how can I start to learn something like that?

I k ow a bit JavaScript...


Title: Re: How Should I proceed in blockchain development
Post by: bob123 on July 10, 2018, 06:54:37 PM
Can you suggest me a basic language and general approach to begin?

Well, this depends on what kind of software you want to build.

Pretty 'basic' languages would be C, C++, Java.
If you are rather into a scripting language, then python is a powerful tool.



Where and how can I start to learn something like that?

There are quite a few tutorials/books available online.
You can find free ebooks for most programming languages/topic here: https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books.md (https://github.com/EbookFoundation/free-programming-books/blob/master/free-programming-books.md)


Title: Re: How Should I proceed to become a block chain developer.
Post by: dafunkizdiz on July 10, 2018, 07:05:23 PM
Apply for a blockchain job. Someone might be willing to take a gamble on you.


Title: Re: How Should I proceed to become a block chain developer.
Post by: hatshepsut93 on July 11, 2018, 02:02:43 AM
This is probably something that you are looking for: https://programmingblockchain.gitbooks.io/programmingblockchain/content/

The book is rather short, but full of code examples, so it's a good way to start learning some blockchain programming. I'd also recommend you to get a strong grasp of cryptography, because without it you might seriously screw up something: https://bitcointalk.org/index.php?topic=2818388.0

Also, keep in mind that blockchain is a very experimental technology, so learn it at your own risk.


Title: Re: How Should I proceed in blockchain development
Post by: herrzinfakt on July 11, 2018, 04:35:22 AM
You will need programming skills if you want to dive into blockchain development.

People also refer to Solidity development, but it look more of  smart contract on Ethereum platform, I am right now, not interested in that.

Solidity is pretty easy to learn. It is mostly self-explanatory.
You should start with some basic languages and learn the general approach / routines when developing a software.


Hello Bob.
Can you suggest me a basic language and general approach to begin?
Where and how can I start to learn something like that?

I k ow a bit JavaScript...

Javascript is only going to help you with web development (mostly).
The most used language in blockchain developing is C++. But any C based languages will give you a kickstart since the syntax are all the same. Learn one and you pretty much be able to write code in others. Examples are Java, C#, C++ or Python, or newer languages like Swift, Kotlin (not suggested).

Among all languages, Python is the easiest to start with and compile. After that you can start learning C++, and it is a little harder to compile and debug C++ code. Just a heads up, C++ is one of the strictest language that I have known so far. With it, you will need to care about Memory leaks which is one of the hardest thing in C++.


Title: Re: How Should I proceed to become a block chain developer.
Post by: centive on July 12, 2018, 08:15:55 AM
There are numerous online resources on manual platforms on Github or online courses on Udemy as well. Another great choice would be blockchain courses on https://www.pluralsight.com/search?q=blockchain , well most are free and great instructors as well.


Title: Re: How Should I proceed to become a block chain developer.
Post by: fredo123 on July 13, 2018, 11:28:40 AM

I look forward to your help
Understanding the basics, One of the biggest hurdles with anything as new and revolutionary such as the blockchain technology, is familiarizing oneself with various concepts integral to the system, If you are a beginner, There are certain terms that you need to familiar with, Blockchain, Decentralized, Concensus Mechanism, Miner's , It could be advisable to learn more on this terms that are widely used in crypto sphere, Up next it is time to educate yourself some more on the technical aspects of the blockchain.


Title: Re: How Should I proceed to become a block chain developer.
Post by: hav0k on July 14, 2018, 07:59:21 AM
Definitely you should. You just need to have patience as blockchian tech is more than creating altcoins or creating nodes. It is a life changing technology . You can search for altcoin discussion and bitcoin discussion groups on IRC as old and experienced people hang out there.


Title: Re: How Should I proceed to become a block chain developer.
Post by: r1s2g3 on July 15, 2018, 03:55:32 AM
Thank you all for your response.
I am going to lock this thread but if you really have something to suggest/add then please PM me.

If it is really helpful then I will unlock this thread for you or will post on your behalf (full credit will be given to you.)