For learning purposes, I want to create an alternative special-purpose blockchain. It would use a proof-of-work function that is different than the one in Bitcoin.

Short of forking bitcoin and going from there, where should I look into starting?

The data that the blockchain would be storing are public keys.

Bitcoin wiki: https://en.bitcoin.it/wiki/Alternative_chain

  • I can't tell what exactly you are looking for, links to resources maybe? Most alts just fork bitcoin (or a fork of bitcoin), but if you don't want to do that, then you can just code it up from scratch. A thorough understanding of how bitcoin works, though, would definitely help in designing and creating your system. You might also look at NXT, as they wrote their coin from scratch in Java.
    – morsecoder
    Commented Mar 17, 2015 at 12:40
  • I'm at a loss to where to start. Blockchains themselves are fairly simple concepts, but writing the entire p2p system from scratch might be too much work. What I'm trying to figure is how to start building a proof-of-concept implementation of my idea. Commented Mar 17, 2015 at 19:57
  • 1
    I'm kinda at a loss trying to understand what problem you're trying to solve. Is there some reason why you can't store your public keys using Namecoin, or Tahoe-LAFS, or inserting data into an OP_RETURN output? It sounds like any of those would work, and would be much easier to implement.
    – Nick ODell
    Commented Mar 18, 2015 at 1:27

2 Answers 2


What you're asking to do here is actually the definition of forking bitcoin. Short of doing this yourself in code, there are services such as http://coincreator.net/ that will accomplish your goal. CoinCreator allows for you to pick your proof-of-work function from a set of predefined functions.

Good Luck!


The First step is to have your own genesis block. Use GenesisH0 or GenesisBlockZero to get Genesis Hash, Merkle Tree Root and Timestamp.

Put the collected information above into "chainparams.cpp". Compile bitcoin source code and run "bitcoind -daemon".

Now you should have the first block of your own blockchain.

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.