Bitcoin Forum

Alternate cryptocurrencies => Altcoin Discussion => Topic started by: pixel on April 13, 2013, 08:07:37 PM



Title: How do you create an altcoin?
Post by: pixel on April 13, 2013, 08:07:37 PM
I'm bored, its the weekend. I was thinking of creating an altcoin for fun, I won't release it, it would just be cool to get it running and see how fast mining is. Hopefully its not to hard :3 If it is I have a VPS with nothing on it I could use for some sort of litecoin web script.

Thanks :D


Title: Re: How do you create an altcoin?
Post by: c4n10 on April 13, 2013, 08:16:00 PM
I'm bored, its the weekend. I was thinking of creating an altcoin for fun, I won't release it, it would just be cool to get it running and see how fast mining is. Hopefully its not to hard :3 If it is I have a VPS with nothing on it I could use for some sort of litecoin web script.

Thanks :D

Really the only requirement necessary to make an "alt-coin" is to edit the hash of the genesis block recognized by the client.

In order to answer this question appropriately we need to know what "features" (i.e. re-target time, base difficulty, hashing algo, etc..) you desire the coin to have so we can tell you what would need to be edited.


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 08:25:51 PM
Interesting!   Watching this topic  ;D


Title: Re: How do you create an altcoin?
Post by: Blindfolded on April 13, 2013, 08:27:29 PM
I'm bored, its the weekend. I was thinking of creating an altcoin for fun, I won't release it, it would just be cool to get it running and see how fast mining is. Hopefully its not to hard :3 If it is I have a VPS with nothing on it I could use for some sort of litecoin web script.

Thanks :D

I'll help you mine weekend-coin!  ;D


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 08:29:30 PM
I'm bored, its the weekend. I was thinking of creating an altcoin for fun, I won't release it, it would just be cool to get it running and see how fast mining is. Hopefully its not to hard :3 If it is I have a VPS with nothing on it I could use for some sort of litecoin web script.

Thanks :D

Really the only requirement necessary to make an "alt-coin" is to edit the hash of the genesis block recognized by the client.

In order to answer this question appropriately we need to know what "features" (i.e. re-target time, base difficulty, hashing algo, etc..) you desire the coin to have so we can tell you what would need to be edited.

I'm really aiming for something that makes mining easy and quick for everyone (I shouldn't have to go out and build a $1000 mining PC initially).


Title: Re: How do you create an altcoin?
Post by: Blindfolded on April 13, 2013, 08:31:18 PM
I'm bored, its the weekend. I was thinking of creating an altcoin for fun, I won't release it, it would just be cool to get it running and see how fast mining is. Hopefully its not to hard :3 If it is I have a VPS with nothing on it I could use for some sort of litecoin web script.

Thanks :D

Really the only requirement necessary to make an "alt-coin" is to edit the hash of the genesis block recognized by the client.

In order to answer this question appropriately we need to know what "features" (i.e. re-target time, base difficulty, hashing algo, etc..) you desire the coin to have so we can tell you what would need to be edited.

I'm really aiming for something that makes mining easy and quick on GPUs. So i'm assuming that a good algorithm would be SHA-256. But if there is an algorithm out there that is easier on GPUs then that would be great to.

I would recommend something other than SHA256 there are lots of current examples of why.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 08:32:41 PM
I'm bored, its the weekend. I was thinking of creating an altcoin for fun, I won't release it, it would just be cool to get it running and see how fast mining is. Hopefully its not to hard :3 If it is I have a VPS with nothing on it I could use for some sort of litecoin web script.

Thanks :D

Really the only requirement necessary to make an "alt-coin" is to edit the hash of the genesis block recognized by the client.

In order to answer this question appropriately we need to know what "features" (i.e. re-target time, base difficulty, hashing algo, etc..) you desire the coin to have so we can tell you what would need to be edited.

I'm really aiming for something that makes mining easy and quick on GPUs. So i'm assuming that a good algorithm would be SHA-256. But if there is an algorithm out there that is easier on GPUs then that would be great to.   edited! :D


I would recommend something other than SHA256 there are lots of current examples of why.

Actually just edited that post sense I got a better idea of what I want, so yah I was assuming this :D


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 08:34:19 PM
Using something other than SHA256/Scrypt will require you to create a mining program compatible with your selected algo.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 08:36:56 PM
Using something other than SHA256/Scrypt will require you create a mining program compatible with your selected algo.
Is there a list of others somewhere?


Title: Re: How do you create an altcoin?
Post by: Blindfolded on April 13, 2013, 08:37:35 PM
Using something other than SHA256/Scrypt will require you create a mining program compatible with your selected algo.

At the same time creating another alt-coin with it is pointless and dangerous to the vitality of the coin.

...But for just a closed hobby project it would be no issue really.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 08:39:49 PM
If there are not any mining clients out there that support things besides SHA-256 or Scrypt then either of those could be fine, I don't want to have to go about making a new mining application or somthing.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 08:46:29 PM
Lets go with scrypt sence its easier on CPUs than sha-256


Title: Re: How do you create an altcoin?
Post by: Blindfolded on April 13, 2013, 08:48:33 PM
Lets go with scrypt sence its easier on CPUs than sha-256

IMO it is a better choice.



What about Difficulty re-target and block rate?


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 08:54:25 PM
Lets go with scrypt sence its easier on CPUs than sha-256

IMO it is a better choice.



What about Difficulty re-target and block rate?
What do you think? Im at a loss here :P


Title: Re: How do you create an altcoin?
Post by: Blindfolded on April 13, 2013, 08:55:30 PM
Lets go with scrypt sence its easier on CPUs than sha-256


I guess you will need to get the litecoin source and start editing. I won't be much help with that tho. :(


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 09:03:54 PM
Ive cloned the litecoin source, and its downloaded on my computer. Now what? XD


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 09:08:07 PM
Lets go with scrypt sence its easier on CPUs than sha-256

IMO it is a better choice.



What about Difficulty re-target and block rate?
What do you think? Im at a loss here :P

Really it's your choice.

Litecoin re-targets every 2-3 days.
Mincoin re-targets 2 times a day.
 
Plus how often do you want to find a block?
Every minute... every 10 minutes?

This will directly effect how long it takes to confirm transactions.



Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 09:09:51 PM
Lets go with scrypt sence its easier on CPUs than sha-256

IMO it is a better choice.



What about Difficulty re-target and block rate?
What do you think? Im at a loss here :P

Really it's your choice.

Litecoin re-targets every 2-3 days.
Mincoin re-targets 2 times a day.
 
Plus how often do you want to find a block?
Every minute... every 10 minutes?

This will directly effect how long it takes to confirm transactions.



Lets re-target every 3-4 days
And find a block every 5 minutes


Title: Re: How do you create an altcoin?
Post by: Blindfolded on April 13, 2013, 09:12:13 PM
Lets go with scrypt sence its easier on CPUs than sha-256

IMO it is a better choice.



What about Difficulty re-target and block rate?
What do you think? Im at a loss here :P

Really it's your choice.

Litecoin re-targets every 2-3 days.
Mincoin re-targets 2 times a day.
 
Plus how often do you want to find a block?
Every minute... every 10 minutes?

This will directly effect how long it takes to confirm transactions.



Lets re-target every 3-4 days
And find a block every 5 minutes


sounds fun!


How many coins total? and when should the reward be halved?


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 09:18:03 PM
Lets go with scrypt sence its easier on CPUs than sha-256

IMO it is a better choice.



What about Difficulty re-target and block rate?
What do you think? Im at a loss here :P

Really it's your choice.

Litecoin re-targets every 2-3 days.
Mincoin re-targets 2 times a day.
 
Plus how often do you want to find a block?
Every minute... every 10 minutes?

This will directly effect how long it takes to confirm transactions.



Lets re-target every 3-4 days
And find a block every 5 minutes 2 minutes


sounds fun!


How many coins total? and when should the reward be halved?


How about 50 million coins
and it can half every 5 years

and Im actually gonna change to a block every 2 minutes


Title: Re: How do you create an altcoin?
Post by: Blindfolded on April 13, 2013, 09:19:51 PM
Lets go with scrypt sence its easier on CPUs than sha-256

IMO it is a better choice.



What about Difficulty re-target and block rate?
What do you think? Im at a loss here :P

Really it's your choice.

Litecoin re-targets every 2-3 days.
Mincoin re-targets 2 times a day.
 
Plus how often do you want to find a block?
Every minute... every 10 minutes?

This will directly effect how long it takes to confirm transactions.



Lets re-target every 3-4 days
And find a block every 5 minutes


sounds fun!


How many coins total? and when should the reward be halved?


How about 50 million coins
and it can half every 5 years

are you sure that adds up?


Title: Re: How do you create an altcoin?
Post by: WeTradeCoins on April 13, 2013, 09:21:01 PM
God i wish i had your free time :P


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 09:21:57 PM
Lets go with scrypt sence its easier on CPUs than sha-256

IMO it is a better choice.



What about Difficulty re-target and block rate?
What do you think? Im at a loss here :P

Really it's your choice.

Litecoin re-targets every 2-3 days.
Mincoin re-targets 2 times a day.
 
Plus how often do you want to find a block?
Every minute... every 10 minutes?

This will directly effect how long it takes to confirm transactions.



Lets re-target every 3-4 days
And find a block every 5 minutes

Above posted was edited, quote not up to date


sounds fun!


How many coins total? and when should the reward be halved?


How about 50 million coins
and it can half every 5 years

are you sure that adds up?


Whats wrong with it?


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 09:23:33 PM
God i wish i had your free time :P
Yay for being in high school :D


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 09:25:40 PM
Well, some calculations are needed.
For example... finding a block every 2 minutes - how many would you find after 5 years of mining?


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 09:25:50 PM
I meant 50 million total coins

The reward will be 25 and that will half every 5 years


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 09:27:14 PM
Well, some calculations are needed.
For example... finding a block every 2 minutes - how many would you find after 5 years of mining?


I could just stick with the litecoin defualt :D


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 09:30:27 PM
I still need some instruction on how to start doing this :/

 https://i.imgur.com/c1GFLvD.png


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 09:41:28 PM
It's important to know what those parameters are and how to set them.
What if something goes wrong -- and you want to modify the re-targeting.

It's good to have an understanding of where these parameters live.


Title: Re: How do you create an altcoin?
Post by: Blindfolded on April 13, 2013, 09:45:22 PM
It's important to know what those parameters are and how to set them.
What if something goes wrong -- and you want to modify the re-targeting.

It's good to have an understanding of where these parameters live.


+1


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 09:49:16 PM
It's important to know what those parameters are and how to set them.
What if something goes wrong -- and you want to modify the re-targeting.

It's good to have an understanding of where these parameters live.


+1
Ive been looking around the bitcoin wiki for this info but I have not found any good explanation


Title: Re: How do you create an altcoin?
Post by: jhd on April 13, 2013, 09:58:38 PM
Interested topic!!


Title: Re: How do you create an altcoin?
Post by: Brunic on April 13, 2013, 10:06:42 PM
This topic is a breath of fresh air. With all the bubble mania, DDoS, the insults and fight everywhere, this is really awesome to see. If a complete noob can make a new coin, it proves easily how the concept of crypto-currencies is brilliant! :)


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 10:11:37 PM
Thanks for the interest everyone, it will keep me from giving up :D.

Ive decided on a 50 coin reward for each solved block and that will half every 4-5 years. As for the total amount of coins i think i'll go with 25 million coins. Does this sound good?

Edit: forgot to mention a re-target of 3-4 days


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 13, 2013, 10:14:51 PM
Thanks for the interest everyone, it will keep me from giving up :D.

Ive decided on a 50 coin reward for each solved block and that will half every 4-5 years. As for the total amount of coins i think i'll go with 25 million coins. Does this sound good?
Sounds genius, something which we have not seen before  ;D ;D :D :D


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 10:16:20 PM
Thanks for the interest everyone, it will keep me from giving up :D.

Ive decided on a 50 coin reward for each solved block and that will half every 4-5 years. As for the total amount of coins i think i'll go with 25 million coins. Does this sound good?
Sounds genius, something which we have not seen before  ;D ;D :D :D

I detect your sarcasm... i think  lol


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 10:22:17 PM
Lol... people will say all kinds of stuff... I like the thought of exploring the settings for a 'fun coin'.

