A short introduction to understanding the blockchain by building one yourself. Maketh uses Python and Jupyer Notebooks to give an education implementation of a barebones cryptocurrency that leverages the concept that is a "blockchain."
By the end of this tutorial you will have:
- Understood the core concepts of blockchain (in the context of Bitcoin)
- Implemented several key blockchain algorithms on a high-level
- Built a rudimentary, hackable blockchain (don't worry, you'll hack it yourself first)
The currency that you will build today is similar to Bitcoin. As such, I will explain core blockchain concepts in the context of Bitcoin. Since I'll often use specefic examples, certain parts of this guide may not be true for another cryptocurrency or project implemented on a blockchain. The cryptocurrency that you build will feature only the minimal funtionality required to be considered a local cryptocurrency. This means that it can only be run on a singular node, and is constrained to, your computer. Consider this tutorial an educational introduction to the various elements that comprise a blockchain:
- Wallets
- Transactions
- Blocks
- Mining
- Consensus
We'll start with the smallest elements then work our way to more macro concepts, building incrementally on what we've learned.
Maketh was built in Python 3. This can be most easily installed using Homebrew.
$ brew install python3
Start by cloning the repository. Optionally, you can fork your own version of the repository and clone that version instead.
$ git clone https://github.com/Meeshbhoombah/maketh.git
Cloning into 'maketh'...
remote: Counting objects: 39, done.
Create a virtual envrionment and install Jupyter Notebooks. The simplest way is to use Conda, instructions for installation can be found here.
$ conda create --name maketh
Which can then be activated.
$ source activate maketh
- Add detailed explainer of the wallet