Long story short, I want to set up a private chain/a testnet blockchain that can run locally just to fiddle and play with it just to learn how it works. So I have a general understanding of how things work and thought that to really learn I would need to reverse engineer and play with it as much as I can.
So, how would I go about that? What I am looking for is ideally a step by step clear, beginner friendly explanation because I am aiming at blockchains written in javascript (lisk, nimiq) or, in python(bismuth)
Let me first tell you what I thought of or, what I think concerning ways to do that. I imagine I would have to:
- Decide which existing blockchain would resemble the most with what I have in mind regarding the consensus algorithm
- Download it from GitHub
- Establish a dev environment
- Run different tests and let my brain do its magic
Now with regards to those steps, I have few questions:
- Am I missing something like an intermediary step let’s say?
- Regarding step 1 where should I look, what parts of a blockchain will be the deciding factors for me choosing one over the other say considering that I want to introduce a new consensus algorithm?
- Regarding step 2, how would I download a blockchain but ignore the transaction history (this will be a new altcoin starting with genesis block) or is that more like something I change within the code not sure?
- Regarding step 3, this is where I would appreciate a step by step response since I have no idea what to download and what steps to take to get from: "I have the code" stage to "I can play with it and test different things" stage.
- Regarding step 4: except deleting part of the code, changing variables value, switch order or lines what else could help me to understand better how the code works?
Thank you