Author

Topic: Technical questions about premine ? (Read 140 times)

newbie
Activity: 107
Merit: 0
May 08, 2018, 07:51:03 AM
#3
The coins awarded in the genesis block for BTC are not spendable. Since most coins are a fork from BTC, the genesis block reward would not be spendable for those coins as well. I'm not sure if any coins corrected the code for their coins so that the genesis block reward is spendable.
Since the starting difficulty is rather low when a coin starts out(you can set the minimum difficulty in the code. with BTC, I believe it was 1), the dev can usually just solo mine the 1st block in a short period of time.
Please can you show me the line of code please ? and what value it will get in order to be low difficulty ?

How much time it will take to premine it ?
legendary
Activity: 1806
Merit: 1828
May 07, 2018, 08:34:51 PM
#2
The coins awarded in the genesis block for BTC are not spendable. Since most coins are a fork from BTC, the genesis block reward would not be spendable for those coins as well. I'm not sure if any coins corrected the code for their coins so that the genesis block reward is spendable.
Since the starting difficulty is rather low when a coin starts out(you can set the minimum difficulty in the code. with BTC, I believe it was 1), the dev can usually just solo mine the 1st block in a short period of time.
newbie
Activity: 107
Merit: 0
May 07, 2018, 06:30:18 PM
#1
Hi,

Do genesis block spendable ? if yes, why other altcoins use the block 1 instead of genesis block to premine ?

How much time do AUROCOIN, CANADACOIN or other countrycoins took time to premine that amount of coins ?

Some members will say just to change the block reward difficulty, yes but programmatically where and how to do that ?

For example:

Code:
CAmount GetBlockSubsidy(int nHeight, const Consensus::Params& consensusParams)
{
    int halvings = nHeight / consensusParams.nSubsidyHalvingInterval;
    // Force block reward to zero when right shift is undefined.
    if (halvings >= 64)
        return 0;
    if (nHeight == 1)
        return 10500000 * COIN;

    CAmount nSubsidy = 50 * COIN;
    // Subsidy is cut in half every 210,000 blocks which will occur approximately every 4 years.
    nSubsidy >>= halvings;
    return nSubsidy;
}

Here we set 1050000 coins for the first block, but how to get all that coin to a newly generated address ?

Do i have to use a miner or a fast method to get them there in no time ? if i use a miner, how time this will take to get them all into my wallet ?

The last question is, if i premine about 80% of max money supply, do this algo will be ok for the new altcoin or you can give a suggestion for it:
Code:
    CAmount nSubsidy = 50 * COIN;

    if (nHeight < consensusParams.nSubsidySlowStartInterval / 2) {
        nSubsidy /= consensusParams.nSubsidySlowStartInterval;
        nSubsidy *= nHeight;
        return nSubsidy;
    } else if (nHeight < consensusParams.nSubsidySlowStartInterval) {
        nSubsidy /= consensusParams.nSubsidySlowStartInterval;
        nSubsidy *= (nHeight+1);
        return nSubsidy;
    }

    assert(nHeight > consensusParams.SubsidySlowStartShift());
    int halvings = (nHeight - consensusParams.SubsidySlowStartShift()) / consensusParams.nSubsidyHalvingInterval;

    if (halvings >= 64)
        return 0;

    if (nHeight == 1)
        return 10500000 * COIN;

    nSubsidy >>= halvings;
return nSubsidy;

Hope i will get some answers from experimented users.
Jump to: