Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: bitkoyim on March 19, 2023, 10:34:56 AM



Title: How to Start Blockchain Development?
Post by: bitkoyim on March 19, 2023, 10:34:56 AM
Hi, community!

I am a beginner in blockchain and I want to build my own blockchain network, not for profit, to improve myself only. I simply know how Bitcoin work and I can explain it to anyone who does not know it.

However, in blockchain development, I do not know how to start "technically". Yes, I can develop my own blockchain but probably it will not be similar to Bitcoin so I want to imitate Satoshi's mindset as much as I can, so I want to learn how Bitcoin work technically, not theoretically.

I decided to follow the resources:
-> https://developer.bitcoin.org/
-> https://en.bitcoin.it/wiki/Main_Page
-> The Blockchain Developer: A Practical Guide for Designing, Implementing, Publishing, Testing, and Securing Distributed Blockchain-based Projects by Elad Elrom
-> Mastering Bitcoin Book - https://github.com/bitcoinbook/bitcoinbook
-> Some Udemy courses

However, I wonder about your ideas about what should I focus on, first. How can I learn blockchain development the best? The time is valuable. :)

Thank you.


Title: Re: How to Start Blockchain Development?
Post by: paid2 on March 19, 2023, 12:46:54 PM
However, in blockchain development, I do not know how to start "technically". Yes, I can develop my own blockchain but probably it will not be similar to Bitcoin so I want to imitate Satoshi's mindset as much as I can, so I want to learn how Bitcoin work technically, not theoretically.

However, I wonder about your ideas about what should I focus on, first. How can I learn blockchain development the best? The time is valuable. :)

You could have a look on the pre-release version of BitcoinCore
You can find the pre-release, v0.1.0, and v0.1.3 here, on the Satoshi Institute website : https://satoshi.nakamotoinstitute.org/code/
It can give you a nice start and a source of inspiration.

However, I see that you quoted Mastering Bitcoin book. This one will be more than useful for your project I think. But maybe just like an additionnal layer of help when it is required.

If you aren't against the idea to pay for some ressources, as you already mentionned, you have plenty Udemy courses which are explaining how to start a Bitcoin-like/based blockchain from scratch. The issue with Udemy course is to find one which is not too superficial and newbie-friendly, A lot of them are only focusing on super basic things, and doesn't help a lot to increase your understanding of BTC once you already own some good knowledges.

Finally, this book will give you the best starting point possible in my opinion : Programming Bitcoin- Learn how to Program Bitcoin from Scratch : https://books.google.bg/books/about/Programming_Bitcoin.html?id=OIuGtgEACAAJ&redir_esc=y

(And maybe, you could use ChatGPT for that purpose, but I don't really know, I haven't tested it yet)

Have a nice journey with Bitcoin programming !


Title: Re: How to Start Blockchain Development?
Post by: vjudeu on March 19, 2023, 02:02:03 PM
Quote
And maybe, you could use ChatGPT for that purpose, but I don't really know, I haven't tested it yet
Not really, because so far I reached only sources, where the whole program does not compile at all, or freeze on the first checked case (and it was for simple programs, like prime number generator, for more complex issues it was even worse). Also, even if ChatGPT has access to block hashes, it cannot just give it to you without modifications, you will reach invalid headers, and most computations are plain wrong. For example, when trying to use that for SHA-1, this chat claimed that 0x5a827999 squared is equal to 0x35a1e5a9ac99ab99, while the true answer is 0x1fffffff4d25fd71 (this is even worse, because ChatGPT seems to know that to get this result, using sqrt(2) is needed, it can give formulas, and all stuff, but it makes a lot of mistakes during most computations). Even in the latest version GPT-4, it is still terrible at computing, and I've got around 90% wrong answers for very basic questions. It is temporarily banned on StackOverflow (https://meta.stackoverflow.com/questions/421831/temporary-policy-chatgpt-is-banned), because those answers are completely wrong too many times.


