Skip to content

Implement a fully-functional blockchain network consisting of Nodes (peer-to-peer communication, blocks, transactions, consensus, REST API), Mining software (proof-of-work), Wallet software (handle private keys + sign and send transactions), Faucet app (to request free coins) and Block Explorer app (to browse the blocks and transactions).

Notifications You must be signed in to change notification settings

YogaRecodingDNA/Blockchain-Network

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 

Repository files navigation

VinyasaChain Educational Blockchain-Network

homepage

About The Project

Implemented a blockchain architecture complete with nodes, wallet, faucet, miner & block explorer.

What I learned

This was a fun and challenging project. I was able to utilize all of my knowledge into one application. Enhancing my understanding of node interaction between peers, and how data flows to and from the blockchain was an enlightening experience. Every aspect of this project helped to further solidify my programming knowledge in all areas, but more specifically, blockchain.

Installation

You will be up and running in 4 simple steps

// Step 1
npm install

// Step 2
npm start

// Step 3 RUN PEER NODES
Open separate terminals for each node
npm run node_1 (Genesis Node)
npm run node_2
npm run node_3
npm run node_4
npm run node_5

// Step 4
Open your browser and go to http://localhost:9999/

Languages

Built With

Recommended Dependanices


Features


1. Blockchain

explorer

Functionality

  • Displays all blocks and block information.
  • Displays blocks & transactions total count.
  • Displays total peers count and links to peer node info.
  • Displays current Difficulty.
  • Search bar for quick access to information.

2. Block Explorer

explorer

Functionality

  • Displays lastest blocks & transactions.
  • Displays block information.
  • Displays transaction information. (Pending & Confirmed).
  • Displays transaction history of addresses.
  • Displays balances (pending, confirmed, and safe) for addresses.
  • Search bar for quick access to information.

3. Faucet

faucet

Functionality

  • Coin request limit is set to 5,000 PRANA
  • Additional coins can be requested after a 90 second delay.
  • Donate button lets you send coins back to the faucet
  • The total balance of the faucet is displayed at all times.

4. Miner & Peer Nodes

miner

Functionality

  • Sync miner to their connected wallet.
  • Only mines if pending transactions are present.
  • Validates Transactions.
  • Block Validations.
  • Multiple node synchronization.
  • Mining Jobs.
  • Consensus Verification.

5. Wallet

wallet home

Key & Address Derivation

create new wallet

derived key & address

Sign & Send Transactions

send transaction

signed and sent transaction

Get Balances

wallet balances

displayed balances

Open Existing Wallet With Your Private Key

wallet restore

wallet restored

Functionality

  • Wallet key & address derivation
  • Wallet transaction sign & send
  • Check balances
  • Use a private key to restore the wallet

Created By

About

Implement a fully-functional blockchain network consisting of Nodes (peer-to-peer communication, blocks, transactions, consensus, REST API), Mining software (proof-of-work), Wallet software (handle private keys + sign and send transactions), Faucet app (to request free coins) and Block Explorer app (to browse the blocks and transactions).

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages