3

I am a newbie to Monero development.

I am trying to understand what steps I would need to take to to Fork Monero, make some changes to number of coins etc and create a wallet. Can anyone outline the steps?

seek adventure
  • 2,239
  • 13
  • 51
James
  • 301
  • 1
  • 3
  • 14
  • did you get this working? seems to me that cryptonote is pretty much dead with just a few new coins coming out and the current cryptonight coins are all dying in the exchanges. monero is unforkable in my opinion, hence no fork guide, and no one willing to help you work on your altcoin. – Henry Jan 17 '19 at 11:56

1 Answers1

3

Monero is based on Cryptonote, which has a forking guide. This guide will show you the places in Monero's codebase that you'll want to examine and modify: https://github.com/cryptonotefoundation/cryptonote#cryptonote-forking-how-to

The main things you'll want to do are:

  1. Name the fork
  2. Decide on the total money supply, emission curve and time between blocks
  3. Have a unique value for the daemon Network identifier so that your fork doesn't clash with existing Monero nodes
  4. Set up seed nodes where new nodes will connect to discover the blockchain to sync to
  5. Set a wallet address prefix that is different to Monero's, to prevent confusion
  6. Create the genesis block
  7. Build the code to create executables
knaccc
  • 8,468
  • 16
  • 22
  • roughly how many hours would it take from Fork to creating executable? When Cryptonote updates their codebase, how would we update our Fork? – James Jun 05 '18 at 09:41
  • You could probably get it up and running in a day. To be clear, you want to edit the Monero codebase, but the Cryptonote fork guide will show you where in the Monero codebase to change things. When Monero's codebase updates, you'd have to manually merge it into your codebase using version control tools. – knaccc Jun 05 '18 at 11:47
  • Do I run the executable code on the seed nodes? If not, where do run the executable and how do I configure the Seed nodes? – James Jun 13 '18 at 14:08
  • When someone using your new cryptocurrency starts their own node, it needs to know some nodes to connect to in order to discover the entire network of nodes. So you have to run the daemon on a reliable machine, and then put the hostname or IP address of that machine into the "m_seed_nodes_list" in the source code. – knaccc Jun 14 '18 at 14:32
  • is the executable the same as the daemon? – James Jun 14 '18 at 18:01
  • is CryptoNote dead? If so, how does this impact Monero and any Fork I make? https://monero.stackexchange.com/questions/8560/is-cryptonote-org-dead – James Jun 14 '18 at 18:04
  • yes, run the daemon. Monero is a fork of cryptonote, so no one really cares about cryptonote any more. All of the focus is on making Monero better, not making cryptonote better. – knaccc Jun 14 '18 at 18:25
  • In your original comment, you said to follow the CryptoNote guide. But with the above comments in mind, therefore, when it comes to Forking Monero, is it a case of using the CryptoNote guide but insread of Forking the CryptoNote repo, I instead Fork the Monero repo. – James Jun 14 '18 at 21:26
  • Yes you fork Monero. Since there is no Monero forking guide, the next best thing is the cryptonote forking guide, which will help you figure out where to look in the Monero codebase since they're very similar codebases. – knaccc Jun 14 '18 at 22:00
  • the CryptoNote guide is out of date. The CryptoNote guide refers to variables and locations that nolonger apply. I have created a new post regarding this now. See https://monero.stackexchange.com/questions/8633/monero-forking-guide – James Jun 25 '18 at 12:39