Skip to content

musicboy0322/Distributed-Ledger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Distributed-Ledger

  • Motivation: After participating in a blockchain project, I realized blockchain is fundametally a large-scale distributed system which is an area I had never deeply explored before. This insight motivated me to actively seek new knowledge and challenge myself by implementing a distributed ledger system similar to blockchain. Through this project, I aim to expand my skills and deepen my understanding of distributed systems.

  • Purpose: To develop an application that simulates blockchain-like functionality using distributed ledger concepts.

  • Command:

    • Check Money: Verify the balance of target wallet.
    • Check Log: Review the history transition of target wallet.
    • Transition: Transfer money from one wallet to another.
  • System Feature:

    • Implementing multi-threading in each node using Goroutines to increase connection throughput and concurrency.

    • Using Socket TCP to handle long connections among nodes and short conncetions on the client side.

    • Using Kubernetes to manage Docker for stimulating mutiple nodes.

      Screenshot 2025-03-29 at 9 25 21 AM Screenshot 2025-03-29 at 9 26 30 AM
  • Blockchain Feature:

    • Each node acts as both a data store and an entry point for transactions.
    • Each node follows the principle of eventual consistency when storing transaction information.
    • Every transaction information is stored on all nodes.
    • Clients do not store any transaction information.
    • Clients randomly connect to a node for transaction submission and transaction log retrieval.
  • Technique:

    • Programming Language: Golang
    • Network Programming: Socket, TCP
    • DevOps Tools: Docker, Kubernetes(Minikube)
  • Demo: https://youtu.be/h7gLIvKN9pk

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published