Actually this coin is already DEAD, because of '1 coin per block'
But little bit interest, how this coin works.....
K.
The genisblock line fixed? Thanks
replace line 2588
with
assert(block.GetHash("0x000000c249386a215da8af52ccf04a8d8b175146844a73f0b6bfb25aa5081e50") == hashGenesisBlock);
2588? That's
if (!block.AddToBlockIndex(nFile, nBlockPos))
maybe 2580?
edit, yep, you're right.
then
main.cpp: In function âbool LoadBlockIndex(bool)â:
main.cpp:2580:9: error: no matching function for call to âCBlock::GetHash(const char [67])â
main.cpp:2580:9: note: candidate is:
main.h:908:13: note: uint256 CBlock::GetHash() const
main.h:908:13: note: candidate expects 0 arguments, 1 provided
make: *** [obj/main.o] Error 1
uploaded a fix for main.cpp
try it
https://docs.google.com/file/d/0B5V5vln-sS3EUllBZE9yZkh3VTA/edit?usp=sharingThe main.cpp from this link is totally different from the one of the 7z source package. It has the assert line fix mentionned earlier but also a lot of other changes, and anyway it doesn't compile (getHash is expecting 0 arguments and lots of other errors).
Here is the diff on main.cpp:
43c43
< int64 nChainStartTime = 1374863975;
---
> int64 nChainStartTime = 1375158511;
980a981,984
> static const int64 nMin = .777 * COIN;
> static const int nA = 777;
> static const int nB = 228.7992277992278;
> static const int nMult = 1.5;
984c988
< int64 nSubsidy = 1 * COIN;
---
> int64 nSubsidy = (nMult * 5.18) * COIN;
986c990
< if (nHeight == 1)
---
> if (nHeight == 1) //giveaway *777 coins
988c992
< nSubsidy= 777 * COIN;
---
> nSubsidy= (518 * nMult) * COIN;
990c994
< else if (nHeight == 2)
---
> else if (nHeight == 7)
992c996
< nSubsidy = 210000 * COIN;
---
> nSubsidy = (nA * nB) * COIN;
994c998
< else if (nHeight < 2000 && nHeight > 2)
---
> else if (nHeight < 2000 && nHeight > 8)
1019c1023
< else {nSubsidy = 10 * COIN;}
---
> else {nSubsidy = (nMult * 5.18) * COIN;}
1023a1028,1032
> //prevent subsidy from dropping under 1 coin due to the subsidy halving
> if (nSubsidy < nMin)
> {
> nSubsidy = nMin;
> }
1038c1047
< static const int64 nTargetTimespan = 1 * 30; // 30 second blocks
---
> static const int64 nTargetTimespan = 12 * 60; // every 12 minutes
2532,2537c2541,2545
< // Genesis Block:
< // 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 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73)
< // CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)
< // vMerkleTree: 4a5e1e
---
> CBlock(hash=000000c249386a215da8, ver=1, hashPrevBlock=00000000000000000000, hashMerkleRoot=7a550e40fe, nTime=1375158511, nBits=1e0fffff, nNonce=3716373, vtx=1, vchBlockSig=)
> Coinbase(hash=7a550e40fe, nTime=1375158491, ver=1, vin.size=1, vout.size=1, nLockTime=0)
> CTxIn(COutPoint(0000000000, 4294967295), coinbase 04ffff001d020f271d5475652c203330204a756c20323031332030343a32383a303620474d54)
> CTxOut(empty)
> vMerkleTree: 7a550e40fe
2540c2548
< const char* pszTimestamp = "MehCoin? Really? How damn easy can one person make this??";
---
> const char* pszTimestamp = "Tue, 30 Jul 2013 04:28:06 GMT";
2554c2562
< block.nNonce = 3444140;
---
> block.nNonce = 3716373
2556c2564
< if (true && (block.GetHash() != hashGenesisBlock)) {
---
> if (false && (block.GetHash() != hashGenesisBlock)) {
2577c2585
< assert(block.hashMerkleRoot == uint256("0x6200a3522fa96dfa4309ddf105c0009ea3e6487ecbded73bcdee0fe664ff3df0"));
---
> assert(block.hashMerkleRoot == uint256("0x7a550e40fea56322b3d4e9a1cf7d5d8a5d1a7d26f18645cc0d3c0635bbdc80e7"));
2580c2588
< assert(block.GetHash() == hashGenesisBlock);
---
> assert(block.GetHash(0x000000c249386a215da8af52ccf04a8d8b175146844a73f0b6bfb25aa5081e50) == hashGenesisBlock);
4193a4202
> //thanks adam m for this fix to override nBits.
4195c4204
< pblock->vtx[0].vout[0].nValue = GetProofOfWorkReward(pblock->nBits);
---
> pblock->vtx[0].vout[0].nValue = GetProofOfWorkReward(pindexPrev->nHeight+1, nFees, pindexPrev->GetBlockHash());
So what's going on? Can the sources be re-released with the fix? Thanks.