My guess (and please don't shoot me).... is most of what is needed is in main.cpp as far as default settings go.
Someone with a bit more experience will need to chime in on this one:


32   uint256 hashGenesisBlock("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2");
33   static CBigNum bnProofOfWorkLimit(~uint256(0) >> 20); // Litecoin: starting difficulty is 1 / 2^12

59   int64 nTransactionFee = 0;
60   int64 nMinimumInputValue = CENT / 100;

Block Reward
831  int64 nSubsidy = 50 * COIN;


Title: Re: How do you create an altcoin?
Post by: Brunic on April 13, 2013, 10:22:41 PM
Hey pixel, I've been looking at the code.

I think I found the maximum quantity of coin, it seems it's a single variable in the src/main.h file, line 35. You also have other interesting variables there between lines 30 and 40.


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 10:24:57 PM
Hey pixel, I've been looking at the code.

I think I found the maximum quantity of coin, it seems it's a single variable in the src/main.h file, line 35. You also have other interesting variables there between lines 30 and 40.

Wow ... it seems like the block reward is hard coded into the cpp file.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 10:25:50 PM
And we begin diving into the code, ive got my terminal window open and the git repository cloned :D Lets go! :D


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 13, 2013, 10:28:27 PM
And we begin diving into the code, ive got my terminal window open and the git repository cloned :D Lets go! :D
Usually when you start making a coin, you have to realize that there are more people on Windows here than on Unix/Unix-like platforms, so a Windows binary is a must. Whereas Linux users can most of the time make;make install it very easily.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 10:29:18 PM
I will create a windows binary and a mac if I can. Im just editing files on debian.


Title: Re: How do you create an altcoin?
Post by: Brunic on April 13, 2013, 10:29:59 PM
Lol... people will say all kinds of stuff... I like the thought of exploring the settings for a 'fun coin'.

My guess (and please don't shoot me).... is most of what is needed is in main.cpp as far as default settings go.
Someone with a bit more experience will need to chime in on this one:


32   uint256 hashGenesisBlock("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2");
33   static CBigNum bnProofOfWorkLimit(~uint256(0) >> 20); // Litecoin: starting difficulty is 1 / 2^12

59   int64 nTransactionFee = 0;
60   int64 nMinimumInputValue = CENT / 100;

Block Reward
831  int64 nSubsidy = 50 * COIN;


It seems that everything you need is in main.ccp and main.h. Every other files are "support" files, like to build the keys, define the algorithm and other support functionalities.

As for changing the algorithm, I don't think it's going to be that easy to remove Scrypt and put something else. That Scrypt.c file is scary as hell :D


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 10:32:35 PM
Im using scrypt so i hope i won't have a problem there :D


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 13, 2013, 10:33:06 PM
Lol... people will say all kinds of stuff... I like the thought of exploring the settings for a 'fun coin'.

My guess (and please don't shoot me).... is most of what is needed is in main.cpp as far as default settings go.
Someone with a bit more experience will need to chime in on this one:


32   uint256 hashGenesisBlock("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2");
33   static CBigNum bnProofOfWorkLimit(~uint256(0) >> 20); // Litecoin: starting difficulty is 1 / 2^12

59   int64 nTransactionFee = 0;
60   int64 nMinimumInputValue = CENT / 100;

Block Reward
831  int64 nSubsidy = 50 * COIN;


It seems that everything you need is in main.ccp and main.h. Every other files are "support" files, like to build the keys, define the algorithm and other support functionalities.

As for changing the algorithm, I don't think it's going to be that easy to remove Scrypt and put something else. That Scrypt.c file is scary as hell :D
To be honest I was thinking of doing an alt-coin myself, but ultimately wanted to bring something new on the table in terms of proof-of-work algorithm, as even scrypt proved useless against GPUs.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 10:35:13 PM
Should I put the binaries and etc. up in this thread when im done?


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 10:35:50 PM
Scrypt 'could' make GPUs useless if tuned a certain way.
I remember reading about this in the forums here sometime last year when GPUs started to dominate Litecoin.

What that tuning was, I could not say.


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 13, 2013, 10:36:47 PM
Should I put the binaries and etc. up in this thread when im done?
You first need to create a genesis block. Even when I asked I couldn't fully understand the process.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 10:36:53 PM
Ok, should I just change some numbers and letters in this line?

Code:
32   uint256 hashGenesisBlock("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2");


Title: Re: How do you create an altcoin?
Post by: ZephramC on April 13, 2013, 10:37:09 PM
Lol... people will say all kinds of stuff... I like the thought of exploring the settings for a 'fun coin'.

My guess (and please don't shoot me).... is most of what is needed is in main.cpp as far as default settings go.
Someone with a bit more experience will need to chime in on this one:


32   uint256 hashGenesisBlock("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2");
33   static CBigNum bnProofOfWorkLimit(~uint256(0) >> 20); // Litecoin: starting difficulty is 1 / 2^12

59   int64 nTransactionFee = 0;
60   int64 nMinimumInputValue = CENT / 100;

Block Reward
831  int64 nSubsidy = 50 * COIN;


It seems that everything you need is in main.ccp and main.h. Every other files are "support" files, like to build the keys, define the algorithm and other support functionalities.

As for changing the algorithm, I don't think it's going to be that easy to remove Scrypt and put something else. That Scrypt.c file is scary as hell :D
To be honest I was thinking of doing an alt-coin myself, but ultimately wanted to bring something new on the table in terms of proof-of-work algorithm, as even scrypt proved useless against GPUs.

You can always do a Donkey-Kong proof-of-work :-]]] https://bitcointalk.org/index.php?topic=164569.msg1812149#msg1812149


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 10:37:15 PM
Should I put the binaries and etc. up in this thread when im done?

You should create a github account (it's free I believe) and push your source (and binaries) to your account.
This will be important to keep the project open source and have everything available.

Otherwise you're just creating an RUCoin.


Title: Re: How do you create an altcoin?
Post by: Blindfolded on April 13, 2013, 10:37:28 PM
Scrypt 'could' make GPUs useless if tuned a certain way.
I remember reading about this in the forums here sometime last year when GPUs started to dominate Litecoin.

What that tuning was, I could not say.



Interesting, i like the sound of that.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 10:38:58 PM
Should I put the binaries and etc. up in this thread when im done?

You should create a github account (it's free I believe) and push your source (and binaries) to your account.
This will be important to keep the project open source and have everything available.

Otherwise you're just creating an RUCoin.

I shall


Title: Re: How do you create an altcoin?
Post by: Brunic on April 13, 2013, 10:40:07 PM
Scrypt 'could' make GPUs useless if tuned a certain way.
I remember reading about this in the forums here sometime last year when GPUs started to dominate Litecoin.

What that tuning was, I could not say.


Exactly. Some variable in Scrypt wasn't set high enough. I believe it's the function at line 263 in scypt.c. The "1024", if set higher should render the algorithm hard enough that even GPU couldn't get an advantage. I'm using my very limited knowledge and my memory of what I read though, so I believe I'm 10% correct  ;D


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 13, 2013, 10:40:12 PM
The problem with github, is it's really really hard to use. I am on Windows, and have absolutely no idea how to use it in terms of committing/merging and so on.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 10:41:01 PM
Ive used it before, I have a python script up on mine right now


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 13, 2013, 10:41:29 PM
Ok, should I just change some numbers and letters in this line?

Code:
32   uint256 hashGenesisBlock("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2");
No!!!. The genesis block process is not as simple as that. You ACTUALLY need to mine it as a regular block. It's also a process that I don't understand. This is probably the thing that will slow you down the most.


Title: Re: How do you create an altcoin?
Post by: Blindfolded on April 13, 2013, 10:43:11 PM
Ok, should I just change some numbers and letters in this line?

Code:
32   uint256 hashGenesisBlock("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2");
No!!!. The genesis block process is not as simple as that. You ACTUALLY need to mine it as a regular block. It's also a process that I don't understand. This is probably the thing that will slow you down the most.


I did not know this. Looks like I'm goint to learn something today!  :)


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 10:44:18 PM
Ok, should I just change some numbers and letters in this line?

Code:
32   uint256 hashGenesisBlock("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2");
No!!!. The genesis block process is not as simple as that. You ACTUALLY need to mine it as a regular block. It's also a process that I don't understand. This is probably the thing that will slow you down the most.

Well if i start mining this genesis block am i not just mining litecoins?


Title: Re: How do you create an altcoin?
Post by: Brunic on April 13, 2013, 10:45:53 PM
Ok, should I just change some numbers and letters in this line?

Code:
32   uint256 hashGenesisBlock("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2");
No!!!. The genesis block process is not as simple as that. You ACTUALLY need to mine it as a regular block. It's also a process that I don't understand. This is probably the thing that will slow you down the most.

What if you start a solo server and you configure your miner to mine at this server? Like if you solo mine Bitcoin or Litecoin, but now you're solo mining Noobcoin.


Title: Re: How do you create an altcoin?
Post by: Blindfolded on April 13, 2013, 10:47:00 PM
Ok, should I just change some numbers and letters in this line?

Code:
32   uint256 hashGenesisBlock("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2");
No!!!. The genesis block process is not as simple as that. You ACTUALLY need to mine it as a regular block. It's also a process that I don't understand. This is probably the thing that will slow you down the most.

What if you start a solo server and you configure your miner to mine at this server? Like if you solo mine Bitcoin or Litecoin, but now you're solo mining Noobcoin.

Noobcoin.... awesome!


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 13, 2013, 10:47:50 PM
The genesis block is created from this piece of code

Quote
       const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" //<- change this to something else;
        CTransaction txNew;
        txNew.vin.resize(1);
        txNew.vout.resize(1);
        txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
        txNew.vout[0].nValue = 50 * COIN //your premine basically;
        txNew.vout[0].scriptPubKey = CScript() << ParseHex("<public key from an ECDSA keypair>") << OP_CHECKSIG;
        CBlock block;
        block.vtx.push_back(txNew);
        block.hashPrevBlock = 0;
        block.hashMerkleRoot = block.BuildMerkleTree();

Now you mine that.


Title: Re: How do you create an altcoin?
Post by: Brunic on April 13, 2013, 10:48:56 PM
Ok, should I just change some numbers and letters in this line?

Code:
32   uint256 hashGenesisBlock("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2");
No!!!. The genesis block process is not as simple as that. You ACTUALLY need to mine it as a regular block. It's also a process that I don't understand. This is probably the thing that will slow you down the most.

Well if i start mining this genesis block am i not just mining litecoins?

Litecoin is simply a blockchain, like Bitcoin is another blockchain. I guess that changing the hash shouldn't be that problematic. As long as you have your own blockchain, you cannot merge on another one.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 10:49:01 PM
So what exactly should I be doing now?  ???

I guidance through this


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 10:49:31 PM
The genesis block is created from this piece of code

Quote
       const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" <- change this to something else;
        CTransaction txNew;
        txNew.vin.resize(1);
        txNew.vout.resize(1);
        txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
        txNew.vout[0].nValue = 50 * COIN;
        txNew.vout[0].scriptPubKey = CScript() << ParseHex("<public key from an ECDSA keypair>") << OP_CHECKSIG;
        CBlock block;
        block.vtx.push_back(txNew);
        block.hashPrevBlock = 0;
        block.hashMerkleRoot = block.BuildMerkleTree();

Now you mine that.


Yes... I read it's common practice (as it were) to put the headline from the current newspaper in the genesis block code.


Title: Re: How do you create an altcoin?
Post by: Brunic on April 13, 2013, 10:50:04 PM
The genesis block is created from this piece of code

Quote
       const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" //<- change this to something else;
        CTransaction txNew;
        txNew.vin.resize(1);
        txNew.vout.resize(1);
        txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
        txNew.vout[0].nValue = 50 * COIN //your premine basically;
        txNew.vout[0].scriptPubKey = CScript() << ParseHex("<public key from an ECDSA keypair>") << OP_CHECKSIG;
        CBlock block;
        block.vtx.push_back(txNew);
        block.hashPrevBlock = 0;
        block.hashMerkleRoot = block.BuildMerkleTree();

Now you mine that.

Where is it? Which file, which line?


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 13, 2013, 10:50:12 PM


Yes... I read it's common practice (as it were) to put the headline from the current newspaper in the genesis block code.

Not necessarily, for instance Litecoin used Steve Jobs's death. If it was me, I'd have chosen Cypress's bailout. It would've been the equivalent to satoshi's message and would've guaranteed you success :D


Title: Re: How do you create an altcoin?
Post by: Brunic on April 13, 2013, 10:52:30 PM
So what exactly should I be doing now?  ???

Help us look for the damn Start blockchain button  ;D

But what if you compile your code, start it with the -server function and try to mine it?


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 13, 2013, 10:53:45 PM
So what exactly should I be doing now?  ???

Help us look for the damn Start blockchain button  ;D

But what if you compile your code, start it with the -server function and try to mine it?
I don't think it can work like that, since the client assumes that a genesis block already exists. Since it doesn't in your case, you need a custom miner.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 10:54:35 PM
I can use guiminer-scrypt


Title: Re: How do you create an altcoin?
Post by: Blindfolded on April 13, 2013, 10:54:48 PM
So what exactly should I be doing now?  ???

Help us look for the damn Start blockchain button  ;D

But what if you compile your code, start it with the -server function and try to mine it?


Who wants to buy some noobcoins now!


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 13, 2013, 10:56:14 PM
Well you guys are in luck though, I was provided with this piece of code that does what you want, although it's in python AND CPU-based, so it will take some time.

https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py of course you still need a valid merkle root, as the one there is just an example.


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 10:57:39 PM
Well you guys are in luck though, I was provided with this piece of code that does what you want, although it's in python AND CPU-based, so it will take some time.

https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py of course you still need a valid merkle root.

+1 
Nice!!  ;D


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:00:08 PM
So what exactly should I be doing now?  ???

Help us look for the damn Start blockchain button  ;D

But what if you compile your code, start it with the -server function and try to mine it?


Who wants to buy some noobcoins now!

Lets not get ahead of ourselves, We don't even have most of the variables set


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:01:07 PM
Well you guys are in luck though, I was provided with this piece of code that does what you want, although it's in python AND CPU-based, so it will take some time.

https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py of course you still need a valid merkle root.

+1  
Nice!!  ;D
Does it work with scrypt?

ƞoobcoin is a good name though :D

On the road to 50ƞ


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 11:10:20 PM
Well you guys are in luck though, I was provided with this piece of code that does what you want, although it's in python AND CPU-based, so it will take some time.

https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py of course you still need a valid merkle root.

+1  
Nice!!  ;D
Does it work with scrypt?

ƞoobcoin is a good name though :D

On the road to 50ƞ

Lol.. noobcoin... "new B coin"... whatever.
It's a fun exercise!


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:11:03 PM
Im still a little confused, What should I be doing right now? lol  ;D ???


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 11:14:02 PM
Im still a little confused, What should I be doing right now? lol  ;D ???

Hmm... a checklist would be in order....

Update the settings on main.h/.cpp
Update the code for the genesis block
Use Remember remember the 5th of November's Find Genesis Block

Fuzzy here:
Put hash of genesis block in settings.
Compile new coin code.
Launch client w/ -server
Mine?


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:16:07 PM
Im still a little confused, What should I be doing right now? lol  ;D ???

Hmm... a checklist would be in order....

Update the settings on main.h/.cpp
Update the code for the genesis block
Use Remember remember the 5th of November's Find Genesis Block

Fuzzy here:
Put hash of genesis block in settings.
Compile new coin code.
Launch client w/ -server
Mine?

Ah good,

Im updating the settings in the main files now. So far I have changed the max number of coins.

Code:
static const int64 MAX_MONEY = 25000000 * COIN; // N00bcoin: maximum of 25 million coins (sound familiar?)


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:18:47 PM
It would be cool to get some altcoin devs in here, were are all of them? :3


Title: Re: How do you create an altcoin?
Post by: bitcool on April 13, 2013, 11:19:37 PM
Make a noob_x_coin DIY guide, and sell it for btc/ltc. I am sure there are people who are interested.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:22:56 PM
Make a noob_x_coin DIY guide, and sell it for btc/ltc. I am sure there are people who are interested.
I'll put it up here for free :D


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 11:24:57 PM
It would be cool to get some altcoin devs in here, were are all of them? :3

Busy with their coins!   ;D



Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:32:39 PM
Ok, I belive im done editing the variables, I left some alone because I didn't know what they did but I edited the ones that I understood and wanted to. Onto the next step?

main.h: http://codebin.org/view/86b9cbe6
main.cpp: http://codebin.org/view/7ff16959


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:33:44 PM
Quote
Update the code for the genesis block

How do we do this?


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 11:38:58 PM
The genesis block is created from this piece of code

Quote
       const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks" //<- change this to something else;
        CTransaction txNew;
        txNew.vin.resize(1);
        txNew.vout.resize(1);
        txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
        txNew.vout[0].nValue = 50 * COIN //your premine basically;
        txNew.vout[0].scriptPubKey = CScript() << ParseHex("<public key from an ECDSA keypair>") << OP_CHECKSIG;
        CBlock block;
        block.vtx.push_back(txNew);
        block.hashPrevBlock = 0;
        block.hashMerkleRoot = block.BuildMerkleTree();

Now you mine that.

This is the code for the genesis block.
I am very unclear here... if this is a part of the code base, or a part of 5th's Genesis Block finder.


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 11:40:44 PM
In addition 5th said you need a valid Merkle root... that the one in his code was for illustration.
Someone with experience will need to chime in on that one.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:43:20 PM
In addition 5th said you need a valid Merkle root... that the one in his code was for illustration.
Someone with experience will need to chime in on that one.
What is the Merkle root?


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 13, 2013, 11:44:25 PM
In addition 5th said you need a valid Merkle root... that the one in his code was for illustration.
Someone with experience will need to chime in on that one.
Truth be told I dig deep and deep in Bitcoin's source and it does some kind of serialization of objects and stuff and finally produces a merkle root hash..seriously ridiculously hard to even figure out what the hell happens.


Title: Re: How do you create an altcoin?
Post by: uMMcQxCWELNzkt on April 13, 2013, 11:46:03 PM
I would like to create a coin :O, one that is not GPU dependent. I have been developing a FPS on and off the last year so perhaps I could create a video game and you mine coins in game? I actually also like the idea of creating a coin that some how rewards ethical work. Can anyone point me to a tutorial, preferably noob proof.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:46:50 PM
I would like to create a coin :O, one that is not GPU dependent. I have been developing a FPS on and off the last year so perhaps I could create a video game and you mine coins in game? I actually also like the idea of creating a coin that some how rewards ethical work. Can anyone point me to a tutorial, preferably noob proof.
There are no tutorials, thats why this thread was created


Title: Re: How do you create an altcoin?
Post by: Byte-Gox on April 13, 2013, 11:47:35 PM
In addition 5th said you need a valid Merkle root... that the one in his code was for illustration.
Someone with experience will need to chime in on that one.
Truth be told I dig deep and deep in Bitcoin's source and it does some kind of serialization of objects and stuff and finally produces a merkle root hash..seriously ridiculously hard to even figure out what the hell happens.

Your post count is 666 and you mentioned hell on your 666 post. :|


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:48:08 PM
In addition 5th said you need a valid Merkle root... that the one in his code was for illustration.
Someone with experience will need to chime in on that one.
Truth be told I dig deep and deep in Bitcoin's source and it does some kind of serialization of objects and stuff and finally produces a merkle root hash..seriously ridiculously hard to even figure out what the hell happens.

Your post count is 666 and you mentioned hell on your 666 post. :|
OMG! I was just thinking this :D :D :D


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 13, 2013, 11:48:29 PM
Best I can find:

Merkle root
Every transaction has a hash associated with it. In a block, all of the transaction hashes in the block are themselves hashed (sometimes several times -- the exact process is complex), and the result is the Merkle root. In other words, the Merkle root is the hash of all the hashes of all the transactions in the block. The Merkle root is included in the block header. With this scheme, it is possible to securely verify that a transaction has been accepted by the network (and get the number of confirmations) by downloading just the tiny block headers and Merkle tree -- downloading the entire block chain is unnecessary. This feature is currently not used in Bitcoin, but it will be in the future.

https://en.bitcoin.it/wiki/Vocabulary (https://en.bitcoin.it/wiki/Vocabulary)

However... it's still nebulous as to 'how' it's initially created.


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:49:13 PM
Have we come to the consensus that no one in this thread (currently) knows how to start going about creating the genesis block?


Title: Re: How do you create an altcoin?
Post by: jackjack on April 13, 2013, 11:51:09 PM
I know there's an old post in this forum that explains clearly how to make that genesis block


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:54:17 PM
I know there's an old post in this forum that explains clearly how to make that genesis block
And the hunt begins


Title: Re: How do you create an altcoin?
Post by: chris200x9 on April 13, 2013, 11:55:51 PM
interesting thread, thanks!


Title: Re: How do you create an altcoin?
Post by: pixel on April 13, 2013, 11:57:04 PM
interesting thread, thanks!
Thank you for your interest


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 13, 2013, 11:57:21 PM
In addition 5th said you need a valid Merkle root... that the one in his code was for illustration.
Someone with experience will need to chime in on that one.
Truth be told I dig deep and deep in Bitcoin's source and it does some kind of serialization of objects and stuff and finally produces a merkle root hash..seriously ridiculously hard to even figure out what the hell happens.

Your post count is 666 and you mentioned hell on your 666 post. :|
OMG! I was just thinking this :D :D :D
LOL, I didn't even notice.


Title: Re: How do you create an altcoin?
Post by: chris200x9 on April 14, 2013, 12:00:02 AM
Didn't read all through it yet but maybe this helps? https://bitcointalk.org/index.php?topic=171355.0


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 14, 2013, 12:02:26 AM
Ok, so we basically have this

Code:
        const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks";
        CTransaction txNew;
        txNew.vin.resize(1);
        txNew.vout.resize(1);
        txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
        txNew.vout[0].nValue = 50 * COIN;
        txNew.vout[0].scriptPubKey = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG;
        CBlock block;
        block.vtx.push_back(txNew);
        block.hashPrevBlock = 0;
        block.hashMerkleRoot = block.BuildMerkleTree();

What we are interested in is, BuildMerkleTree which is found in main.h

Code:
    uint256 BuildMerkleTree() const
    {
        vMerkleTree.clear();
        BOOST_FOREACH(const CTransaction& tx, vtx)
            vMerkleTree.push_back(tx.GetHash());
        int j = 0;
        for (int nSize = vtx.size(); nSize > 1; nSize = (nSize + 1) / 2)
        {
            for (int i = 0; i < nSize; i += 2)
            {
                int i2 = std::min(i+1, nSize-1);
                vMerkleTree.push_back(Hash(BEGIN(vMerkleTree[j+i]),  END(vMerkleTree[j+i]),
                                           BEGIN(vMerkleTree[j+i2]), END(vMerkleTree[j+i2])));
            }
            j += nSize;
        }
        return (vMerkleTree.empty() ? 0 : vMerkleTree.back());
    }

Next we are interested in this, I believe.

Code:
vMerkleTree.push_back(tx.GetHash());
since we have only one transaction, this will return as soon as it computes the has. So we see tx.GetHash, and that tx is of type CTransaction, so we head in that class, which is in main.h again

and see this coide

Code:
    uint256 GetHash() const
    {
        return SerializeHash(*this);
    }

which passes the instance of the object to SerializeHash. SerializeHash is located in hash.h

Code:
template<typename T>
uint256 SerializeHash(const T& obj, int nType=SER_GETHASH, int nVersion=PROTOCOL_VERSION)
{
    CHashWriter ss(nType, nVersion);
    ss << obj;
    return ss.GetHash();
}

Here we see that the object is written(I think, not sure) to ss which is an instance of CHashWriter which is also in main.h and that is where the funky business happens that is uber hard to understand.

But here we go,

Code:
class CHashWriter
{
private:
    SHA256_CTX ctx;

public:
    int nType;
    int nVersion;

    void Init() {
        SHA256_Init(&ctx);
    }

    CHashWriter(int nTypeIn, int nVersionIn) : nType(nTypeIn), nVersion(nVersionIn) {
        Init();
    }

    CHashWriter& write(const char *pch, size_t size) {
        SHA256_Update(&ctx, pch, size);
        return (*this);
    }

    // invalidates the object
    uint256 GetHash() {
        uint256 hash1;
        SHA256_Final((unsigned char*)&hash1, &ctx);
        uint256 hash2;
        SHA256((unsigned char*)&hash1, sizeof(hash1), (unsigned char*)&hash2);
        return hash2;
    }

    template<typename T>
    CHashWriter& operator<<(const T& obj) {
        // Serialize to this stream
        ::Serialize(*this, obj, nType, nVersion);
        return (*this);
    }
};

CHashWriter, small, but deadly. I guess what we are further interested in, is

Code:
    template<typename T>
    CHashWriter& operator<<(const T& obj) {
        // Serialize to this stream
        ::Serialize(*this, obj, nType, nVersion);
        return (*this);
    }
which as you calls some global function Serialize that may or may not be located in serialize.h


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 12:07:09 AM
Ok, so we basically have this

Code:
        const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks";
        CTransaction txNew;
        txNew.vin.resize(1);
        txNew.vout.resize(1);
        txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
        txNew.vout[0].nValue = 50 * COIN;
        txNew.vout[0].scriptPubKey = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG;
        CBlock block;
        block.vtx.push_back(txNew);
        block.hashPrevBlock = 0;
        block.hashMerkleRoot = block.BuildMerkleTree();

What we are interested in is, BuildMerkleTree which is found in main.h

Code:
    uint256 BuildMerkleTree() const
    {
        vMerkleTree.clear();
        BOOST_FOREACH(const CTransaction& tx, vtx)
            vMerkleTree.push_back(tx.GetHash());
        int j = 0;
        for (int nSize = vtx.size(); nSize > 1; nSize = (nSize + 1) / 2)
        {
            for (int i = 0; i < nSize; i += 2)
            {
                int i2 = std::min(i+1, nSize-1);
                vMerkleTree.push_back(Hash(BEGIN(vMerkleTree[j+i]),  END(vMerkleTree[j+i]),
                                           BEGIN(vMerkleTree[j+i2]), END(vMerkleTree[j+i2])));
            }
            j += nSize;
        }
        return (vMerkleTree.empty() ? 0 : vMerkleTree.back());
    }

Next we are interested in this, I believe.

Code:
vMerkleTree.push_back(tx.GetHash());
since we have only one transaction, this will return as soon as it computes the has. So we see tx.GetHash, and that tx is of type CTransaction, so we head in that class, which is in main.h again

and see this coide

Code:
    uint256 GetHash() const
    {
        return SerializeHash(*this);
    }

which passes the instance of the object to SerializeHash. SerializeHash is located in hash.h

Code:
template<typename T>
uint256 SerializeHash(const T& obj, int nType=SER_GETHASH, int nVersion=PROTOCOL_VERSION)
{
    CHashWriter ss(nType, nVersion);
    ss << obj;
    return ss.GetHash();
}

Here we see that the object is written(I think, not sure) to ss which is an instance of CHashWriter which is also in main.h and that is where the funky business happens that is uber hard to understand.

But here we go,

Code:
class CHashWriter
{
private:
    SHA256_CTX ctx;

public:
    int nType;
    int nVersion;

    void Init() {
        SHA256_Init(&ctx);
    }

    CHashWriter(int nTypeIn, int nVersionIn) : nType(nTypeIn), nVersion(nVersionIn) {
        Init();
    }

    CHashWriter& write(const char *pch, size_t size) {
        SHA256_Update(&ctx, pch, size);
        return (*this);
    }

    // invalidates the object
    uint256 GetHash() {
        uint256 hash1;
        SHA256_Final((unsigned char*)&hash1, &ctx);
        uint256 hash2;
        SHA256((unsigned char*)&hash1, sizeof(hash1), (unsigned char*)&hash2);
        return hash2;
    }

    template<typename T>
    CHashWriter& operator<<(const T& obj) {
        // Serialize to this stream
        ::Serialize(*this, obj, nType, nVersion);
        return (*this);
    }
};

CHashWriter, small, but deadly. I guess what we are further interested in, is

Code:
    template<typename T>
    CHashWriter& operator<<(const T& obj) {
        // Serialize to this stream
        ::Serialize(*this, obj, nType, nVersion);
        return (*this);
    }
which as you calls some global function Serialize that may or may not be located in serialize.h

We really need an altcoin dev in here


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 14, 2013, 12:10:06 AM
If Sunny King can help us, it'd be nice. But I guess the reason the genesis block creation information is not found easily is because every noob(me included) on the block will have an alt-currency out by the end of the day.


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 12:11:21 AM
Ive made a discovery... i think??

Starting on line 1,985 of main.cpp

Code:
    //
    // Init with genesis block
    //
    if (mapBlockIndex.empty())
    {
        if (!fAllowNew)
            return false;

        // Genesis Block:
        // CBlock(hash=12a765e31ffd4059bada, PoW=0000050c34a64b415b6b, ver=1, hashPrevBlock=00000000000000000000, hashMerkleRoot=97ddfbbae6, nTime=1317972665, nBits=1e0ffff0, nNonce=2084524493, vtx=1)
        //   CTransaction(hash=97ddfbbae6, ver=1, vin.size=1, vout.size=1, nLockTime=0)
        //     CTxIn(COutPoint(0000000000, -1), coinbase 04ffff001d0104404e592054696d65732030352f4f63742f32303131205374657665204a6f62732c204170706c65e280997320566973696f6e6172792c2044696573206174203536)
        //     CTxOut(nValue=50.00000000, scriptPubKey=040184710fa689ad5023690c80f3a4)
        //   vMerkleTree: 97ddfbbae6

        // Genesis block
        const char* pszTimestamp = "NY Times 05/Oct/2011 Steve Jobs, Apple’s Visionary, Dies at 56";
        CTransaction txNew;
        txNew.vin.resize(1);
        txNew.vout.resize(1);
        txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
        txNew.vout[0].nValue = 50 * COIN;
        txNew.vout[0].scriptPubKey = CScript() << ParseHex("040184710fa689ad5023690c80f3a49c8f13f8d45b8c857fbcbc8bc4a8e4d3eb4b10f4d4604fa08dce601aaf0f470216fe1b51850b4acf21b179c45070ac7b03a9") << OP_CHECKSIG;
        CBlock block;
        block.vtx.push_back(txNew);
        block.hashPrevBlock = 0;
        block.hashMerkleRoot = block.BuildMerkleTree();
        block.nVersion = 1;
        block.nTime    = 1317972665;
        block.nBits    = 0x1e0ffff0;
        block.nNonce   = 2084524493;

        if (fTestNet)
        {
            block.nTime    = 1317798646;
            block.nNonce   = 385270584;
        }


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 12:12:05 AM
If Sunny King can help us, it'd be nice. But I guess the reason the genesis block creation information is not found easily is because every noob(me included) on the block will have an alt-currency out by the end of the day.
But then how did altcoin authors create theirs?  :-\


Title: Re: How do you create an altcoin?
Post by: achillez on April 14, 2013, 12:12:19 AM
Perhaps, but a q on this. Do you really want to create a sha256 alt, or LiteCoin (or better yet PPCoin) type chain instead?  


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 14, 2013, 12:13:00 AM
Ive made a discovery... i think??
That's where I derived my information from, by following the functions.


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 12:15:03 AM
Perhaps, but a q on this. Do you really want to create a sha256 alt, or LiteCoin (or better yet PPCoin) type chain instead?  

Really either is fine at this point im just trying to get somthing running


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 14, 2013, 12:15:49 AM
If Sunny King can help us, it'd be nice. But I guess the reason the genesis block creation information is not found easily is because every noob(me included) on the block will have an alt-currency out by the end of the day.
But then how did altcoin authors create theirs?  :-\
They've learned C++ and have no issue with the C++ semantics? Understand Cryptography more than we do?


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 12:16:49 AM
If Sunny King can help us, it'd be nice. But I guess the reason the genesis block creation information is not found easily is because every noob(me included) on the block will have an alt-currency out by the end of the day.
But then how did altcoin authors create theirs?  :-\
They've learned C++ and have no issue with the C++ semantics? Understand Cryptography more than we do?
True, true  :D :P


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 12:17:33 AM
If Sunny King can help us, it'd be nice. But I guess the reason the genesis block creation information is not found easily is because every noob(me included) on the block will have an alt-currency out by the end of the day.

It's open source... it may be obscure... but that doesn't mean people don't have a right to know how to do it.
By the end of this thread hopefully we'll all know how it works!   ;)


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 14, 2013, 12:19:19 AM
If Sunny King can help us, it'd be nice. But I guess the reason the genesis block creation information is not found easily is because every noob(me included) on the block will have an alt-currency out by the end of the day.

It's open source... it may be obscure... but that doesn't mean people don't have a right to know how to do it.
By the end of this thread hopefully we'll all know how it works!   ;)
Yeah, but we likely won't understand the process itself.


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 12:20:48 AM
If Sunny King can help us, it'd be nice. But I guess the reason the genesis block creation information is not found easily is because every noob(me included) on the block will have an alt-currency out by the end of the day.

It's open source... it may be obscure... but that doesn't mean people don't have a right to know how to do it.
By the end of this thread hopefully we'll all know how it works!   ;)
This, I was not expecting this much interest when I started this thread but now myself and im sure a bunch of others really want to know what goes into this


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 12:21:50 AM
If Sunny King can help us, it'd be nice. But I guess the reason the genesis block creation information is not found easily is because every noob(me included) on the block will have an alt-currency out by the end of the day.

It's open source... it may be obscure... but that doesn't mean people don't have a right to know how to do it.
By the end of this thread hopefully we'll all know how it works!   ;)
Yeah, but we likely won't understand the process itself.

We'll figure it out   ;D


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 12:23:24 AM
If Sunny King can help us, it'd be nice. But I guess the reason the genesis block creation information is not found easily is because every noob(me included) on the block will have an alt-currency out by the end of the day.

It's open source... it may be obscure... but that doesn't mean people don't have a right to know how to do it.
By the end of this thread hopefully we'll all know how it works!   ;)
Yeah, but we likely won't understand the process itself.

We'll figure it out   ;D
I like your positive attitude :D


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 12:27:13 AM
Is this whole thing on hold till we can get someone to help with the genesis block?


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 14, 2013, 12:28:54 AM
More like till an alt-coin dev sees the thread.


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 12:30:19 AM
More like till an alt-coin dev sees the thread.
I got my fingers crossed a dev runs across it, ill keep checking in


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 12:33:26 AM
Not that it's completely relevant... but I have been in programming for over 20 years.
I'll keep researching and reading code... if nothing else, I will try to decode the process as much as I can and relay all the information back here.... unless a dev comes in and goes "Oh.. 1, 2, 3... Done!".


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 12:34:35 AM
Not that it's completely relevant... but I have been in programming for over 20 years.
I'll keep researching and reading code... if nothing else, I will try to decode the process as much as I can and relay all the information back here.... unless a dev comes in and goes "Oh.. 1, 2, 3... Done!".
Awesome, thanks for your help so far. Would have never gotten to this point. Can't wait to see how this all turns out, amazing thread.


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 14, 2013, 12:58:33 AM
Got some info from the devs of Bitcoin. Apparently this whole ordeal with Serialization is so that the data from this code

Code:
        const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks";
        CTransaction txNew;
        txNew.vin.resize(1);
        txNew.vout.resize(1);
        txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
        txNew.vout[0].nValue = 50 * COIN;
        txNew.vout[0].scriptPubKey = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG;

is converted to bytes without caring what datatype they are from.


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 01:02:06 AM
Line 2011 of main.cpp
block.hashMerkleRoot = block.BuildMerkleTree();

https://bitcointalk.org/index.php?topic=171355.0 (https://bitcointalk.org/index.php?topic=171355.0)
Final post from maaku

Looks like the Merkle root is created and output in the debug.log file


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 01:06:18 AM
However, this still doesn't explain line 7 of this file... so I am still missing something.
The hunt continues....
 
https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py (https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py)


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 01:10:58 AM
*eats popcorn* Im exited :D


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 14, 2013, 01:12:55 AM
However, this still doesn't explain line 7 of this file... so I am still missing something.
The hunt continues....
 
https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py (https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py)
Of course it does, that script basically takes an ALREADY CREATED merkle root, i.e the one you claim is output in debug.log.

Personally, I would like to write a C implementation where you provide some input and a genesis block will be created for you.


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 01:25:37 AM
Should I open an IRC channel on freenode for this subject/thread? I just crossed my mind as something that may be a good idea


Title: Re: How do you create an altcoin?
Post by: Garr255 on April 14, 2013, 01:26:51 AM
However, this still doesn't explain line 7 of this file... so I am still missing something.
The hunt continues....
 
https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py (https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py)
Of course it does, that script basically takes an ALREADY CREATED merkle root, i.e the one you claim is output in debug.log.

Personally, I would like to write a C implementation where you provide some input and a genesis block will be created for you.

So do it! Haha I remember a few years ago I tried to make GarrCoin :P (In a similar situation as you, OP, bored and in high school haha) I got stuck at the genesis block as well. I'll be following this!


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 01:30:29 AM
However, this still doesn't explain line 7 of this file... so I am still missing something.
The hunt continues....
 
https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py (https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py)
Of course it does, that script basically takes an ALREADY CREATED merkle root, i.e the one you claim is output in debug.log.

Personally, I would like to write a C implementation where you provide some input and a genesis block will be created for you.

So if I understand correctly...  (more likely it's more complex... maybe not).

The genesis block is created.
Merkle root is created and output in the debug.log
find_genesis is run to get the Time Stamp, Nonce and Hash
This is all put back into the code (With Merkle value) and compiled
We are ready to mine.




Title: Re: How do you create an altcoin?
Post by: Garr255 on April 14, 2013, 01:32:01 AM
Should I open an IRC channel on freenode for this subject/thread? I just crossed my mind as something that may be a good idea

/join #noobcoin ;)


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 14, 2013, 01:34:41 AM
However, this still doesn't explain line 7 of this file... so I am still missing something.
The hunt continues....
 
https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py (https://github.com/freicoin/freicoin/blob/master/share/find_genesis_block.py)
Of course it does, that script basically takes an ALREADY CREATED merkle root, i.e the one you claim is output in debug.log.

Personally, I would like to write a C implementation where you provide some input and a genesis block will be created for you.

So if I understand correctly...  (more likely it's more complex... maybe not).

The genesis block is created.
Merkle root is created and output in the debug.log
find_genesis is run to get the Time Stamp, Nonce and Hash
This is all put back into the code (With Merkle value) and compiled
We are ready to mine.

I think it's basically this. This is the code from Bitcoin for creating the genesis block's coinbase.

Code:
        const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks";
        CTransaction txNew;
        txNew.vin.resize(1);
        txNew.vout.resize(1);
        txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
        txNew.vout[0].nValue = 50 * COIN;
        txNew.vout[0].scriptPubKey = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG;

Which outputs this merkle 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b(though not sure if it needs to big or little endian).

Then

Quote
#!/usr/bin/env python

from hashlib import sha256

VERSION    = '01000000'.decode('hex')
PREVBLOCK  = '00'.decode('hex') * 32
MERKLEROOT = '4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b'.decode('hex')
DIFFICULTY = 'ffff001d'.decode('hex')

def block_hash(unixtime, nonce):
  unixtime = hex(unixtime)[2:].decode('hex')[::-1]
  nonce    = hex(nonce)[2:]
  nonce    = '0'*(8-len(nonce)) + nonce
  nonce    = nonce.decode('hex')[::-1]
  return sha256(sha256(
      VERSION + PREVBLOCK + MERKLEROOT + unixtime + DIFFICULTY + nonce
    ).digest()).digest()

unixtime = 1356123600
nonce    = 0
print "Starting at unixtime %d and nonce %d" % (unixtime, nonce)
while block_hash(unixtime, nonce)[-4:] != '\x00\x00\x00\x00':
  nonce = nonce+1
  if nonce > 4294967295:
    unixtime, nonce = unixtime+1, 0
    print "Advancing to unixtime %d and nonce %d" % (unixtime, nonce)
  elif 0 == (nonce%100000):
    print nonce

print 'Found block!'
print "UNIXTIME: %d" % unixtime
print "NONCE:    %d" % nonce
print "HASH:     %s" % block_hash(unixtime, nonce)[::-1].encode('hex')


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 01:52:54 AM
Hmmm......

Seems like you compile the client and run it.
Extract merkle root value.
run find genesis.
gather nonce info... locating the 'genesis' info.
reload back into code.
compile.
run with -server
mine away...

I will try going down this road and see where it goes.
will report back soon!!   ;D


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 01:55:06 AM
Hmmm......

Seems like you compile the client and run it.
Extract merkle root value.
run find genesis.
gather nonce info... locating the 'genesis' info.
reload back into code.
compile.
run with -server
mine away...

I will try going down this road and see where it goes.
will report back soon!!   ;D

Awesome, cant wait to hear results!


Title: Re: How do you create an altcoin?
Post by: bob777fred on April 14, 2013, 01:56:09 AM
Eagerly awaiting this new weekend-coin, buahaha. So glad to see you are getting support from others in creating this, please keep us updated, I will totally mine for fun when it launches.


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 02:04:23 AM
Eagerly awaiting this new weekend-coin, buahaha. So glad to see you are getting support from others in creating this, please keep us updated, I will totally mine for fun when it launches.
Thanks for the interest, I hope we can get this running. A CPU mining only *coin is in the works (or what I hope will be a CPU mining only coin).


Title: Re: How do you create an altcoin?
Post by: idev on April 14, 2013, 02:06:00 AM
Maybe this could help shed some light on the situation.
Code:
https://github.com/sacarlson/MultiCoin/blob/master/create_new_genisis_block.txt


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 02:10:41 AM
Maybe this could help shed some light on the situation.
Code:
https://github.com/sacarlson/MultiCoin/blob/master/create_new_genisis_block.txt


Saved a sleepless night.
We thank you so much!!


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 02:11:26 AM
Maybe this could help shed some light on the situation.
Code:
https://github.com/sacarlson/MultiCoin/blob/master/create_new_genisis_block.txt


Saved a sleepless night.
We thank you so much!!
Is this confirmed working?


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 02:20:17 AM
I read it and it makes sense... i am away from my dev environment atm.
I will try it though... 5th may be able to confirm as well...


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 02:25:20 AM
I read it and it makes sense... i am away from my dev environment atm.
I will try it though... 5th may be able to confirm as well...
5th got it working via his/her own method, told us in IRC


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 02:49:55 AM
I read it and it makes sense... i am away from my dev environment atm.
I will try it though... 5th may be able to confirm as well...
5th got it working via his/her own method, told us in IRC
Nice!!


Title: Re: How do you create an altcoin?
Post by: Garr255 on April 14, 2013, 03:05:40 AM
Currently we're working on an easy (easier) genesis block creation method, and rebranding of the client.

This is fun :D

freenode: /join #noobcoin


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 03:10:41 AM
Currently we're working on an easy (easier) genesis block creation method, and rebranding of the client.

This is fun :D

freenode: /join #noobcoin
Yay development!


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 03:15:43 AM
Currently we're working on an easy (easier) genesis block creation method, and rebranding of the client.

This is fun :D

freenode: /join #noobcoin


Cant join... i must be invited to the channel    :(


Title: Re: How do you create an altcoin?
Post by: Garr255 on April 14, 2013, 03:22:21 AM
Currently we're working on an easy (easier) genesis block creation method, and rebranding of the client.

This is fun :D

freenode: /join #noobcoin


Cant join... i must be invited to the channel    :(

If at first you don't succeed: try, try again.


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 03:51:04 AM
Currently we're working on an easy (easier) genesis block creation method, and rebranding of the client.

This is fun :D

freenode: /join #noobcoin


Cant join... i must be invited to the channel    :(

If at first you don't succeed: try, try again.

Lol... it's been a LONG time since I used IRC... Like --- 15+ years.
I am old!  Lol...


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 04:20:37 AM
Currently we're working on an easy (easier) genesis block creation method, and rebranding of the client.

This is fun :D

freenode: /join #noobcoin


Cant join... i must be invited to the channel    :(

If at first you don't succeed: try, try again.

Lol... it's been a LONG time since I used IRC... Like --- 15+ years.
I am old!  Lol...


Progress report?


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 04:50:26 AM
i am refreshing my dev environment and breaking until morning.... its late here in Chicago.  I watched irc for a while and i know theyre making progress there.   More tomorrow..


Title: Re: How do you create an altcoin?
Post by: Garr255 on April 14, 2013, 04:56:38 AM
I'm on the prowl for a genesis block :D


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 05:17:16 AM
I'm on the prowl for a genesis block :D
And best of luck to you!


Title: Re: How do you create an altcoin?
Post by: Walter Rothbard on April 14, 2013, 05:48:37 AM
Very nice work, guys.  Thank you for the thread, and thank you for investing in yourselves.  Do you realize how many more altcoin/bitcoin developers were just born today on this thread?


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 05:55:35 AM
Very nice work, guys.  Thank you for the thread, and thank you for investing in yourselves.  Do you realize how many more altcoin/bitcoin developers were just born today on this thread?

Still working hard :D thanks for your interest!


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 06:00:14 AM
Can someone post some sort of guide, please? Throughout the thread I have lost track of the process (what variables to edit mainly). We also don't really have a post explaining how to get the genesis block started. Sorry, but as the name of the coin suggests (noobcoin) I'm new to this, and don't have much coding experience.


Title: Re: How do you create an altcoin?
Post by: Walter Rothbard on April 14, 2013, 06:21:01 AM
Can someone post some sort of guide, please? Throughout the thread I have lost track of the process (what variables to edit mainly). We also don't really have a post explaining how to get the genesis block started. Sorry, but as the name of the coin suggests (noobcoin) I'm new to this, and don't have much coding experience.

Were you able to work through the instructions in that MultiCoin genesis block page?  I've been aware of it for some time and wishing I had time to try it out.

(Guess I'll live vicariously through you hardworking altcoin devs!)


Title: Re: How do you create an altcoin?
Post by: Garr255 on April 14, 2013, 07:06:10 AM
I'm currently over a billion nonces in searching for a genesis block :P

When and if it comes out and works, I'll post how to make one.


Title: Re: How do you create an altcoin?
Post by: Geddi on April 14, 2013, 11:41:52 AM
Hi  ;D

Read this thread about calculating the merkle root: https://bitcointalk.org/index.php?topic=12727.0 (https://bitcointalk.org/index.php?topic=12727.0)
It is calculated from the hashes of all the transactions present in the block.

Then, look at this page: https://en.bitcoin.it/wiki/Genesis_block (https://en.bitcoin.it/wiki/Genesis_block)

There is 1 transaction in that genesis block; The first 50 bitcoins.
Quote
CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1)
  CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0)
    CTxIn(COutPoint(000000, -1), coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f7 2206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73)
    CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)
Transaction hash is '4a5e1e'. (First 3 bytes ?)

The merkle root of the genesis block:

Quote
hashMerkleRoot = 0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b

and further down the page (read right to left)
Quote
3BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A - merkle root



Maybe the merkle root of the genesis block is the same as the hash of its only transaction?


Title: Re: How do you create an altcoin?
Post by: Franki23 on April 14, 2013, 12:44:56 PM
I'm very interested in this topic, I'll keep an eye on this, because is interesting how a hashGenesis works, great job!


Title: Re: How do you create an altcoin?
Post by: tacotime on April 14, 2013, 04:38:04 PM
Maybe the merkle root of the genesis block is the same as the hash of its only transaction?

Yes, it is.  The merkle root is the root hash of the hash tree for the transactions.  In the case of a block with only a coinbase transaction (the only required one) it's simply the hash of the coinbase transaction.

If you're trying to get the merkle root hash for the genesis block, just hash the coinbase tx twice or SHA256(SHA256(coinbase transaction))


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 04:52:05 PM
Still working on creating the actual genesis bock.  Marching on.....   ;D


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 04:53:09 PM
Still working on creating the actual genesis bock.  Marching on.....   ;Dt

Keep pushing! :D


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 05:05:19 PM
wth... what is a genesis bock???
I meant block  8)


Title: Re: How do you create an altcoin?
Post by: Geddi on April 14, 2013, 05:45:13 PM
wth... what is a genesis bock???

root beer (http://en.wikipedia.org/wiki/Bock)?  :D


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 05:56:46 PM
wth... what is a genesis bock???
I meant block  8)
So you are mining it now?


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 06:06:47 PM
Not quite there yet.  I've been following some instructions and i am having a slight complication.  When i get back to the dev machine I'll post what I've done so far.


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 06:13:33 PM
Not quite there yet.  I've been following some instructions and i am having a slight complication.  When i get back to the dev machine I'll post what I've done so far.
But you have a working root and genesis block?


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 06:16:02 PM
No... I was making fun of myself for misspelling genesis block as "Genesis Bock"


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 06:25:27 PM
No... I was making fun of myself for misspelling genesis block as "Genesis Bock"

Oh lol :D


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 06:35:56 PM
Ok, so I cloned this archive and compiled the headless version:
https://github.com/sacarlson/MultiCoin


I then manually created the ./.bitcoin directory -- and placed this config file in there:
I copied this from the archive and made slight changes -- this is for testing purposes only:


bitcoin.conf

# this is an example config for freecoin that you would edit and run to create a new block chain to create new currencies.
# you will need to read the document create_new_genisis_block.txt for more details on the subject.
# this file is also the only other document to see some of the added control values I added to Freecoin.
rpcpassword=wmikrut
rpcuser=explorer
#paytxfee=.01
printtoconsole=1
testnet=1
#addnode=192.168.2.143
#connect=192.168.2.143
#connect=192.168.2.122
# listen port can now be set to other than 18333 for testnet proto.
port=18333

# for the values bellow testnet_config line to be used testnet_config=1 must be set
testnet_config=1

#AddressVersion is the 8 bit (char) 0 - 255 header code appended to the first 8 bits of the send address default is 0 for main 111 for testnet.
#AddressVerson=244

#check_block is a block to verify the integrity up to this block number used with check_hash if not set it's not checked
#check_block=15

#check_hash is the hash value of the check_block number used to verify integrity of block chain
#check_hash=0x0000000350d77f3989538ae423469c77263ab44b3cb3271c44e7af1f8cc2e7cd.


#to enable scripts uncomment nonstandard=1 here this overrides IsStandard() to return true
#nonstandard=1

# set MAX_MONEY block value that can be created by minners
# be very carefull not to change this after you have created a new coin or you could loss all the coins you have
# already minned in it.  be sure to backup you wallet.dat file to be safe.
max_money=420000000

#Subsidy value is what is paid when a new block is found when minning default is 50
Subsidy=50

#custom inflation active setting
custom_inflation=1

#inflation  block setting is the triger that block numbers grater than this that will change minning value
inflation_block=4

#post inflation block Subsidy value is the value given for minned blocks after crossing inflation_block
post_Subsidy=.01

#my new Pbtc pszTimestamp for 16/Apr/2011 as found on google seen on front page of New York Times paper
#pszTimestamp="The Times 16/Apr/2011 Tornadoes and vicious winds left 17 people dead across four states."
pszTimestamp="14/Apr/13 Noobs have finally gained control of new Alt-Coin Creation.".

#these values must be with value 0x to the front to make hex format
#pbtc new block.hashMerkleRoot value
block_hashMerkleRoot=0x184715d3660cbd3de94bcbb424b959bcf2dfc28ec1de429bda25b8b6be95a3fd

#pbtc new genesisblock value
genesisblock=0x000000017135cc76e65e8f292020ab2fc92e969e65c145ecf6e8510e5d7a31f5


#Pbtc new block.ntime  time epoc of creation use date +%s to use when you create new one
block_nTime=1365952543


#Pbtc new block.nNonce  start at zero when you are creating a new one
block_nNonce=0
#block_nNonce=1038592121

#pbtc irc IP address must be in XXX.XXX.XXX.XXX format number  or set -noirc on command line for no irc
#irc_ip=92.243.23.21:6667
#irc_ip=192.168.2.250:6667

#pbtc irc address used in Tor  can be a dns lookupable address pointing to your irc server
#irc_tor_address=irc.lfnet.org
#irc_tor_address=irc.surething.biz

#COINBASE_MATURITY defaults to 100 if changed here will credit minned coins in this number of new blocks.
# this feature is now disabled in this build until I figure out the changes made around it.
#coinbase_maturity=2

#to loop to generate the first block in a new chain set this to 1 ( to create your first proto coin type)
gennewblock=1




I then followed the instructions here:
https://github.com/sacarlson/MultiCoin/blob/master/create_new_genisis_block.txt

When I launched bitcoind program... here is what I see so far:

Bitcoin version 0.3.23-beta
Default data directory /root/.bitcoin
Bound to port 18333
Loading addresses...
dbenv.open strLogDir=/root/.bitcoin/testnet/database strErrorFile=/root/.bitcoin/testnet/db.log
Loaded 0 addresses
 addresses                96ms
Loading block index...
testnet mode active
hashGenesisBlock custom configured by -genesisblock in bitcoin.conf
hashGenesisBlock is now 000000017135cc76e65e8f292020ab2fc92e969e65c145ecf6e8510e5d7a31f5
creating new genesis block I hope
 pszTimestamp = >"14/Apr/13 Noobs have finally gained control of new Alt-Coin Creation."<
block.nTime custom configured by -block_nTime in bitcoin.conf
block.nNonce custom configured by -block_nNonce in bitcoin.conf
block.nTime = 1365952543
block.nBits = 487063544
block.nBits hex = 1d07fff8
block.nNonce = 0


I looks like it's trying to generate the genesis block!!


Now... I have to mention this is for a SHA256 derivative... and not scrypt.
Will this method work with a scrypt based branch?  Unknown at the moment.

Right now I am just trying to create 'any' genesis block and work outfrom there.
More soon!!


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 06:47:21 PM
block.nTime = 1365952543
block.nNonce = 595298775
block.GetHash = 000000048842e8ee439543cd614a60189d81bc75ec7add37fd7cfa9e41054ccd
hashGenesisBlock = 000000017135cc76e65e8f292020ab2fc92e969e65c145ecf6e8510e5d7a31f5
block.hashMerkleRoot = 666c22e24d9395358ed9042332278eb35554ec53c0c1ca37cb1eb81799894ba2
bitcoind: main.cpp:1734: bool LoadBlockIndex(bool): Assertion `block.hashMerkleRoot == uint256(mapArgs["-block_hashMerkleRoot"].c_str())' failed.
Aborted (core dumped)


 ;D ;D ;D ;D ;D ;D ;D


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 06:53:57 PM
http://www.devtopics.com/wp-content/uploads/2008/05/comic.jpg

Some programming comedy just for fun :D


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 07:00:44 PM
block.nTime = 1365952543
block.nNonce = 595298775
block.GetHash = 000000048842e8ee439543cd614a60189d81bc75ec7add37fd7cfa9e41054ccd
hashGenesisBlock = 000000017135cc76e65e8f292020ab2fc92e969e65c145ecf6e8510e5d7a31f5
block.hashMerkleRoot = 666c22e24d9395358ed9042332278eb35554ec53c0c1ca37cb1eb81799894ba2
bitcoind: main.cpp:1734: bool LoadBlockIndex(bool): Assertion `block.hashMerkleRoot == uint256(mapArgs["-block_hashMerkleRoot"].c_str())' failed.
Aborted (core dumped)


 ;D ;D ;D ;D ;D ;D ;D

Try with "-debug"?

I guess the bbqcoin founder had the same problem
https://bitcointalk.org/index.php?topic=91362.0


Title: Re: How do you create an altcoin?
Post by: pixel on April 14, 2013, 07:29:37 PM
Here is a github discoverie from irc that may or may not help

Testing bitcoin with a new genesis block:
https://github.com/bitcoin/bitcoin/commit/98ba262a48b66cae8478525e809898512e997948




Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 09:53:20 PM
This is exactly what is supposed to happen.
Continuing with the documentation and 'starting' of a test coin!


Title: Re: How do you create an altcoin?
Post by: Bytas on April 14, 2013, 10:12:03 PM
this is cool :) keep going!


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 14, 2013, 11:49:18 PM
block.nTime = 1365952543
block.nNonce = 595298775
block.GetHash = 000000048842e8ee439543cd614a60189d81bc75ec7add37fd7cfa9e41054ccd
hashGenesisBlock = 000000017135cc76e65e8f292020ab2fc92e969e65c145ecf6e8510e5d7a31f5
block.hashMerkleRoot = 666c22e24d9395358ed9042332278eb35554ec53c0c1ca37cb1eb81799894ba2
bitcoind: main.cpp:1734: bool LoadBlockIndex(bool): Assertion `block.hashMerkleRoot == uint256(mapArgs["-block_hashMerkleRoot"].c_str())' failed.
Aborted (core dumped)


 ;D ;D ;D ;D ;D ;D ;D

Based on this post... I am supposed to add the following lines to the bitcoin.conf file:

block_hashMerkleRoot = 0x666c22e24d9395358ed9042332278eb35554ec53c0c1ca37cb1eb81
genesisblock = 0x000000017135cc76e65e8f292020ab2fc92e969e65c145ecf6e8510e5d7a31f
block_nTime = 1365952543
block_nNonce = 595298775


As you can see I just added 0x to the front of each number to signify this is a hex number.
Per the instructions, re-launch the compiled binary with these lines -- and wait.

Right now -- I am waiting.
I am curious to see what will happen once the process completes a second time.



Title: Re: How do you create an altcoin?
Post by: Walter Rothbard on April 15, 2013, 12:14:18 AM
Have you guys taken a look at this proposal:

https://bitcointalk.org/index.php?topic=176556.0

The proposal is for Litecoin, but since you guys have a new blockchain(s) in the works, someone might want to try their hand at implementing this as a new coin.


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 15, 2013, 12:28:11 AM
Have you guys taken a look at this proposal:

https://bitcointalk.org/index.php?topic=176556.0

The proposal is for Litecoin, but since you guys have a new blockchain(s) in the works, someone might want to try their hand at implementing this as a new coin.
As we are newbies, you can't possible expect us to do something like that now, do you?


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 15, 2013, 12:31:20 AM
Have you guys taken a look at this proposal:

https://bitcointalk.org/index.php?topic=176556.0

The proposal is for Litecoin, but since you guys have a new blockchain(s) in the works, someone might want to try their hand at implementing this as a new coin.

Interesting ideas.
Something to look at once we get comfortable with how this process works and the codes bases (bitcoin and litecoin)!


Title: Re: How do you create an altcoin?
Post by: alex_fun on April 15, 2013, 12:32:19 AM
I am playing with litecoin fork :) I have simple replaced some digits in hashGenesisBlock compiled and run, however when I start daemon it says main.cpp:2061: bool LoadBlockIndex(bool): Assertion `block.GetHash() == hashGenesisBlock' failed.

I think idea to beef up scrypt to make it cpu coin is fun :)


Title: Re: How do you create an altcoin?
Post by: Walter Rothbard on April 15, 2013, 12:33:38 AM
Have you guys taken a look at this proposal:

https://bitcointalk.org/index.php?topic=176556.0

The proposal is for Litecoin, but since you guys have a new blockchain(s) in the works, someone might want to try their hand at implementing this as a new coin.
As we are newbies, you can't possible expect us to do something like that now, do you?

I think if you guys can mint a genesis block, you can probably figure that proposal out as well!


Title: Re: How do you create an altcoin?
Post by: meteors2888 on April 15, 2013, 12:34:53 AM
I've found the GenesisBlock of Litecoin & Mincoin are same. ??? ??? ???
uint256 hashGenesisBlock("0x12a765e31ffd4059bada1e25190f6e98c99d9714d334efa41a195a7e7e04bfe2");
https://github.com/SandyCohen/mincoin/blob/master/src/main.cpp
https://github.com/litecoin-project/litecoin/blob/master/src/main.cpp


Title: Re: How do you create an altcoin?
Post by: alex_fun on April 15, 2013, 12:36:43 AM
Come to freenode channel #noobcoin I think we might solve it together soon :)


Title: Re: How do you create an altcoin?
Post by: Remember remember the 5th of November on April 15, 2013, 04:08:48 AM
I expected at least one alt-coin developer to see this thread and respond, but I am feeling now that they won't do it purely so a new alt-coin does not replace theirs, even if we are newbs here.


Title: Re: How do you create an altcoin?
Post by: alex_fun on April 15, 2013, 04:10:28 AM
Progress simply happens :)


Title: Re: How do you create an altcoin?
Post by: jackjack on April 15, 2013, 06:50:41 AM
I expected at least one alt-coin developer to see this thread and respond, but I am feeling now that they won't do it purely so a new alt-coin does not replace theirs, even if we are newbs here.
Same...

Maybe it's time to create a 'collaborative' coin where all users decide what they want to do


Title: Re: How do you create an altcoin?
Post by: Luke-Jr on April 15, 2013, 11:15:44 AM
I expected at least one alt-coin developer to see this thread and respond, but I am feeling now that they won't do it purely so a new alt-coin does not replace theirs, even if we are newbs here.
Same...

Maybe it's time to create a 'collaborative' coin where all users decide what they want to do
Already exists, it's called... Bitcoin!

Too bad most of those users are unwilling to do anything to help "what they want to do" get done any faster, so everything only happens at the fastest speed volunteers can get them done.


Title: Re: How do you create an altcoin?
Post by: jackjack on April 15, 2013, 11:27:12 AM
I was talking about retarget time, total number of coins and other parameters that are fixed for long in Bitcoin


Title: Re: How do you create an altcoin?
Post by: Geddi on April 15, 2013, 11:51:16 AM
I expected at least one alt-coin developer to see this thread and respond, but I am feeling now that they won't do it purely so a new alt-coin does not replace theirs, even if we are newbs here.

Maybe someone would pop up helping out if you guys were eager to learn about cryptography and programming, instead of script-kidding an existing source into creating a new blockchain.


Title: Re: How do you create an altcoin?
Post by: Luke-Jr on April 15, 2013, 12:55:32 PM
I was talking about retarget time, total number of coins and other parameters that are fixed for long in Bitcoin
There is no reason to change any of that.


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 15, 2013, 02:06:02 PM
I expected at least one alt-coin developer to see this thread and respond, but I am feeling now that they won't do it purely so a new alt-coin does not replace theirs, even if we are newbs here.

Maybe someone would pop up helping out if you guys were eager to learn about cryptography and programming, instead of script-kidding an existing source into creating a new blockchain.

Nobody said they wanted to release a 'real' coin.
This was all an exercise to see how the process works.

It's nice to know there is crypto currency out there... it's even cooler to know how the whole process works imo.




Title: Re: How do you create an altcoin?
Post by: jackjack on April 15, 2013, 02:19:59 PM
I was talking about retarget time, total number of coins and other parameters that are fixed for long in Bitcoin
There is no reason to change any of that.
There is no reason not to try to change all of that.


Title: Re: How do you create an altcoin?
Post by: alex_fun on April 15, 2013, 02:50:42 PM
Jackjack come to irc in like 40 min I might be around :)

It also seems some people work on applet that can calculate merkel key from text string and public key :)  Perhaps someone can post here how to do it :)

So far Satoshi code seems pretty simple perhaps he make it this way so even noobs  can play with it :)))

Once merkelt key is known then what? Run miner and check in debug file for the first genesis block hash? Also I think there is dns hardcoded somewhere? For example when I  solo mine local host as address  it links to existing chain means somewhere in code dns got to be changed :)


Title: Re: How do you create an altcoin?
Post by: jackjack on April 15, 2013, 04:08:26 PM
I can't until I'm back home
Also guys consider the possibility that luke-jr may use his pool (eligius) to attempt a 51% attack like he did with coiledcoin


Title: Re: How do you create an altcoin?
Post by: Luke-Jr on April 15, 2013, 05:11:29 PM
I can't until I'm back home
Also guys consider the possibility that luke-jr may use his pool (eligius) to attempt a 51% attack like he did with coiledcoin
No need to promote lies.


Title: Re: How do you create an altcoin?
Post by: Walter Rothbard on April 15, 2013, 05:13:53 PM
I expected at least one alt-coin developer to see this thread and respond, but I am feeling now that they won't do it purely so a new alt-coin does not replace theirs, even if we are newbs here.

I don't think it matters, as you guys are clearly on your way to becoming altcoin developers.

There is an enlightenment that happens in programming, when you hit a point where you realize that, given enough time, you could figure out / code anything, on your own.  You could write a new OS kernel if you wanted, or an office application suite.  Or build a new genesis block.

I wouldn't be surprised if the eventual output of this thread is a standalone, tweakable genesis block generator application.


Title: Re: How do you create an altcoin?
Post by: Walter Rothbard on April 15, 2013, 05:15:29 PM
I can't until I'm back home
Also guys consider the possibility that luke-jr may use his pool (eligius) to attempt a 51% attack like he did with coiledcoin

Yes, take a break and buy a few dozen ASIC units and build a big hash farm before you go too much further. ;)


Title: Re: How do you create an altcoin?
Post by: uMMcQxCWELNzkt on April 15, 2013, 05:16:57 PM
I expected at least one alt-coin developer to see this thread and respond, but I am feeling now that they won't do it purely so a new alt-coin does not replace theirs, even if we are newbs here.

I don't think it matters, as you guys are clearly on your way to becoming altcoin developers.

There is an enlightenment that happens in programming, when you hit a point where you realize that, given enough time, you could figure out / code anything, on your own.  You could write a new OS kernel if you wanted, or an office application suite.  Or build a new genesis block.

I wouldn't be surprised if the eventual output of this thread is a standalone, tweakable genesis block generator application.

How about a tweakable coin generator? Even if there is a fee to to discourage mass spam of alt coins.


Title: Re: How do you create an altcoin?
Post by: Garr255 on April 15, 2013, 06:59:13 PM
How about a tweakable coin generator? Even if there is a fee to to discourage mass spam of alt coins.

That's what I want to get out of this.

The whole reason I'm participating is because it will promote competitiveness among alt coins. It's really fun getting a better understanding of bitcoin too :)


Title: Re: How do you create an altcoin?
Post by: uMMcQxCWELNzkt on April 15, 2013, 07:14:39 PM
How about a tweakable coin generator? Even if there is a fee to to discourage mass spam of alt coins.

That's what I want to get out of this.

The whole reason I'm participating is because it will promote competitiveness among alt coins. It's really fun getting a better understanding of bitcoin too :)
I am still getting my head around Bitcoins but if I could I would be contributing.


Title: Re: How do you create an altcoin?
Post by: Geddi on April 15, 2013, 07:28:08 PM
I expected at least one alt-coin developer to see this thread and respond, but I am feeling now that they won't do it purely so a new alt-coin does not replace theirs, even if we are newbs here.

Maybe someone would pop up helping out if you guys were eager to learn about cryptography and programming, instead of script-kidding an existing source into creating a new blockchain.

Nobody said they wanted to release a 'real' coin.
This was all an exercise to see how the process works.

There's my point..  ???

I'm not saying you should release a real coin. I'm saying that while you might think you are learning 'how the process works' you are instead 'dialing the knobs' of an existing program. Examine the source, examine the bitcoin wiki and try to program your own client. Has more educational value.  ;D


Title: Re: How do you create an altcoin?
Post by: markm on April 15, 2013, 07:40:23 PM
Have you looked at multicoin?

It moves most of the things that are different between different coins all into the config file so you can use the same program to run different chains by changing the config file.

By backtracking from the config stuff you can find what things needed to be changed from one coin to another.

Also I think he had code to print into the log the data you need to plug back into the config file to make a new genesis block work.

-MarkM-


Title: Re: How do you create an altcoin?
Post by: Luke-Jr on April 15, 2013, 08:31:47 PM
How about a tweakable coin generator? Even if there is a fee to to discourage mass spam of alt coins.

That's what I want to get out of this.

The whole reason I'm participating is because it will promote competitiveness among alt coins. It's really fun getting a better understanding of bitcoin too :)
To compete, you need to actually compete. Mere generators cannot compete.


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 15, 2013, 08:59:34 PM
I expected at least one alt-coin developer to see this thread and respond, but I am feeling now that they won't do it purely so a new alt-coin does not replace theirs, even if we are newbs here.

Maybe someone would pop up helping out if you guys were eager to learn about cryptography and programming, instead of script-kidding an existing source into creating a new blockchain.

Nobody said they wanted to release a 'real' coin.
This was all an exercise to see how the process works.

There's my point..  ???

I'm not saying you should release a real coin. I'm saying that while you might think you are learning 'how the process works' you are instead 'dialing the knobs' of an existing program. Examine the source, examine the bitcoin wiki and try to program your own client. Has more educational value.  ;D


Point taken... I thought I could lend a hand to existing people -- but in doing so realize there is so much more to understand.
Anything that is used to create itself -- captures my interest in a big way.


Title: Re: How do you create an altcoin?
Post by: Geddi on April 15, 2013, 09:06:53 PM
I expected at least one alt-coin developer to see this thread and respond, but I am feeling now that they won't do it purely so a new alt-coin does not replace theirs, even if we are newbs here.

Maybe someone would pop up helping out if you guys were eager to learn about cryptography and programming, instead of script-kidding an existing source into creating a new blockchain.

Nobody said they wanted to release a 'real' coin.
This was all an exercise to see how the process works.

There's my point..  ???

I'm not saying you should release a real coin. I'm saying that while you might think you are learning 'how the process works' you are instead 'dialing the knobs' of an existing program. Examine the source, examine the bitcoin wiki and try to program your own client. Has more educational value.  ;D


Point taken... I thought I could lend a hand to existing people -- but in doing so realize there is so much more to understand.
Anything that is used to create itself -- captures my interest in a big way.


The more one learns the more one understands there is so much more to understand.  8)



Title: Re: How do you create an altcoin?
Post by: A_Free_Man on April 16, 2013, 05:08:22 AM
Why do you all rely on the bitcoin source? Why not make your own.


Title: Re: How do you create an altcoin?
Post by: Garr255 on April 16, 2013, 06:31:09 AM
I figured it out tonight!!!!!

Mining away on my own alt chain... :D


I'll be posting a guide soon. Now every(computer-literate)one can have their own bitcoin :)

How about a tweakable coin generator? Even if there is a fee to to discourage mass spam of alt coins.

That's what I want to get out of this.

The whole reason I'm participating is because it will promote competitiveness among alt coins. It's really fun getting a better understanding of bitcoin too :)
To compete, you need to actually compete. Mere generators cannot compete.

That's my point exactly. Now just a mere tweaking of the bitcoin code will not justify an alt-coin's existence.


Title: Re: How do you create an altcoin?
Post by: dan99 on April 16, 2013, 06:51:30 AM
Lets go with scrypt sence its easier on CPUs than sha-256

IMO it is a better choice.



What about Difficulty re-target and block rate?


Hey,

You mean to say if I want to create a coin you can help me out? I can used any coin names right?
would it be more like litecoin or bitcoin.

Kindly please let me know. Thanks

Dan : )


Title: Re: How do you create an altcoin?
Post by: steelhouse on April 16, 2013, 06:55:00 AM
I figured it out tonight!!!!!

Mining away on my own alt chain... :D
I'll be posting a guide soon. Now every(computer-literate)one can have their own bitcoin :)

Hope so.  Also wonder what is going to happen to bitcoin when people realize a 16-17 year old just figured out how to tweak the source to make a coin after only one day.  So much for bitcoin limited to 21 million (considering alt coins compete with bitcoin users and vendors).   But it was going to happen sooner or later.


Title: Re: How do you create an altcoin?
Post by: markm on April 16, 2013, 07:12:03 AM
It already happened, there are several chains right now that can easily be mined with CPUs, there is no need to create a whole new coin to get the easy low difficulty that early adopters enjoyed, there are lots of chains that have are still in that early adopter stage just waiting for adopters.

-MarkM-


Title: Re: How do you create an altcoin?
Post by: Garr255 on April 16, 2013, 07:17:27 AM
I figured it out tonight!!!!!

Mining away on my own alt chain... :D
I'll be posting a guide soon. Now every(computer-literate)one can have their own bitcoin :)

Hope so.  Also wonder what is going to happen to bitcoin when people realize a 16-17 year old just figured out how to tweak the source to make a coin after only one day.  So much for bitcoin limited to 21 million (considering alt coins compete with bitcoin users and vendors).   But it was going to happen sooner or later.

Yeah I'm almost 18 now... (will be in August). When you do stuff as an adult it's just not as cool :P


Title: Re: How do you create an altcoin?
Post by: Garr255 on April 16, 2013, 07:19:49 AM
Also, I've decided that before I post a guide, I'm going to figure out how to compile QT and for windows, and change the "bitcoin" text throughout the clients to "whatevercoin". Same with the data directory etc.

If I'm going to do this, I'll do it right :)


Title: Re: How do you create an altcoin?
Post by: Buffer Overflow on April 16, 2013, 07:26:15 AM
Also, I've decided that before I post a guide, I'm going to figure out how to compile QT and for windows, and change the "bitcoin" text throughout the clients to "whatevercoin". Same with the data directory etc.

If I'm going to do this, I'll do it right :)

GarrCoin. Already seen it.


Title: Re: How do you create an altcoin?
Post by: Walter Rothbard on April 16, 2013, 06:43:03 PM
I figured it out tonight!!!!!

Mining away on my own alt chain... :D


I'll be posting a guide soon. Now every(computer-literate)one can have their own bitcoin :)

You are the man, Garr.

Quote
That's my point exactly. Now just a mere tweaking of the bitcoin code will not justify an alt-coin's existence.

Wise.


Title: Re: How do you create an altcoin?
Post by: Walter Rothbard on April 16, 2013, 06:44:48 PM
Why do you all rely on the bitcoin source? Why not make your own.

Reimplementation is another great project that would teach someone a lot and probably also be of some potential value to the community.

For fun, I'd like to see an incompatible protocol blockchain with arbitrary precision values.  Making the currency unit truly infinitely divisible. :)


Title: Re: How do you create an altcoin?
Post by: Walter Rothbard on April 16, 2013, 06:46:43 PM
I figured it out tonight!!!!!

Mining away on my own alt chain... :D
I'll be posting a guide soon. Now every(computer-literate)one can have their own bitcoin :)

Hope so.  Also wonder what is going to happen to bitcoin when people realize a 16-17 year old just figured out how to tweak the source to make a coin after only one day.  So much for bitcoin limited to 21 million (considering alt coins compete with bitcoin users and vendors).   But it was going to happen sooner or later.

People can create an unlimited number of blockchains, and coins across blockchains.

But transactions on The Bitcoin Blockchain can not be unlimited, and coins on that Blockchain are not unlimited.

As you can see, coins on other blockchains are in no way equal in value to coins on The Bitcoin Blockchain.  1.0 Bytecoin is not worth 1.0 Bitcoin at all; thus, Bytecoin did not double the number of Bitcoins in existence.


Title: Re: How do you create an altcoin?
Post by: Walter Rothbard on April 16, 2013, 06:48:47 PM
I figured it out tonight!!!!!

Mining away on my own alt chain... :D
I'll be posting a guide soon. Now every(computer-literate)one can have their own bitcoin :)

Hope so.  Also wonder what is going to happen to bitcoin when people realize a 16-17 year old just figured out how to tweak the source to make a coin after only one day.  So much for bitcoin limited to 21 million (considering alt coins compete with bitcoin users and vendors).   But it was going to happen sooner or later.

Yeah I'm almost 18 now... (will be in August). When you do stuff as an adult it's just not as cool :P

Adults typically don't have time to do as many cool things!  You, my friend, have an amazing leg up.


Title: Re: How do you create an altcoin?
Post by: ZephramC on April 16, 2013, 11:00:02 PM
Amazing effort. I think that rise and/or fall of the bitcoin (and any alternative coins) will not be so much due to external influences, but due to the processes (and personal relationships, personal opinions, and personal interests) within the bitcoin community.


Title: Re: How do you create an altcoin?
Post by: pixel on April 17, 2013, 02:19:39 AM
I figured it out tonight!!!!!

Mining away on my own alt chain... :D


I'll be posting a guide soon. Now every(computer-literate)one can have their own bitcoin :)

How about a tweakable coin generator? Even if there is a fee to to discourage mass spam of alt coins.

That's what I want to get out of this.

The whole reason I'm participating is because it will promote competitiveness among alt coins. It's really fun getting a better understanding of bitcoin too :)
To compete, you need to actually compete. Mere generators cannot compete.

That's my point exactly. Now just a mere tweaking of the bitcoin code will not justify an alt-coin's existence.

Horray! Iv'e been waiting for a guide! Thanks a ton!


Title: Re: How do you create an altcoin?
Post by: Geddi on April 17, 2013, 10:22:38 AM
Yeah I'm almost 18 now... (will be in August). When you do stuff as an adult it's just not as cool :P

Just wait a couple of years... if before 18 you got your stuff together allright, then as 'an adult' you can do whatever cool stuf you want.. and then some!  ;D

But on the other hand, not everybody has to live my life. 8)


Title: Re: How do you create an altcoin?
Post by: BlueWall on April 17, 2013, 05:10:00 PM
Have you looked at multicoin?

It moves most of the things that are different between different coins all into the config file so you can use the same program to run different chains by changing the config file.

By backtracking from the config stuff you can find what things needed to be changed from one coin to another.

Also I think he had code to print into the log the data you need to plug back into the config file to make a new genesis block work.

-MarkM-


Thanks,

The code needed a little updating to get it to build but it's running here now. Nice tool for exploring.

-BlueWall


Title: Re: How do you create an altcoin?
Post by: pixel on April 18, 2013, 04:10:41 AM
What's the status on everyone's development, its been awhile since I have heard anything :D


Title: Re: How do you create an altcoin?
Post by: Garr255 on April 18, 2013, 05:14:59 AM
I just need to figure out how to compile the QT client, then clean up the guide!


Title: Re: How do you create an altcoin?
Post by: BlueWall on April 18, 2013, 10:53:19 AM
I just need to figure out how to compile the QT client, then clean up the guide!

Look at: http://qt-project.org/downloads for tools to build the client.

-BlueWall


Title: Re: How do you create an altcoin?
Post by: steelhouse on April 19, 2013, 02:34:14 AM
Would it be possible to prevent the block rewards from going to the one who found the block, but to 25 randomly selected IPs connected to the network.  Doing so would pervent the creation of large centralized mining pools.  Would it protect the network?


Title: Re: How do you create an altcoin?
Post by: Vorksholk on April 19, 2013, 02:35:03 AM
Would it be possible to prevent the block rewards from going to the one who found the block, but to 25 randomly selected IPs connected to the network.  Doing so would pervent the creation of large centralized mining pools.  Would it protect the network?

Problem would be people would not have an incentive to mine. :(


Title: Re: How do you create an altcoin?
Post by: pixel on April 19, 2013, 02:48:21 AM
Would it be possible to prevent the block rewards from going to the one who found the block, but to 25 randomly selected IPs connected to the network.  Doing so would pervent the creation of large centralized mining pools.  Would it protect the network?

Problem would be people would not have an incentive to mine. :(
This is true


Title: Re: How do you create an altcoin?
Post by: Nymph on April 19, 2013, 05:51:17 AM
Just finished reading the whole forum... Eagerly awaiting the guide. Thanks for doing this!

A question...
Is it mandatory that the number of coins a block releases halves? Could it instead double? Or perhaps... fibonacci?
 ???

Thanks.  ;D


Title: Re: How do you create an altcoin?
Post by: pixel on April 19, 2013, 06:47:38 AM
Just finished reading the whole forum... Eagerly awaiting the guide. Thanks for doing this!

A question...
Is it mandatory that the number of coins a block releases halves? Could it instead double? Or perhaps... fibonacci?
 ???

Thanks.  ;D
I suppose you could but it would require some programming.


Title: Re: How do you create an altcoin?
Post by: jackjack on April 19, 2013, 07:03:32 AM
It would require changing 1 line of code


Title: Re: How do you create an altcoin?
Post by: Nymph on April 19, 2013, 04:40:01 PM
It would require changing 1 line of code

ooo really? will you tell me how to do it please?  :)


Title: Re: How do you create an altcoin?
Post by: Geddi on April 19, 2013, 05:19:17 PM
It would require changing 1 line of code

ooo really? will you tell me how to do it please?  :)

Code:
sed -i "s/y >>=/y <<=/g" main.cpp
Reward doubles instead of halves.(for original bitcoin client from git)

Don't forget to irrigate (http://www.youtube.com/watch?v=aQm7YpxgOnA#t=90s) your nasal passages.  8)


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 19, 2013, 06:01:06 PM
Wouldn't it be better to look at the code?

In the current bitcoin source look at the function GetBlockValue
Sed works.. but doesn't help understand what/why you are changing.





Title: Re: How do you create an altcoin?
Post by: Geddi on April 19, 2013, 06:06:32 PM
Wouldn't it be better to look at the code?

In the current bitcoin source look at the function GetBlockValue
Sed works.. but doesn't help understand what/why you are changing.


Yes I know. That is what I meant to say "in code".  ;D


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 19, 2013, 06:17:37 PM
Wouldn't it be better to look at the code?

In the current bitcoin source look at the function GetBlockValue
Sed works.. but doesn't help understand what/why you are changing.


Yes I know. That is what I meant to say "in code".  ;D

Lol!  I hear you.
I have been spending my time immersed in the bitcoin code... fascinating and ingenious stuff!



Title: Re: How do you create an altcoin?
Post by: Geddi on April 19, 2013, 06:55:35 PM
Wouldn't it be better to look at the code?

In the current bitcoin source look at the function GetBlockValue
Sed works.. but doesn't help understand what/why you are changing.


Yes I know. That is what I meant to say "in code".  ;D

Lol!  I hear you.
I have been spending my time immersed in the bitcoin code... fascinating and ingenious stuff!



Sure thing! I've swum in code quite heavily couple of years ago. Not so much lately..
Hellofa lot better time-burner than 'facebooking'!  8)


Title: Re: How do you create an altcoin?
Post by: Cheshyr on April 20, 2013, 12:53:24 AM
Irritated by the army of negativity that hit on pages 9-11.  Tweaking parameters of a working program IS the first step in learning.  It's not the same as walking into a blank hello-world project...  there's a lot of existing work on this already.  Nobody wants to reinvent the wheel, and it takes time to catch up.

So where are we right now?

It sounds like you've successfully tweaked your parameters.
Genesis block creation was successful, and imported successfully.
Compiled and Mined?

Waiting for Garr255 to post his guide?  If so, I don't think the first copy needs to be super-polished.  He can proofread and revise it after people ask questions.


Title: Re: How do you create an altcoin?
Post by: markm on April 20, 2013, 12:58:58 AM
More people familiar with varying the code and variants of the code is good, as it seems like there will regularly be need to update all the many altcoins so the more people capable of doing so maybe the more likely it is to happen.

Two that really need updating badly are Tenebrix and GeistGeld, they might even be old enough that they might crap out on file size of the blockchain on 32 bit Windows systems maybe or something silly like that.

They are interestingly different from each other too since Tenebrix is scrypt without merged mining whereas GeistGeld is SHA256 with merged mining. So bringing both of those up to date would be a really great learning-project for someone and meanwhile of course both are also so ridiculously low difficulty you could be mining them both all along with CPUs and rake in tons of both while you learn. Unlike starting a new coin you don't tend to get jumped on by all the big miners with these old coins, so you can go months on end peacefully mining them with CPUs.

Compare that with the way difficulty skyrockets on new coins lately and you'll see those new coins won't likely be useful for spreading the coins around newbies for maybe months or years, whereas these old coins have been serving newbies well for what, a year or more now and still nice low difficulty...

-MarkM-


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 20, 2013, 02:43:10 AM
Irritated by the army of negativity that hit on pages 9-11.  Tweaking parameters of a working program IS the first step in learning.  It's not the same as walking into a blank hello-world project...  there's a lot of existing work on this already.  Nobody wants to reinvent the wheel, and it takes time to catch up.

So where are we right now?

It sounds like you've successfully tweaked your parameters.
Genesis block creation was successful, and imported successfully.
Compiled and Mined?

Waiting for Garr255 to post his guide?  If so, I don't think the first copy needs to be super-polished.  He can proofread and revise it after people ask questions.

I for one am not irritated by the comments... but you learn, over time, that comments like this serve to inspire a deeper understanding.
For example, I thought 'tweaking' the code was neat... but it didn't stop there.  I wanted to know why.

I have successfully compiled MultiCoin, created a genesis block, setup a mini testnet and mined my first block.
This is fun... but  now I want to know why it worked.

So, I spend time investigating the code base, following functions, watching the program unfold itself.
Eventually, I would one day like to come back with an idea -- one that makes this code base 'different'.

However, I cannot do that until I understand the whys.
People saying I can't play in their pool only make me want to learn even harder how things work   :D


Title: Re: How do you create an altcoin?
Post by: markm on April 20, 2013, 02:48:39 AM
Tenebrix and GeistGeld are both currently implemented using Multicoin, so you should now be able to get both of those running, and since both are low difficulty you can set them both up chugging away in background earning you coins!

-MarkM-


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 20, 2013, 02:51:20 AM
Tenebrix and GeistGeld are both currently implemented using Multicoin, so you should now be able to get both of those running, and since both are low difficulty you can set them both up chugging away in background earning you coins!

-MarkM-


I'll track down the code for Tenebrix and have a look.
It would be neat to get it up and running!


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 20, 2013, 02:57:36 AM
Cloned the source... working with it now  ;D


Title: Re: How do you create an altcoin?
Post by: markm on April 20, 2013, 03:05:03 AM
It seems possible they might not be strictly proper multicoin coins, as I am not sure where the message comes from they put on their status output saying what coin they are. I am not sure if that is something multicoin does of if they actually hacked the code of multicoin, for example to add that message.

Multicoin was intended that you would use the exact same binary program to run all the various coins, but maybe these two aren't really like that, it'd be interesting to compare their code to the actual multicoin and to each other...

Best of all though will be to recreate them using latest bitcoin code.

-MarkM-


Title: Re: How do you create an altcoin?
Post by: Nymph on April 20, 2013, 03:19:55 AM
It would require changing 1 line of code

ooo really? will you tell me how to do it please?  :)

Code:
sed -i "s/y >>=/y <<=/g" main.cpp
Reward doubles instead of halves.(for original bitcoin client from git)

Don't forget to irrigate (http://www.youtube.com/watch?v=aQm7YpxgOnA#t=90s) your nasal passages.  8)

Thanks!  ;D
::off to figure out what to do with it::


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 20, 2013, 03:43:28 AM
I have to create a new Ubuntu VM for development... my general development environment is just jacked up!   ::)


Title: Re: How do you create an altcoin?
Post by: Nymph on April 20, 2013, 07:09:21 PM
just saw this over here https://bitcointalk.org/index.php?topic=146361.msg1562398#msg1562398

Steps of becoming an altcoin operator:

1) Learn to use git/github and build bitcoin/altcoins
2) Manage at least 2 nodes on 2 computers/VM/VPS
3) Bootstrap your own network by changing pnSeed, running with dnsseed disabled, irc seed disabled, and change pchMessageStart
4) Learn to make genesis block and start up network.
5) Change default p2p port and rpc port.
6) Change address version (optional)
7) Remove checkpoints, generate master key(s).
8> Cosmetic changes.

Now you can start playing with various parameter changes. Of course doing any real work from here on would require more skills and understanding of the innerworkings of bitcoin. But if you are just content with a simple clone of bitcoin/altcoins then it's done.

Good luck!  ;)


Title: Re: How do you create an altcoin?
Post by: mmitech on April 20, 2013, 07:26:41 PM
I bet that you have no idea about writing a code or even reviewing it , I love an open source programs and I wish if my company would invest into it , but I hate it when people like you start messing around it, you do not even know from where to start , and if you somehow create a coin... how will you support it in future , you know that you have to do some development after you create it, and what will you do if there will be a bug , you think that people will spend their money and time for some weekend project from some amateur ?

the only real coin for me is BTC or LTC and maybe NMC, all other coins are just a waste of time and money 


Title: Re: How do you create an altcoin?
Post by: Cheshyr on April 20, 2013, 08:00:04 PM
We're having fun. You don't have to be involved in any way. Go enjoy your stale ideas; we're all here for different reasons.


Title: Re: How do you create an altcoin?
Post by: uMMcQxCWELNzkt on April 20, 2013, 09:38:34 PM
I bet that you have no idea about writing a code or even reviewing it , I love an open source programs and I wish if my company would invest into it , but I hate it when people like you start messing around it, you do not even know from where to start , and if you somehow create a coin... how will you support it in future , you know that you have to do some development after you create it, and what will you do if there will be a bug , you think that people will spend their money and time for some weekend project from some amateur ?

the only real coin for me is BTC or LTC and maybe NMC, all other coins are just a waste of time and money 

One or two years ago you would have probably said BTC was the only coin for you, do I want my BTC to be undermined by loads of altcoins? No, but I respect those working on this thread. It seems these "amateurs" are not even 18 yet, they cannot even buy alcohol for themselves yet they are experimenting and learning programming at what I believe is an advanced level, were you born with coding knowledge or did you go through a process of trial and error? Regardless, even if their code is a buggy mess, all that means is people will not support their work and will stick with the best option available. For you their project is probably a waist of time, for them this could be the beginning of a successful future.


Title: Re: How do you create an altcoin?
Post by: Garr255 on April 21, 2013, 12:16:21 AM
I bet that you have no idea about writing a code or even reviewing it , I love an open source programs and I wish if my company would invest into it , but I hate it when people like you start messing around it, you do not even know from where to start , and if you somehow create a coin... how will you support it in future , you know that you have to do some development after you create it, and what will you do if there will be a bug , you think that people will spend their money and time for some weekend project from some amateur ?

the only real coin for me is BTC or LTC and maybe NMC, all other coins are just a waste of time and money 

One or two years ago you would have probably said BTC was the only coin for you, do I want my BTC to be undermined by loads of altcoins? No, but I respect those working on this thread. It seems these "amateurs" are not even 18 yet, they cannot even buy alcohol for themselves yet they are experimenting and learning programming at what I believe is an advanced level, were you born with coding knowledge or did you go through a process of trial and error? Regardless, even if their code is a buggy mess, all that means is people will not support their work and will stick with the best option available. For you their project is probably a waist of time, for them this could be the beginning of a successful future.

Yup.


Title: Re: How do you create an altcoin?
Post by: j980 on April 21, 2013, 01:04:44 AM
I respect those working on this thread. It seems these "amateurs" are not even 18 yet, they cannot even buy alcohol for themselves yet they are experimenting and learning programming at what I believe is an advanced level, were you born with coding knowledge or did you go through a process of trial and error?
+1

It will only make GarrCoin (, ...) cooler to mine.  8)

When's the launch?


Title: Re: How do you create an altcoin?
Post by: pixel on April 21, 2013, 02:08:10 AM
How is the guide comming? :3


Title: Re: How do you create an altcoin?
Post by: wmikrut on April 21, 2013, 03:16:38 AM
I bet that you have no idea about writing a code or even reviewing it , I love an open source programs and I wish if my company would invest into it , but I hate it when people like you start messing around it, you do not even know from where to start , and if you somehow create a coin... how will you support it in future , you know that you have to do some development after you create it, and what will you do if there will be a bug , you think that people will spend their money and time for some weekend project from some amateur ?

the only real coin for me is BTC or LTC and maybe NMC, all other coins are just a waste of time and money 

Lol... posts like this make me laugh!!

If this is true -- why are you even here?   
Your rant falls on deaf ears!


Title: Re: How do you create an altcoin?
Post by: idev on April 21, 2013, 03:30:52 AM
How is the guide comming? :3
Ditto


Title: Re: How do you create an altcoin?
Post by: AlexMerced on April 21, 2013, 03:34:10 AM
How is the guide comming? :3
Ditto

double ditto


Title: Re: How do you create an altcoin?
Post by: sron on April 21, 2013, 04:29:39 AM
I started a thread similar to this one a year ago or so and I will be following this one, I would be interested in building a software product that automatically generates new coin systems based on the values you feed into the UI.


Title: Re: How do you create an altcoin?
Post by: Luckybit on April 21, 2013, 05:19:53 AM
I'm bored, its the weekend. I was thinking of creating an altcoin for fun, I won't release it, it would just be cool to get it running and see how fast mining is. Hopefully its not to hard :3 If it is I have a VPS with nothing on it I could use for some sort of litecoin web script.

Thanks :D
Apparently you just fork Bitcoin or Litecoin and change a few lines of code and call it Newcoin. Honestly I could even do it.


Title: Re: How do you create an altcoin?
Post by: Geddi on April 21, 2013, 09:23:18 AM

Here it is:
1) read bitcoin wiki
2) install compiler
3) start notepad
4) have a ball
5) compile newcoin



Title: Re: How do you create an altcoin?
Post by: jackjack on April 21, 2013, 10:31:35 AM

Here it is:
1) read bitcoin wiki
2) install compiler
3) start notepad
4) have a ball
5) compile newcoin


Very, very far from being enough  ::)


Title: Re: How do you create an altcoin?
Post by: pixel on April 21, 2013, 09:50:58 PM

Here it is:
1) read bitcoin wiki
2) install compiler
3) start notepad
4) have a ball
5) compile newcoin


Very, very far from being enough  ::)
ditto


Title: Re: How do you create an altcoin?
Post by: Garr255 on April 21, 2013, 10:14:46 PM
Update:

The guide will be coming in the next few weeks, because I'll be pretty busy. All I need to do is figure out how to compile the QT client for windows, and create a program to find the genesis block. Else I could include the nifty python script which I believe was written by the creators of freicoin.

I've considered making people pay for the guide, but instead I'll just be encouraging donations from the ones who gain some knowledge from it.

--Garr (http://blockchain.info/address/1garr2)ett


Title: Re: How do you create an altcoin?
Post by: AlexMerced on April 21, 2013, 11:26:51 PM
Ill donate what I can and encourage others to donate for sure, he'll I'll make a video for the sole purpose of telling people to give you coinage for this work.


Title: Re: How do you create an altcoin?
Post by: pixel on April 22, 2013, 12:34:39 AM
I'll donate!


Title: Re: How do you create an altcoin?
Post by: Walter Rothbard on April 22, 2013, 02:29:41 AM

Here it is:
1) read bitcoin wiki
2) install compiler
3) start notepad
4) have a ball
5) compile newcoin



Ooh, I don't like the notepad step.  Are there any alternatives?


Title: Re: How do you create an altcoin?
Post by: Geddi on April 22, 2013, 07:28:21 AM
Ooh, I don't like the notepad step.  Are there any alternatives?

Darn! You got me. :D

http://www.scintilla.org/SciTE.html (http://www.scintilla.org/SciTE.html) is quite comfortable. Colors and stuff  8)

If you feel hardcore and want a 'compile' button on your text editor try
http://www.codeblocks.org/ (http://www.codeblocks.org/)
or
http://www.eclipse.org/ (http://www.eclipse.org/)

Judging most posts in this thread qt and c++ might be a bit too much, if you want to get up and running faster try
http://www.python.org/ (http://www.python.org/)
with
http://www.wxpython.org/ (http://www.wxpython.org/)

Have fun ;D


Title: Re: How do you create an altcoin?
Post by: lightenup on April 22, 2013, 08:20:13 AM
Another coin to help you out design your own: https://bitcointalk.org/index.php?topic=182430.0

That's basically all you need to do:
https://github.com/bfroemel/smallchange/commit/947a0fafd8d033f6f0960c4ff0748f76a3d58326


Title: Re: How do you create an altcoin?
Post by: Cheshyr on April 22, 2013, 02:23:46 PM
Another coin to help you out design your own: https://bitcointalk.org/index.php?topic=182430.0

That's basically all you need to do:
https://github.com/bfroemel/smallchange/commit/947a0fafd8d033f6f0960c4ff0748f76a3d58326
Honestly, the diff from github is pretty damn useful. 


Title: Re: How do you create an altcoin?
Post by: pixel on April 23, 2013, 12:56:40 AM
Another coin to help you out design your own: https://bitcointalk.org/index.php?topic=182430.0

That's basically all you need to do:
https://github.com/bfroemel/smallchange/commit/947a0fafd8d033f6f0960c4ff0748f76a3d58326
Honestly, the diff from github is pretty damn useful. 
Yes, thank you for this. It is very helpful!


Title: Re: How do you create an altcoin?
Post by: AlexMerced on April 23, 2013, 12:59:34 AM
Is the smallcoin diff from github linked above will that be useful  for editing the Windows client cause I remember reading that code is for the unix client.


Title: Re: How do you create an altcoin?
Post by: Stampbit on April 23, 2013, 01:14:08 AM
Update:

