Skip to content

pjc0247/minichain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

                                        _       _      _           _       
                                       (_)     (_)    | |         (_)      
                              _ __ ___  _ _ __  _  ___| |__   __ _ _ _ __  
                             | '_ ` _ \| | '_ \| |/ __| '_ \ / _` | | '_ \ 
                             | | | | | | | | | | | (__| | | | (_| | | | | |
                             |_| |_| |_|_|_| |_|_|\___|_| |_|\__,_|_|_| |_|
                            
                                      Minimal implementation of blockchain
                                                         Written in CSharp
                                                         pjc0247@naver.com
This project contains some known bugs and may not be fixed.
But you can still learn how blockchain system works.

I'm currently working on the another fork of this project. 
This includes some fixes which is not fixed in `minichain`.
Please check the repository below:
https://github.com/pjc0247/mchain

Minimal implementation of BLOCKCHAIN, written in CSharp.
Documentation

a

You can learn

  • P2P communication between nodes
  • How to create(mine) a new block and distribute to chain
  • Consensus based on Proof of work
  • Store/Retrive data(state) into blockchain
  • Signing transaction (Using asymmetric key validation)

You can also learn (See example projects)

  • Create a hardfork update to ongoing blockchain.
  • Bad node attack

Sub repositories

Specification

  • Consensus

    • Proof of Work
  • Block Structure

  • Block Validation

    • txs must be a non empty array (except genesis-block)
    • txs[0] must be a reward transaction.
    • Check the block has valid minerAddress
    • Check the block proper difficulty
    • Check the nonce with block difficulty

About

a Minimal implementation of BLOCKCHAIN.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages