<p>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 <a href="http://coincreator.net/" rel="nofollow">http://coincreator.net/</a> that will accomplish your goal. CoinCreator allows for you to pick your proof-of-work function from a set of predefined functions.</p>

<p>Good Luck!</p>

CC BY-SA 3.0
2015-03-18T16:23:03.080Z
2015-03-18T16:23:03.080Z
Spencer Powell
<p>The First step is to have your own genesis block. Use <a href="https://github.com/lhartikk/GenesisH0" rel="nofollow">GenesisH0</a> or <a href="https://github.com/Gnaf/GenesisBlockZero" rel="nofollow">GenesisBlockZero</a> to get Genesis Hash, Merkle Tree Root and Timestamp. <br></p>

<p>Put the collected information above into "chainparams.cpp". Compile bitcoin source code and run "bitcoind -daemon". <br></p>

<p>Now you should have the first block of your own blockchain.</p>

CC BY-SA 3.0
2015-03-19T01:14:01.583Z
2015-03-19T01:14:01.583Z
moshaholo
<p>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.</p>

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

<p>The data that the blockchain would be storing are public keys.</p>

<p>Bitcoin wiki: <a href="https://en.bitcoin.it/wiki/Alternative_chain" rel="nofollow">https://en.bitcoin.it/wiki/Alternative_chain</a></p>

CC BY-SA 3.0
2015-03-17T12:40:48.217Z
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
CC BY-SA 3.0
2015-03-17T19:57:33.143Z
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.
CaptainCake
CC BY-SA 3.0
2015-03-18T01:27:33.313Z
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](https://www.tahoe-lafs.org/trac/tahoe-lafs), or inserting data into an [OP_RETURN output](http://bitcoin.stackexchange.com/questions/25224/what-is-a-step-by-step-way-to-insert-data-in-op-return/36439#36439)? It sounds like any of those would work, and would be much easier to implement.
Nick ODell
<blockchain><alternatives>
Create alternative blockchain with proof-of-work
CaptainCake
# Create alternative blockchain with proof-of-work

(Asked by: username_0 on 2015-03-16)

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>

**Tags:** blockchain, alternatives

> **Comments:**
> **username_1**: 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.  
> **username_0**: 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.  
> **username_2**: 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](https://www.tahoe-lafs.org/trac/tahoe-lafs), or inserting data into an [OP_RETURN output](http://bitcoin.stackexchange.com/questions/25224/what-is-a-step-by-step-way-to-insert-data-in-op-return/36439#36439)? It sounds like any of those would work, and would be much easier to implement.  

---

## 2 answers

### Answer by username_3 on 2015-03-18. Score: 1

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!


---

### Answer by username_4 on 2015-03-19. Score: 1

The First step is to have your own genesis block. Use [GenesisH0](https://github.com/lhartikk/GenesisH0) or [GenesisBlockZero](https://github.com/Gnaf/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.


---