The guide will be coming in the next few weeks, because I'll be pretty busy. All I need to do is figure out how to compile the QT client for windows, and create a program to find the genesis block. Else I could include the nifty python script which I believe was written by the creators of freicoin.

I've considered making people pay for the guide, but instead I'll just be encouraging donations from the ones who gain some knowledge from it.

--Garr (http://blockchain.info/address/1garr2)ett

Looking forward to it, i think this would help alot of people better understand how bitcoin works.


Title: Re: How do you create an altcoin?
Post by: alex_fun on April 26, 2013, 02:22:26 AM
BTC itself seems simply yet coding is a bit complex :D Anyone plan to release genesis block values calc for scrypt? :)


Title: Re: How do you create an altcoin?
Post by: michaelmclees on April 26, 2013, 03:28:24 PM
subbing


Title: Re: How do you create an altcoin?
Post by: AlexMerced on April 26, 2013, 05:09:35 PM
BTC itself seems simply yet coding is a bit complex :D Anyone plan to release genesis block values calc for scrypt? :)

Yes, I need this


Title: Re: How do you create an altcoin?
Post by: Nymph on April 30, 2013, 05:43:56 AM
Update:

The guide will be coming in the next few weeks, because I'll be pretty busy. All I need to do is figure out how to compile the QT client for windows, and create a program to find the genesis block. Else I could include the nifty python script which I believe was written by the creators of freicoin.

I've considered making people pay for the guide, but instead I'll just be encouraging donations from the ones who gain some knowledge from it.

--Garr (http://blockchain.info/address/1garr2)ett

i too would donate!  ;D


Title: Re: How do you create an altcoin?
Post by: achillez on May 01, 2013, 02:36:12 AM
i'm interested


Title: Re: How do you create an altcoin?
Post by: pixel on May 01, 2013, 03:51:39 AM
@Garr225

Whats your status? :D


Title: Re: How do you create an altcoin?
Post by: js2082 on May 01, 2013, 04:04:50 AM
I saw multiple people ask how to generate genesis block. Actually it is very easy, just go to main.cpp, change the timestamp phase, unix time stamp etc, compile and run. Now the program will tell you assertion failed. Go to your coin folder under appdata, check the debug.log, it will tell you the genesis block hash. Now go back to the main.cpp, update the hash at the beginning of the program (I think it called hashGenesisBlock), recompile, and you are done.

You can get the full info on the genesis block by looking at the debug log, after a successful run.

I think we could extract all the configarable parameters to a file, and the rest code should be pretty generic code, and anyone can just enter the params and create a new coin. If I have time later, I can do that work, but I am working on my JunkCoin now:-)


Title: Re: How do you create an altcoin?
Post by: Garr255 on May 01, 2013, 04:40:59 AM
Update:

The guide will be coming in the next few weeks, because I'll be pretty busy. All I need to do is figure out how to compile the QT client for windows, and create a program to find the genesis block. Else I could include the nifty python script which I believe was written by the creators of freicoin.

I've considered making people pay for the guide, but instead I'll just be encouraging donations from the ones who gain some knowledge from it.

--Garr (http://blockchain.info/address/1garr2)ett

@Garr225

Whats your status? :D

I'm super busy with school and other projects. To those who said they'd like to donate (http://blockchain.info/address/1Garr2555P4oiAaLQqXkcdAKGg4SMt3RZS), thank you!

I'll have it all ready sooner than later.

Best,
Garrett


Title: Re: How do you create an altcoin?
Post by: achillez on May 01, 2013, 03:13:41 PM
I successfully generated the genesisBlock and MerkleRoot, now I'm trying to figure out how to start the block chain so my clients can connect to it. Any suggestions on how to do this? do I run the daemon in parallel with the client?


Title: Re: How do you create an altcoin?
Post by: AlexMerced on May 01, 2013, 05:22:12 PM
I successfully generated the genesisBlock and MerkleRoot, now I'm trying to figure out how to start the block chain so my clients can connect to it. Any suggestions on how to do this? do I run the daemon in parallel with the client?

How did you create the genesis block and Merle root?


Title: Re: How do you create an altcoin?
Post by: js2082 on May 01, 2013, 07:07:31 PM
achillez: just start one (daemon or qt) in server mode, and start another one to connect to it. Once connected, you can start mining. It's really simple, but took me a day to figure it out.

Alexmerced: you get hash and merle root from the debug log. See my explanation in the previous message.


Title: Re: How do you create an altcoin?
Post by: pixel on May 05, 2013, 05:07:40 PM
Don't mind me, just bumping


Title: Re: How do you create an altcoin?
Post by: CryptoCurrencyMiners on May 07, 2013, 01:33:15 PM
I too shall bump this.


Title: Re: How do you create an altcoin?
Post by: markm on May 07, 2013, 02:15:51 PM
Oh well then as long as we're bumping I'll just bumplink this:

https://bitcointalk.org/index.php?topic=197598.0

-MarkM-


Title: Re: How do you create an altcoin?
Post by: jrlepage on May 07, 2013, 02:32:41 PM
Update:

The guide will be coming in the next few weeks, because I'll be pretty busy. All I need to do is figure out how to compile the QT client for windows, and create a program to find the genesis block. Else I could include the nifty python script which I believe was written by the creators of freicoin.

I've considered making people pay for the guide, but instead I'll just be encouraging donations from the ones who gain some knowledge from it.

--Garr (http://blockchain.info/address/1garr2)ett

Awesome looking forward to it!


Title: Re: How do you create an altcoin?
Post by: jrlepage on May 07, 2013, 02:40:04 PM
I would be interested in creating an "ecocoin" geared towards solo CPU miners (and penalize or prevent other forms of mining).


What are some ways of rewarding solo miners and discouraging or even preventing pools?
Any way to force CPU mining instead of GPU (and certainly not ASIC)?
Would it be possible to reward miners MORE for using less computing power somehow?
Any way to prevent people from owning/running more than one miner?

Ideally I'd want to control it so that the average person mining on a Raspberry Pi (for example) can earn around 3 ecocoins per 24 hours of mining.

Does everyone see where I'm headed with this? The idea is that:
1) It doesn't hog electricity.
2) If you own a Raspberry Pi or something like that, you earn as much in a day from mining as someone who owns a $10,000 computer.


Title: Re: How do you create an altcoin?
Post by: AlexMerced on May 07, 2013, 02:54:38 PM
For those who want something to work on while GARR22 comes out with his guide:

Here's a pseudo guide that points to threads that help with certain pieces of altcoin creation:
https://bitcointalk.org/index.php?topic=193025.0


Title: Re: How do you create an altcoin?
Post by: markm on May 07, 2013, 03:17:17 PM
I would be interested in creating an "ecocoin" geared towards solo CPU miners (and penalize or prevent other forms of mining).


What are some ways of rewarding solo miners and discouraging or even preventing pools?
Any way to force CPU mining instead of GPU (and certainly not ASIC)?
Would it be possible to reward miners MORE for using less computing power somehow?
Any way to prevent people from owning/running more than one miner?

Ideally I'd want to control it so that the average person mining on a Raspberry Pi (for example) can earn around 3 ecocoins per 24 hours of mining.

Does everyone see where I'm headed with this? The idea is that:
1) It doesn't hog electricity.
2) If you own a Raspberry Pi or something like that, you earn as much in a day from mining as someone who owns a $10,000 computer.


This all sounded do-able until you got to the part about how much money someone's computer cost.

For one thing if someone chooses to throw money at the problem of acquiring coin, they will almost certainly succeed in acquiring coin, even if they end up buying it over the counter due to the coin not being on any exchanges.

So trying to prevent money from being an effective means of acquiring coin seems somewhat doomed from the outset.

Merely making a system that is very very low in resource-consumption as compared to "proof of work" based systems is easy. Ripple, for example, seems to have solved that problem. We have but to wait for the Ripple server source code to be released and we are ready to produce as many eco-friendly financial networks as we have server-hardware to run them on.

Pure proof of stake also could be a reasonably eco-friendly approach.

The "Decrits" system is probably worth studying too, however it still does deliberately burn energy as part of its economic model or economic checks and balances.

Yet another compromise approach is to continue to use proof of work like bitcoin does for securing the chain but do not use it for distributing coins. Instead of having people use hashing to obtain "coins other than transaction fees", have them use scripts and/or human interaction to initially acquire coins.

We have been testing for some time now methods of dispensing coins that would indeed work just as well for a raspberry pi as for a powerful expensive laptop on a "worker" by "worker" basis.

The current implementation however  makes no attempt to limit the number of "workers" run by a single computer or a single owner of computers or user of computers or hijacker of innocent bystanders' computers.

Rather the opposite in fact: it envisions that the more time a human being has available to personally supervise "workers" the more earnings that human would be likely to reap.

That is, we do not merely aim at making the problem(s) involved in obtaining coins be problems that CPUs are far more likely to be good at than GPUs; we go even farther, allowing the problems to be such that in some respects human beings might well be better in some ways and/or in some situations at solving some of the problems than CPUs are.

Our testing so far indicates that the more "workers" a human deploys, the more of some human's or humans' time (the human of the first part of this clause or one or more other humans acting on behalf of that human) is likely to be consumed.

So far this is partly simply a reflection of the current state of the art of "worker" software:

The problems are more suitable to CPUs than to GPUs due not to any intrinsic resistance to parallelisation but, rather, to what one might term "the human element". Ultimately "the human element" should tend more and more to be the programmers of the "workers", but until such programmers have developed the start of the art of "worker" software to a point where there no longer exists any situation that that software does not elegantly handle and even, possibly, turn to its advantage, there is and will be occasional need for a human to restart a "worker" or even to reprogram a "worker" so it will in future elegantly handle the situation that had led to the need for human intervention.

Thus it currently seems likely that botnet "workers" will tend overall to work less effectively than "workers" who are members of a group of workers whose human supervisor to number of workers ratio is better. (Thus also the larger the botnet controlled by a single human, the less effective that botnet's "workers" tend to be.)

So far it is looking very promising, but that part way up above about money being or not being an issue is still present because it costs money to provide connections and problems for "workers" so more workers is more expensive than less workers so botnet operators need to be able to afford worker accounts for all of their workers, they cannot just deploy millions of workers they have to also obtain worker accounts for those workers to connect to.

-MarkM-


Title: Re: How do you create an altcoin?
Post by: Barnacle_Ed on May 07, 2013, 03:26:53 PM
I would be interested in creating an "ecocoin" geared towards solo CPU miners (and penalize or prevent other forms of mining).


What are some ways of rewarding solo miners and discouraging or even preventing pools?
Any way to force CPU mining instead of GPU (and certainly not ASIC)?
Would it be possible to reward miners MORE for using less computing power somehow?
Any way to prevent people from owning/running more than one miner?

Ideally I'd want to control it so that the average person mining on a Raspberry Pi (for example) can earn around 3 ecocoins per 24 hours of mining.

Does everyone see where I'm headed with this? The idea is that:
1) It doesn't hog electricity.
2) If you own a Raspberry Pi or something like that, you earn as much in a day from mining as someone who owns a $10,000 computer.


A few ideas that spring to mind are:

- Set a maximum upper bound on the hashrate for a single entity and/or pool.

- Modify difficulty in a logarithmic manner, so someone hashing at 300Mh/s will only be seeing double the benefit of someone hashing at 30Mh/s.

- Adopt a proof of stake system (or hybrid PoS/PoW). This sounds somewhat similar to PPCoin in the sense that it is "green" and depends less on raw hashing power.




Of course, none of these ideas are perfect; my big concern with the first two is they will make botnets incredibly powerful when mining this currency. These are just some debate-spawning ideas to consider off the top of my head.


Title: Re: How do you create an altcoin?
Post by: Nymph on May 19, 2013, 11:34:18 AM
bump...  ;D


Title: Re: How do you create an altcoin?
Post by: baritus on May 22, 2013, 04:24:28 PM
One thing you should have is a solid mathematical foundation.

You should be able to at least calculate an estimated network propagation time for transactions and how that relates to block generation. If that's not taken care of, not only will orphan rates be insanely high, but the whole network could be vulnerable to a 51% attack, forking, local net farming, and a lot of other horrible deaths.


Title: Re: How do you create an altcoin?
Post by: pixel on May 28, 2013, 07:56:19 PM
bum bum bum bum bump  ;D


Title: Re: How do you create an altcoin?
Post by: Tobius on May 28, 2013, 08:12:03 PM
I have a feeling I'm going to regret this, but it's been made

 Here (https://bitcointalk.org/index.php?topic=217636.0)


Title: Re: How do you create an altcoin?
Post by: pixel on May 29, 2013, 01:36:16 AM
I have a feeling I'm going to regret this, but it's been made

 Here (https://bitcointalk.org/index.php?topic=217636.0)
Oh ok :D


Title: Re: How do you create an altcoin?
Post by: Hazard on May 29, 2013, 01:38:18 AM
From me ;)


Title: Re: How do you create an altcoin?
Post by: faye on December 04, 2013, 03:11:05 PM
I would be interested in creating an "ecocoin" geared towards solo CPU miners (and penalize or prevent other forms of mining).


What are some ways of rewarding solo miners and discouraging or even preventing pools?
Any way to force CPU mining instead of GPU (and certainly not ASIC)?
Would it be possible to reward miners MORE for using less computing power somehow?
Any way to prevent people from owning/running more than one miner?

Ideally I'd want to control it so that the average person mining on a Raspberry Pi (for example) can earn around 3 ecocoins per 24 hours of mining.

Does everyone see where I'm headed with this? The idea is that:
1) It doesn't hog electricity.
2) If you own a Raspberry Pi or something like that, you earn as much in a day from mining as someone who owns a $10,000 computer.


A few ideas that spring to mind are:

- Set a maximum upper bound on the hashrate for a single entity and/or pool.

- Modify difficulty in a logarithmic manner, so someone hashing at 300Mh/s will only be seeing double the benefit of someone hashing at 30Mh/s.

- Adopt a proof of stake system (or hybrid PoS/PoW). This sounds somewhat similar to PPCoin in the sense that it is "green" and depends less on raw hashing power.




Of course, none of these ideas are perfect; my big concern with the first two is they will make botnets incredibly powerful when mining this currency. These are just some debate-spawning ideas to consider off the top of my head.

can you make it happen? PM me if you want to make such alt-coin. I'll help you promo


Title: Re: How do you create an altcoin?
Post by: film2240 on February 06, 2014, 07:13:20 PM
I've been wondering this too as I'd like to create an alt-coin but with the intention of trialing out an innovation (application wise not technical as I want it to be SHA based so I can run tests on mining it without wasting electricity by using my Ant Miner U1 ASIC instead of my PCs GPU) to see if a theory I have is right or wrong.I don't plan to release it as I understand that releasing 'premined' coins is heavily frowned upon so will need to start fresh (with a new copy) after the tests are over if I plan to release it to the public.

I'd like a clear and easy to understand guide on how to modify the parameters in the code including links to source code and other things necessary to make this happen as I thought I have a theory to try out something (can't disclose it here yet as releasing an untested idea for an alt-coin is unfair to push onto the public.It's best to get as many issues ironed out first as I've seen so many alt-coins based on cloning ideas with a different look/setup,that I'm fedup of seeing anymore alt-coins without offering something of interest/use/worthwhile)

Thanks :)


Title: Re: How do you create an altcoin?
Post by: beitris.dwlul on September 10, 2014, 07:43:14 AM
I will create a windows binary and a mac if I can. Im just editing files on debian.


Title: Re: How do you create an altcoin?
Post by: BIT-Sharon on September 10, 2014, 08:09:39 AM
Is it so easy?


Title: Re: How do you create an altcoin?
Post by: JohnDing on September 10, 2014, 11:24:37 AM
Just register as issuer on icoinhost.org and we will create your 10 million altcoin for free