Which codebase would you recommend for a novice who wants to create and run an altcoin in order to understand the technology - like a student compiling their own version of MINIX in order to understand operating systems?

If you want an objective criterion for difficulty, that would be how many lines of code are in the repository, not counting common libraries. Personally, I'm not interested in implementations in languages like Python that are considered easy to learn.

  • Litecoin is a popular choice, but SegWit won't make it easier.
  • I know Cryptonote is a more complicated protocol than Bitcoin. But what about Nxt, or other cryptocurrencies developed from scratch rather than copying Bitcoin?
  • Would Ethereum be relatively comprehensible if you removed the smart contract/EVM code?
  • I know there are tools to generate your own altcoin, but that would defeat the educational purpose, wouldn't it?

2 Answers 2


You could take a look at Jeremy Rubin's TinyCoin: https://github.com/JeremyRubin/tinycoin

It is, exactly as the name suggests, a very small cryptocurrency written in python which is designed purely for learning purposes. Might be what you're after :)

  • Thanks! That's exactly what I was looking for, although the code could use more comments. TinyCoin is limited to 1000 lines of code, so it's not as tiny as NaiveChain.
    – ProkhorZ
    Commented Sep 22, 2017 at 19:24

It's not a complete cryptocurrency, but NaiveChain by Lauri Hartikka shows how a blockchain works in 210 lines of JavaScript code. It includes hashing of previous blocks, choosing the longest chain and communication between nodes. But there's no consensus algorithm like Proof of Work. That's probably why it's called NaiveChain. You can view and play with the source code on the naivechain Github repository.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.