<p>It doesn't have a 24-hour block time, it <a href="https://bitcointalk.org/index.php?topic=700289.0" rel="nofollow noreferrer">issued all its PoW coins in the first 24 hours of existence</a>.</p>

<p>The math you're looking for is <code>nTargetSpacing * LAST_POW_BLOCK</code>, which multiplies to 86400, the number of seconds in 24 hours.</p>

<p><a href="http://concealcoin.pw/" rel="nofollow noreferrer">As you can see from their home page</a> (<a href="https://i.sstatic.net/Opvoa.png" rel="nofollow noreferrer">screenshot</a>), that worked out about as well as you'd expect.</p>

CC BY-SA 3.0
2015-03-24T18:50:41.750Z
ok so 30 seconds x 2880 blocks is 86400 - Thanks! I was having a brain freeze looking at all this code :)
Joe
CC BY-SA 3.0
2015-03-24T18:52:32.073Z
@Joe It doesn't explicitly only allow PoW blocks for 24 hours, but it says 'make a new block about every 30 seconds, and only make 2880 blocks.'
Nick ODell
CC BY-SA 3.0
2015-03-24T18:54:50.313Z
I noticed a lot of these 1,2,3 day PoW coins usually add "approximately" 3 days POW"
Joe
CC BY-SA 3.0
2015-03-24T22:15:05.563Z
@Joe yeah the idea was quickly run a POW distribution unusually secured by POS.
Wizard Of Ozzie
CC BY-SA 3.0
2015-03-24T23:39:29.743Z
Bwahahaa... Hilarious answer!
Jannes
CC BY-SA 3.0
2015-03-24T18:38:22.463Z
2015-03-24T18:45:42.020Z
2015-03-24T18:45:42.020Z
Nick ODell
<p>I see several coins advertising 1 day PoW.
An example is this coin. <a href="https://github.com/concealcoin/concealcoin" rel="nofollow">https://github.com/concealcoin/concealcoin</a></p>

<p>I have been studying the code but must be missing a critical part as none of the math adds to 1 day. </p>

<p>Can anyone shed light on this? What part of the code am I missing?</p>

<p>Main.cpp</p>

<pre><code>CBigNum bnProofOfWorkLimit(~uint256(0) &gt;&gt; 20); // "standard" scrypt target limit for proof of work, results with 0,000244140625 proof-of-work difficulty
CBigNum bnProofOfStakeLimit(~uint256(0) &gt;&gt; 20);
CBigNum bnProofOfWorkLimitTestNet(~uint256(0) &gt;&gt; 16);

unsigned int nTargetSpacing = 1 * 30; // 30 seconds
unsigned int nStakeMinAge = 24 * 60 * 60; // 24 hours
unsigned int nStakeMaxAge = 30 * 24 * 60 * 60;           // 30 days
unsigned int nModifierInterval = 10 * 60; // time to elapse before new modifier is computed

int nCoinbaseMaturity = 80;
CBlockIndex* pindexGenesisBlock = NULL;
int nBestHeight = -1;

and the rewards from main.cpp
// miner's coin base reward
int64_t GetProofOfWorkReward(int64_t nFees)
{
    int64_t nSubsidy = 3500 * COIN;

    if (fDebug &amp;&amp; GetBoolArg("-printcreation"))
        printf("GetProofOfWorkReward() : create=%s nSubsidy=%"PRId64"\n", FormatMoney(nSubsidy).c_str(), nSubsidy);

    return nSubsidy + nFees;
}
</code></pre>

<p>Main.h</p>

<pre><code>static const int LAST_POW_BLOCK = 2880;

static const unsigned int MAX_BLOCK_SIZE = 1000000;
static const unsigned int MAX_BLOCK_SIZE_GEN = MAX_BLOCK_SIZE/2;
static const unsigned int MAX_BLOCK_SIGOPS = MAX_BLOCK_SIZE/50;
static const unsigned int MAX_ORPHAN_TRANSACTIONS = MAX_BLOCK_SIZE/100;
static const unsigned int MAX_INV_SZ = 50000;
static const int64_t MIN_TX_FEE = 1000;
static const int64_t MIN_RELAY_TX_FEE = MIN_TX_FEE;
static const int64_t MAX_MONEY = 17000000 * COIN;
static const int64_t COIN_YEAR_REWARD = 3 * CENT; // 3% per year
static const int64_t MAX_MINT_PROOF_OF_STAKE = 0.03 * COIN; // 3% annual interest
static const int MODIFIER_INTERVAL_SWITCH = 2000;
</code></pre>

