Giter Club home page Giter Club logo

coinage's Introduction

ClarkeCoin -- Cryptocurrency for normal programmers

This is an ongoing project to implement a simplistic cryptocurrency network modeled after Bitcoin but streamlined for the purpose of being easier to follow (and build). As we go we'll be learning about the core ideas that make Bitcoin work, and getting a lot of practice with some interesting algorithmic and cryptographic problems.

Background Reading

If you're new to the ideas of cryptocurrencies in general, these are some great resources to get you started. The Minimum Viable Blockchain article especially is a great crash course for someone new to the ideas.

Conceptual Overview

This notes doc has a high-level overview of many of the issues we'll need to solve during the project.

Project Iterations

  • Iteration 0 - Creating Wallets and Signing/Serializing Transactions
  • Iteration 1 - Creating and Mining Blocks
  • Iteration 2 - Working with the BlockChain -- checking balances and generating payment transactions
  • Iteration 3 - Networking Basics -- connecting with TCP and handling basic message types
  • Iteration 4 - Validating Incoming Transactions and Blocks
  • Iteration 5 - Extended Networking: Discovering Additional Peers and Forwarding Valid Blocks and Transactions
  • Iteration 6 - Mining: Aggregating Transactions and Solving Blocks
  • Iterations 7+ - Advanced Topics - Mining optimizations, Base58-Check encoding, multi-address wallets, Wallet GUI, Node DNS Server, etc.

Knowns and Unknowns

Anyone who's spent much time at Turing knows we try to be very comfortable "operating in uncertainty." This is definitely an experiment and there will certainly be hiccups along the way. Most importantly, there will be much less handholding throughout the process than in standard Turing projects.

I have a general plan and rough design for how each system will work, but it's going to be up to all of us to collectively work out the details along the way. I'll be directing lots of questions to the group and relying on our collective problem-solving ability to resolve them.

coinage's People

Contributors

worace avatar marlomajor avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.