Pages:
Author

Topic: How do you create an altcoin? - page 12. (Read 21870 times)

member
Activity: 98
Merit: 10
x1 7970 | Aprox. 587 kh/s
April 13, 2013, 06:16:07 PM
#79
Im still a little confused, What should I be doing right now? lol  Grin Huh

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?)
hero member
Activity: 631
Merit: 501
April 13, 2013, 06:14:02 PM
#78
Im still a little confused, What should I be doing right now? lol  Grin Huh

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?
member
Activity: 98
Merit: 10
x1 7970 | Aprox. 587 kh/s
April 13, 2013, 06:11:03 PM
#77
Im still a little confused, What should I be doing right now? lol  Grin Huh
hero member
Activity: 631
Merit: 501
April 13, 2013, 06:10:20 PM
#76
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!!  Grin
Does it work with scrypt?

ƞoobcoin is a good name though Cheesy

On the road to 50ƞ

Lol.. noobcoin... "new B coin"... whatever.
It's a fun exercise!
member
Activity: 98
Merit: 10
x1 7970 | Aprox. 587 kh/s
April 13, 2013, 06:01:07 PM
#75
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!!  Grin
Does it work with scrypt?

ƞoobcoin is a good name though Cheesy

On the road to 50ƞ
member
Activity: 98
Merit: 10
x1 7970 | Aprox. 587 kh/s
April 13, 2013, 06:00:08 PM
#74
So what exactly should I be doing now?  Huh

Help us look for the damn Start blockchain button  Grin

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
hero member
Activity: 631
Merit: 501
April 13, 2013, 05:57:39 PM
#73
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!!  Grin
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
April 13, 2013, 05:56:14 PM
#72
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.
full member
Activity: 156
Merit: 100
April 13, 2013, 05:54:48 PM
#71
So what exactly should I be doing now?  Huh

Help us look for the damn Start blockchain button  Grin

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!
member
Activity: 98
Merit: 10
x1 7970 | Aprox. 587 kh/s
April 13, 2013, 05:54:35 PM
#70
I can use guiminer-scrypt
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
April 13, 2013, 05:53:45 PM
#69
So what exactly should I be doing now?  Huh

Help us look for the damn Start blockchain button  Grin

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.
hero member
Activity: 632
Merit: 500
April 13, 2013, 05:52:30 PM
#68
So what exactly should I be doing now?  Huh

Help us look for the damn Start blockchain button  Grin

But what if you compile your code, start it with the -server function and try to mine it?
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
April 13, 2013, 05:50:12 PM
#67


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 Cheesy
hero member
Activity: 632
Merit: 500
April 13, 2013, 05:50:04 PM
#66
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((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("") << 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?
hero member
Activity: 631
Merit: 501
April 13, 2013, 05:49:31 PM
#65
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((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
        txNew.vout[0].nValue = 50 * COIN;
        txNew.vout[0].scriptPubKey = CScript() << ParseHex("") << 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.
member
Activity: 98
Merit: 10
x1 7970 | Aprox. 587 kh/s
April 13, 2013, 05:49:01 PM
#64
So what exactly should I be doing now?  Huh

I guidance through this
hero member
Activity: 632
Merit: 500
April 13, 2013, 05:48:56 PM
#63
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.
legendary
Activity: 1862
Merit: 1011
Reverse engineer from time to time
April 13, 2013, 05:47:50 PM
#62
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((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("") << OP_CHECKSIG;
        CBlock block;
        block.vtx.push_back(txNew);
        block.hashPrevBlock = 0;
        block.hashMerkleRoot = block.BuildMerkleTree();

Now you mine that.
full member
Activity: 156
Merit: 100
April 13, 2013, 05:47:00 PM
#61
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!
hero member
Activity: 632
Merit: 500
April 13, 2013, 05:45:53 PM
#60
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.
Pages:
Jump to: