This project is primarily made to learn Blockchain and Cryptocurrency Technology.
Explore the docs »
View Demo
·
Report Bug
·
Request Feature
In this project you will see all of the following concepts and the blockchain will have all of the following features below:
- A Proof-of-Work Algorithm to secure the network.
- Hashing algorithms to secure the data within the blockchain we are using SHA256 algotithm for hashing.
- Mine (to create) new blocks that contain transaction data.
- Create transactions and store them in blocks.
- An API/server to interact with the blockchain from the internet (We are using localhost for demo).
- Hosted on a decentralized blockchain network.
- A consensus algorithms, verifying that the network nodes have valid data and are synchronized.
- A broadcasting system, keeping the data in the blockchain network synchronized.
This section lists major frameworks that built this project using.
This project can run locally or on a server setting up your project locally is very easy. To get a local copy up and running follow these simple steps below.
For this project nodejs is must. The official link to download and install nodejs is nodejs.org/en/download/current
- npm
npm install npm@latest -g
Installation of this project is easy.
- Clone the repo
git clone https://github.com/mascarenhasneil/blockchain.git
- Install NPM packages - this will install all dependencies
npm install
Using this app and starting your own block chain is very easy.
- I have pre-created 5 nodes for this network. If needed you can add more. Do this by addding this to package.json file. For example:
node_<Number>": "nodemon --watch dev -e js dev/api.js <Port Number> http://localhost:<Port Number>"
- We need to run each node in different terminal so to create a network. To start the node enter this command. For node 1:
npm run node_1
Follow this by replacing the number of each node till all nodes are running.
- I need a break, having a coffee. brb
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
Neil Mascarenhas - About me?
Project Link: https://github.com/mascarenhasneil/Blockchain
- BC - also known as Blockchain Community blockchain.community
- Book: Blockchain: Blueprint for a New Economy- Book by Melanie Swan. You can buy book here - no strings attached.
- Book: Blockchain Basics: A Non-Technical Introduction in 25 Steps- Book by Daniel Drescher
- Eric Traub - codingjavascript.com
- Hasib Anwar - 101blockchains.com