Title: Re: How to Start Blockchain Development?
Post by: wajik-tempe on March 19, 2023, 02:43:52 PM
Did you have computer science background ? you'll need to choose a programming language to work with. Popular options for blockchain development include Python, JavaScript, Solidity, and C++. Consider your existing programming skills and interests when choosing a language to work with.
And then start by building a simple blockchain network with basic features such as creating blocks, adding transactions, and validating transactions. after that, keep practice and learn from existing blockchain projects also you can contribute to open-source blockchain projects to gain more hands-on experience.


Title: Re: How to Start Blockchain Development?
Post by: BitMaxz on March 19, 2023, 03:44:02 PM
I have a big source where you can learn about blockchain and you can start to build your blockchain right away by following the DIY guide from this link below.

-  https://github.com/openblockchains/awesome-blockchains#do-it-yourself-diy---build-your-own-blockchain

It has 5 different languages such as Python, Ruby, JavaScript, Java, Go and Python. Just choose where you want to focus.

Another source is the one below.

-  https://github.com/yjjnls/awesome-blockchain

It includes other altcoin blockchains and development. Hope that this is enough to learn about building your own blockchain.


Title: Re: How to Start Blockchain Development?
Post by: bitkoyim on March 19, 2023, 06:45:39 PM
You could have a look on the pre-release version of BitcoinCore
You can find the pre-release, v0.1.0, and v0.1.3 here, on the Satoshi Institute website : https://satoshi.nakamotoinstitute.org/code/
It can give you a nice start and a source of inspiration...

Thank you so much! They are really awesome resources, will help me.

--------

Did you have computer science background ? you'll need to choose a programming language to work with. Popular options for blockchain development include Python, JavaScript, Solidity, and C++. Consider your existing programming skills and interests when choosing a language to work with.
And then start by building a simple blockchain network with basic features such as creating blocks, adding transactions, and validating transactions. after that, keep practice and learn from existing blockchain projects also you can contribute to open-source blockchain projects to gain more hands-on experience.

Yes, I have computer science background and I am planning to develop my blockchain in Go or Rust. Thank you for advices.

--------

I have a big source where you can learn about blockchain and you can start to build your blockchain right away by following the DIY guide from this link below...

How a great resource! Thank you.


Title: Re: How to Start Blockchain Development?
Post by: Husna QA on March 20, 2023, 11:59:01 PM
However, I wonder about your ideas about what should I focus on, first. How can I learn blockchain development the best? The time is valuable. :)
When I learned Blockchain through several courses on Udemy, including this one: https://www.udemy.com/course/build-your-blockchain-az/ (https://www.udemy.com/course/build-your-blockchain-az/), at least I had to understand several programming languages ​​such as Python, Javascript with React, Solidity or any other language.

I have computer science background and I am planning to develop my blockchain in Go or Rust.
I think you can more easily develop your Blockchain when you have such a foundation.
Try to learn some source code from what already exists, at least for you to emulate in the early stages, before you finally make a different version.


Title: Re: How to Start Blockchain Development?
Post by: hZti on March 24, 2023, 09:52:11 AM

I have computer science background and I am planning to develop my blockchain in Go or Rust.
I think you can more easily develop your Blockchain when you have such a foundation.
Try to learn some source code from what already exists, at least for you to emulate in the early stages, before you finally make a different version.

A lot of stuff in the crypto world is also open source, so you can probably also start by looking at different projects and see what they have done so far. In many cases you can also get paid in Altcoins projects to do some small work and get a lot of information and can talk to other developers.


Title: Re: How to Start Blockchain Development?
Post by: BlackHatCoiner on March 24, 2023, 05:31:39 PM
I'm not quite sure what you want. If you want to familiarize yourself with Blockchain technically, then you can start coding small parts of it. Choose a programming language you're professional to, and start implementing things like mining blocks, signing messages, creating transactions etc. If you want to dive into the hard part of Bitcoin Core development, you can check doxygen (https://doxygen.bitcoincore.org/).


Title: Re: How to Start Blockchain Development?
Post by: darkv0rt3x on March 24, 2023, 08:31:42 PM
However, I wonder about your ideas about what should I focus on, first. How can I learn blockchain development the best? The time is valuable. :)
When I learned Blockchain through several courses on Udemy, including this one: https://www.udemy.com/course/build-your-blockchain-az/ (https://www.udemy.com/course/build-your-blockchain-az/), at least I had to understand several programming languages ​​such as Python, Javascript with React, Solidity or any other language.

I have computer science background and I am planning to develop my blockchain in Go or Rust.
I think you can more easily develop your Blockchain when you have such a foundation.
Try to learn some source code from what already exists, at least for you to emulate in the early stages, before you finally make a different version.

I tink I took the same as you did but I haven't praticed since so most of the things are gone! :(
https://www.udemy.com/course/build-your-blockchain-az/

And also enroled in this one prior to the above:
https://www.udemy.com/course/complete-python-developer-zero-to-mastery


Title: Re: How to Start Blockchain Development?
Post by: thecodebear on March 24, 2023, 10:23:56 PM
You could have a look on the pre-release version of BitcoinCore
You can find the pre-release, v0.1.0, and v0.1.3 here, on the Satoshi Institute website : https://satoshi.nakamotoinstitute.org/code/
It can give you a nice start and a source of inspiration...

Thank you so much! They are really awesome resources, will help me.

--------

Did you have computer science background ? you'll need to choose a programming language to work with. Popular options for blockchain development include Python, JavaScript, Solidity, and C++. Consider your existing programming skills and interests when choosing a language to work with.
And then start by building a simple blockchain network with basic features such as creating blocks, adding transactions, and validating transactions. after that, keep practice and learn from existing blockchain projects also you can contribute to open-source blockchain projects to gain more hands-on experience.

Yes, I have computer science background and I am planning to develop my blockchain in Go or Rust. Thank you for advices.

--------

I have a big source where you can learn about blockchain and you can start to build your blockchain right away by following the DIY guide from this link below...

How a great resource! Thank you.

Oh cool I'm doing the same thing. I just started learning Rust the other day and I want to work on learning blockchain dev and try to build a significant blockchain project in Rust. Eventual goal would be to do something in the Bitcoin ecosystem but I figure building my own thing even if just as a hobby project would be fun and help educate me on blockchain dev.


Title: Re: How to Start Blockchain Development?
Post by: Husna QA on March 24, 2023, 11:40:27 PM
A lot of stuff in the crypto world is also open source, so you can probably also start by looking at different projects and see what they have done so far. In many cases you can also get paid in Altcoins projects to do some small work and get a lot of information and can talk to other developers.
To go straight into a paid project, at least you must understand how to build Blockchain. While here, the OP is still asking how to start.


I tink I took the same as you did but I haven't praticed since so most of the things are gone! :(
https://www.udemy.com/course/build-your-blockchain-az/

And also enroled in this one prior to the above:
https://www.udemy.com/course/complete-python-developer-zero-to-mastery
When I entered the sub-lessons about "Create Blockchain" from there, I must learn at least the Python language. Therefore, to make it easier, you must understand the programming language. I also took several courses on Python, one of which is the same as you mentioned above.


Title: Re: How to Start Blockchain Development?
Post by: JamesBorn on March 27, 2023, 11:22:50 AM
I have a big source where you can learn about blockchain and you can start to build your blockchain right away by following the DIY guide from this link below.

-  https://github.com/openblockchains/awesome-blockchains#do-it-yourself-diy---build-your-own-blockchain

It has 5 different languages such as Python, Ruby, JavaScript, Java, Go and Python. Just choose where you want to focus.

Another source is the one below.

-  https://github.com/yjjnls/awesome-blockchain

It includes other altcoin blockchains and development. Hope that this is enough to learn about building your own blockchain.

Sir, thank you this really helps. But will interesting in getting more guides if you don't mind because this my first attempt on github to build block chain but the languages python, JavaScript, Java, go and python are a bit confusing. I hope to get more assistant from you sir. Thank you