<altcoin-development>
What does 1 day PoW mean?
Joe
# What does 1 day PoW mean?

(Asked by: username_0 on 2015-03-24)

I see several coins advertising 1 day PoW.
An example is this coin. <https://github.com/concealcoin/concealcoin>

I have been studying the code but must be missing a critical part as none of the math adds to 1 day.

Can anyone shed light on this? What part of the code am I missing?

Main.cpp

```
CBigNum bnProofOfWorkLimit(~uint256(0) >> 20); // "standard" scrypt target limit for proof of work, results with 0,000244140625 proof-of-work difficulty
CBigNum bnProofOfStakeLimit(~uint256(0) >> 20);
CBigNum bnProofOfWorkLimitTestNet(~uint256(0) >> 16);

unsigned int nTargetSpacing = 1 * 30; // 30 seconds
unsigned int nStakeMinAge = 24 * 60 * 60; // 24 hours
unsigned int nStakeMaxAge = 30 * 24 * 60 * 60;           // 30 days
unsigned int nModifierInterval = 10 * 60; // time to elapse before new modifier is computed

int nCoinbaseMaturity = 80;
CBlockIndex* pindexGenesisBlock = NULL;
int nBestHeight = -1;

and the rewards from main.cpp
// miner's coin base reward
int64_t GetProofOfWorkReward(int64_t nFees)
{
    int64_t nSubsidy = 3500 * COIN;

    if (fDebug && GetBoolArg("-printcreation"))
        printf("GetProofOfWorkReward() : create=%s nSubsidy=%"PRId64"\n", FormatMoney(nSubsidy).c_str(), nSubsidy);

    return nSubsidy + nFees;
}

```

Main.h

```
static const int LAST_POW_BLOCK = 2880;

static const unsigned int MAX_BLOCK_SIZE = 1000000;
static const unsigned int MAX_BLOCK_SIZE_GEN = MAX_BLOCK_SIZE/2;
static const unsigned int MAX_BLOCK_SIGOPS = MAX_BLOCK_SIZE/50;
static const unsigned int MAX_ORPHAN_TRANSACTIONS = MAX_BLOCK_SIZE/100;
static const unsigned int MAX_INV_SZ = 50000;
static const int64_t MIN_TX_FEE = 1000;
static const int64_t MIN_RELAY_TX_FEE = MIN_TX_FEE;
static const int64_t MAX_MONEY = 17000000 * COIN;
static const int64_t COIN_YEAR_REWARD = 3 * CENT; // 3% per year
static const int64_t MAX_MINT_PROOF_OF_STAKE = 0.03 * COIN; // 3% annual interest
static const int MODIFIER_INTERVAL_SWITCH = 2000;

```

**Tags:** altcoin-development


---

## 1 answers

### Answer by username_1 on 2015-03-24. Score: 1 | Accepted answer

It doesn't have a 24-hour block time, it [issued all its PoW coins in the first 24 hours of existence](https://bitcointalk.org/index.php?topic=700289.0).

The math you're looking for is `nTargetSpacing * LAST_POW_BLOCK`, which multiplies to 86400, the number of seconds in 24 hours.

[As you can see from their home page](http://concealcoin.pw/) ([screenshot](https://i.sstatic.net/Opvoa.png)), that worked out about as well as you'd expect.

> **Comments:**
> **username_0**: ok so 30 seconds x 2880 blocks is 86400 - Thanks! I was having a brain freeze looking at all this code :)  
> **username_1**: @username_0 It doesn't explicitly only allow PoW blocks for 24 hours, but it says 'make a new block about every 30 seconds, and only make 2880 blocks.'  
> **username_0**: I noticed a lot of these 1,2,3 day PoW coins usually add "approximately" 3 days POW"  
> **username_2**: @username_0 yeah the idea was quickly run a POW distribution unusually secured by POS.  
> **username_3**: Bwahahaa... Hilarious answer!  

---

