Search content
Sort by

Showing 15 of 15 results by tseries
Post
Topic
Board Project Development
Re: Google Adwords -- is it opened for crypto projects?
by
tseries
on 29/05/2019, 18:56:58 UTC
No they are stil ban any crypt adv , if its not exhangers adv...
Post
Topic
Board Announcements (Altcoins)
Re: [ANN]🎈🎁 AIR DROP 🎈🎁 LiteBitcoin ⚒ LBTC 🔥🔥 CPU Mining 🔥🔥[ANN]
by
tseries
on 29/05/2019, 18:54:57 UTC
delete
Post
Topic
Board Altcoin Discussion
what change need make to accept old blockchain block's
by
tseries
on 28/07/2017, 06:41:44 UTC
I try make  altcoin bassed on old Litecoin sources, end i try to convert it for latest available sources. How i can do this ? What need for this ?

I try simple download it on old wallet, then run new. But mine new or download them from other wallet no possible. I try find info how do this. But find noting.

I have this error when trying download block's from peer's
Code:
   ERROR: AcceptBlockHeader: Consensus::ContextualCheckBlockHeader: 90e718e6878f4b7ae4de4ae83db75881d00ca017f5a117c2054798bcb76c4178, bad-version(0x00000002), rejected nVersion=0x00000002 block (code 17)
    2017-07-28 04:12:10 ERROR: invalid header received
    2017-07-28 04:12:10 ProcessMessages(headers, 162003 bytes) FAILED peer=0
    2017-07-28 04:12:10 receive version message: /Satoshi:1.0.0/: version 70002, blocks=3293, us=x.x.x.x:12815, peer=1
in
Code:
   validator i have this settings
    
            // Check proof of work
        if (block.nBits != GetNextWorkRequired(pindexPrev, &block, consensusParams))
            return state.DoS(100, false, REJECT_INVALID, "bad-diffbits", false, "incorrect proof of work");
    
        // Check timestamp against prev
        if (block.GetBlockTime() <= pindexPrev->GetMedianTimePast())
            return state.Invalid(false, REJECT_INVALID, "time-too-old", "block's timestamp is too early");
    
        // Check timestamp
        if (block.GetBlockTime() > nAdjustedTime + 2 * 60 * 60)
            return state.Invalid(false, REJECT_INVALID, "time-too-new", "block timestamp too far in the future");
    
        // Reject outdated version blocks when 95% (75% on testnet) of the network has upgraded:
        // check for version 2, 3 and 4 upgrades
        if((block.nVersion < 2 && nHeight >= consensusParams.BIP34Height) ||
           (block.nVersion < 3 && nHeight >= consensusParams.BIP66Height) ||
           (block.nVersion < 4 && nHeight >= consensusParams.BIP65Height))
                return state.Invalid(false, REJECT_OBSOLETE, strprintf("bad-version(0x%08x)", block.nVersion),
                                     strprintf("rejected nVersion=0x%08x block", block.nVersion));
    
        if (block.nVersion < VERSIONBITS_TOP_BITS && IsWitnessEnabled(pindexPrev, consensusParams))
            return state.Invalid(false, REJECT_OBSOLETE, strprintf("bad-version(0x%08x)", block.nVersion),
                                     strprintf("rejected nVersion=0x%08x block", block.nVersion));
    
        return true;
    }
in genesis block settings i have
Code:
       genesis = CreateGenesisBlock(1498204210, 215446, 0x1e0ffff0, 1, 500 * COIN);
   
    but i have in old sources this setting
Code:
   
            // Check that the block chain matches the known block chain up to a checkpoint
            if (!Checkpoints::CheckBlock(nHeight, hash))
                return state.DoS(100, error("AcceptBlock() : rejected by checkpoint lock-in at %d", nHeight));
    
            // Don't accept any forks from the main chain prior to last checkpoint
            CBlockIndex* pcheckpoint = Checkpoints::GetLastCheckpoint(mapBlockIndex);
            if (pcheckpoint && nHeight < pcheckpoint->nHeight)
                return state.DoS(100, error("AcceptBlock() : forked chain older than last checkpoint (height %d)", nHeight));
    
            // Reject block.nVersion=1 blocks (mainnet >= 710000, testnet >= 400000)
            if (nVersion < 2)
            {
                if ((!fTestNet && nHeight >= 710000) ||
                   (fTestNet && nHeight >= 400000))
                {
                    return state.Invalid(error("AcceptBlock() : rejected nVersion=1 block"));
                }
            }
            // Enforce block.nVersion=2 rule that the coinbase starts with serialized block height
            if (nVersion >= 2)
            {
                if ((!fTestNet && nHeight >= 710000) ||
                   (fTestNet && nHeight >= 400000))
                {
                    CScript expect = CScript() << nHeight;
                    if (vtx[0].vin[0].scriptSig.size() < expect.size() ||
                        !std::equal(expect.begin(), expect.end(), vtx[0].vin[0].scriptSig.begin()))
                        return state.DoS(100, error("AcceptBlock() : block height mismatch in coinbase"));
                }
            }
        }
Post
Topic
Board Altcoin Discussion
Where find the values for this ?
by
tseries
on 26/07/2017, 09:14:04 UTC
list of base58prefixes , not hv this value end what is "1," what this meen ?

        base58Prefixes[SECRET_KEY] =     std::vector(1,176);
       
Post
Topic
Board Altcoin Discussion
question about parameter's chainparas.cpp
by
tseries
on 26/07/2017, 03:31:04 UTC
Code:
        consensus.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
        consensus.nRuleChangeActivationThreshold = 6048; // 75% of 8064
        consensus.nMinerConfirmationWindow = 8064; // nPowTargetTimespan / nPowTargetSpacing * 4
        consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28;
        consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 1199145601; // January 1, 2008
        consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 1230767999; // December 31, 2008

        // Deployment of BIP68, BIP112, and BIP113.
        consensus.vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0;
        consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1485561600; // January 28, 2017
        consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1517356801; // January 31st, 2018

        // Deployment of SegWit (BIP141, BIP143, and BIP147)
        consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].bit = 1;
        consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 1485561600; // January 28, 2017
        consensus.vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 1517356801; // January 31st, 2018

        // The best chain should have at least this much work.
        consensus.nMinimumChainWork = uint256S("0x000000000000000000000000000000000000000000000006805c7318ce2736c0");

        // By default assume that the signatures in ancestors of this block are valid.
        consensus.defaultAssumeValid = uint256S("0x1673fa904a93848eca83d5ca82c7af974511a7e640e22edc2976420744f2e56a"); //1155631


What do these parameters and what put in there. I try find any info about this parameter's but dint find.
I update the altcoin from old sources to new, but stuck on this segwit params.

Post
Topic
Board Altcoin Discussion
how fix diff adjustment attack ?
by
tseries
on 25/07/2017, 01:44:05 UTC
How possible fix adjustment atack ?



the sample of pow code used on altcoin ( scrypt  coin based on old sources of litecoin)

main.cpp

Code:
int64 static GetBlockValue(int nHeight, int64 nFees)
{
    int64 nSubsidy = 500 * COIN;

            if(nHeight == 1)
            {
            nSubsidy = 160000000 * COIN;
            }

    // Subsidy is cut in half every 840000 blocks
    nSubsidy >>= (nHeight / 840000);

    return nSubsidy + nFees;
}

static const int64 nTargetTimespan = 10 * 60;
static const int64 nTargetSpacing = 5 * 60;
static const int64 nInterval = nTargetTimespan / nTargetSpacing;

//
// minimum amount of work that could possibly be required nTime after
// minimum work required was nBase
//
unsigned int ComputeMinWork(unsigned int nBase, int64 nTime)
{
    // Testnet has min-difficulty blocks
    // after nTargetSpacing*2 time between blocks:
    if (fTestNet && nTime > nTargetSpacing*2)
        return bnProofOfWorkLimit.GetCompact();

    CBigNum bnResult;
    bnResult.SetCompact(nBase);
    while (nTime > 0 && bnResult < bnProofOfWorkLimit)
    {
        // Maximum 400% adjustment...
        bnResult *= 4;
        // ... in best-case exactly 4-times-normal target time
        nTime -= nTargetTimespan*4;
    }
    if (bnResult > bnProofOfWorkLimit)
        bnResult = bnProofOfWorkLimit;
    return bnResult.GetCompact();
}

unsigned int static GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock)
{
    unsigned int nProofOfWorkLimit = bnProofOfWorkLimit.GetCompact();

    // Genesis block
    if (pindexLast == NULL)
        return nProofOfWorkLimit;

    // Only change once per interval
    if ((pindexLast->nHeight+1) % nInterval != 0)
    {
        // Special difficulty rule for testnet:
        if (fTestNet)
        {
            // If the new block's timestamp is more than 2* 10 minutes
            // then allow mining of a min-difficulty block.
            if (pblock->nTime > pindexLast->nTime + nTargetSpacing*2)
                return nProofOfWorkLimit;
            else
            {
                // Return the last non-special-min-difficulty-rules-block
                const CBlockIndex* pindex = pindexLast;
                while (pindex->pprev && pindex->nHeight % nInterval != 0 && pindex->nBits == nProofOfWorkLimit)
                    pindex = pindex->pprev;
                return pindex->nBits;
            }
        }

        return pindexLast->nBits;
    }

    // LiteBitcoin: This fixes an issue where a 51% attack can change difficulty at will.
    // Go back the full period unless it's the first retarget after genesis. Code courtesy of Art Forz
    int blockstogoback = nInterval-1;
    if ((pindexLast->nHeight+1) != nInterval)
        blockstogoback = nInterval;

    // Go back by what we want to be 14 days worth of blocks
    const CBlockIndex* pindexFirst = pindexLast;
    for (int i = 0; pindexFirst && i < blockstogoback; i++)
        pindexFirst = pindexFirst->pprev;
    assert(pindexFirst);

    // Limit adjustment step
    int64 nActualTimespan = pindexLast->GetBlockTime() - pindexFirst->GetBlockTime();
    printf("  nActualTimespan = %"PRI64d"  before bounds\n", nActualTimespan);
    if (nActualTimespan < nTargetTimespan/4)
        nActualTimespan = nTargetTimespan/4;
    if (nActualTimespan > nTargetTimespan*4)
        nActualTimespan = nTargetTimespan*4;

    // Retarget
    CBigNum bnNew;
    bnNew.SetCompact(pindexLast->nBits);
    bnNew *= nActualTimespan;
    bnNew /= nTargetTimespan;

    if (bnNew > bnProofOfWorkLimit)
        bnNew = bnProofOfWorkLimit;

    /// debug print
    printf("GetNextWorkRequired RETARGET\n");
    printf("nTargetTimespan = %"PRI64d"    nActualTimespan = %"PRI64d"\n", nTargetTimespan, nActualTimespan);
    printf("Before: %08x  %s\n", pindexLast->nBits, CBigNum().SetCompact(pindexLast->nBits).getuint256().ToString().c_str());
    printf("After:  %08x  %s\n", bnNew.GetCompact(), bnNew.getuint256().ToString().c_str());

    return bnNew.GetCompact();
}

bool CheckProofOfWork(uint256 hash, unsigned int nBits)
{
    CBigNum bnTarget;
    bnTarget.SetCompact(nBits);

    // Check range
    if (bnTarget <= 0 || bnTarget > bnProofOfWorkLimit)
        return error("CheckProofOfWork() : nBits below minimum work");

    // Check proof of work matches claimed amount
    if (hash > bnTarget.getuint256())
        return error("CheckProofOfWork() : hash doesn't match nBits");

    return true;
}

// Return maximum amount of blocks that other nodes claim to have
int GetNumBlocksOfPeers()
{
    return std::max(cPeerBlockCounts.median(), Checkpoints::GetTotalBlocksEstimate());
}


Post
Topic
Board Кодеры
Re: Идея касательно форка ( изменения самого п
by
tseries
on 04/07/2017, 18:36:09 UTC
одним словом без годного гчс не 1 крипто алг не может называется стойким.
Щас все коины работают на принципе  предсказуемости , а тут замена на хаотичность.
Устройства созданные для майнинга применимы в любой криптографии для получения случайности.
Майнить можно  на всем что шумит случайностью (белым шумом) Wink  Так то фактически пользы тут больше выходит чем от щелканья хешей и нагревания. + не нужно превращать квартиру в духовку при майнинге.

В любом случае это пока что всего лишь идея , что с этого получится я не знаю. Но в теории возможно сделать крипту на основе рандома даже стойкой к квантовым вычислениям.
Post
Topic
Board Кодеры
Topic OP
Идея касательно форка ( изменения самого п
by
tseries
on 02/07/2017, 16:15:26 UTC
Возникла у меня идея так ради эксперимента реализовать альт коин но не простой  а на основе рандома и его энтропии.

Идея из черновика как это должно выглядеть. У нас есть рандомные данные с высокой энтропией на основе них мы генерируем хеш блока и проверяем этот же хеш на энтропию и снова проверяем самим уже блокчейном энтропию хеша , если она попадает под наши нормы - майнер получает награду. Сложность же заключает в количестве рандомной даты с хорошей энтропией на вход ( её нужно будет больше когда сложность будет расти )  как её майнить ? Берем dev/random , звуковую, радио, все что шумит рнд и майним + устройства в отличии от тех же асиков при высокой сложности применимы для  криптографии.

Вероятно такое  уже было и я не нашел .

Прошу советов, критики , и идей.
Post
Topic
Board Кодеры
Topic OP
Помогите с форком , а точне разобратся с spork в и
by
tseries
on 19/07/2015, 13:33:42 UTC
имеются паблик кеи
spork.h
Code:
class CSporkManager
{
private:
    std::vector vchSig;

    std::string strMasterPrivKey;
    std::string strTestPubKey;
    std::string strMainPubKey;

public:

    CSporkManager() {
        strMainPubKey = "04549ac134f694c0243f503e8c8a9a986f5de6610049c40b07816809b0d1d06a21b07be27b9bb555931773f62ba6cf35a25fd52f694d4e1106ccd237a7bb899fdd";
        strTestPubKey = "046f78dcf911fbd61910136f7f0f8d90578f68d0b3ac973b5040fb7afb501b5939f39b108b0569dca71488f5bbf498d92e4d1194f6f941307ffd95f75e76869f0e";
    }

    std::string GetSporkNameByID(int id);
    int GetSporkIDByName(std::string strName);
    bool UpdateSpork(int nSporkID, int64_t nValue);
    bool SetPrivKey(std::string strPrivKey);
    bool CheckSignature(CSporkMessage& spork);
    bool Sign(CSporkMessage& spork);
    void Relay(CSporkMessage& msg);

};


вопрос в  том куда импортировать секретные ключи . Что бы менеджер spork  заработал . И вобщем то как вызвать спорк менджер .

Также вопрос на что влияет этот параметр

#define SPORK_1_MASTERNODE_PAYMENTS_ENFORCEMENT_DEFAULT       1424217600  //2015-2-18
#define SPORK_2_INSTANTX_DEFAULT                              978307200   //2001-1-1
#define SPORK_3_INSTANTX_BLOCK_FILTERING_DEFAULT              1424217600  //2015-2-18
#define SPORK_5_MAX_VALUE_DEFAULT                             1000        //1000 DASH
#define SPORK_7_MASTERNODE_SCANNING_DEFAULT                   978307200   //2001-1-1

и еще вопрос по мастернодам .

как я заметил в  мастер нодах есть такая вот строчка в masternode.h


Code:
public:

    CMasternodePayments() {
        strMainPubKey = "04549ac134f694c0243f503e8c8a9a986f5de6610049c40b07816809b0d1d06a21b07be27b9bb555931773f62ba6cf35a25fd52f694d4e1106ccd237a7bb899fdd";
        strTestPubKey = "046f78dcf911fbd61910136f7f0f8d90578f68d0b3ac973b5040fb7afb501b5939f39b108b0569dca71488f5bbf498d92e4d1194f6f941307ffd95f75e76869f0e";
        enabled = false;
    }

    bool SetPrivKey(std::string strPrivKey);
    bool CheckSignature(CMasternodePaymentWinner& winner);
    bool Sign(CMasternodePaymentWinner& winner);

и паблик ключи совпадают , есть мысль что для работы spork , нужно подымать мастер ноду с секретным ключем на котором будет основан данный паблик кей.

Прошу помощи разобраться .
Post
Topic
Board Альтернативные криптовалюты
Topic OP
Помогите с форком , а точне разобратся с фун&
by
tseries
on 19/07/2015, 12:45:12 UTC
имеются паблик кеи

Code:
class CSporkManager
{
private:
    std::vector vchSig;

    std::string strMasterPrivKey;
    std::string strTestPubKey;
    std::string strMainPubKey;

public:

    CSporkManager() {
        strMainPubKey = "04549ac134f694c0243f503e8c8a9a986f5de6610049c40b07816809b0d1d06a21b07be27b9bb555931773f62ba6cf35a25fd52f694d4e1106ccd237a7bb899fdd";
        strTestPubKey = "046f78dcf911fbd61910136f7f0f8d90578f68d0b3ac973b5040fb7afb501b5939f39b108b0569dca71488f5bbf498d92e4d1194f6f941307ffd95f75e76869f0e";
    }

    std::string GetSporkNameByID(int id);
    int GetSporkIDByName(std::string strName);
    bool UpdateSpork(int nSporkID, int64_t nValue);
    bool SetPrivKey(std::string strPrivKey);
    bool CheckSignature(CSporkMessage& spork);
    bool Sign(CSporkMessage& spork);
    void Relay(CSporkMessage& msg);

};


вопрос в  том куда импортировать секретные ключи . Что бы менеджер spork  заработал . И вобщем то как вызвать спорк менджер .

Также вопрос на что влияет этот параметр

#define SPORK_1_MASTERNODE_PAYMENTS_ENFORCEMENT_DEFAULT       1424217600  //2015-2-18
#define SPORK_2_INSTANTX_DEFAULT                              978307200   //2001-1-1
#define SPORK_3_INSTANTX_BLOCK_FILTERING_DEFAULT              1424217600  //2015-2-18
#define SPORK_5_MAX_VALUE_DEFAULT                             1000        //1000 DASH
#define SPORK_7_MASTERNODE_SCANNING_DEFAULT                   978307200   //2001-1-1

и еще вопрос по мастернодам .

как я заметил в  мастер нодах есть такая вот строчка в masternode.h


Code:
public:

    CMasternodePayments() {
        strMainPubKey = "04549ac134f694c0243f503e8c8a9a986f5de6610049c40b07816809b0d1d06a21b07be27b9bb555931773f62ba6cf35a25fd52f694d4e1106ccd237a7bb899fdd";
        strTestPubKey = "046f78dcf911fbd61910136f7f0f8d90578f68d0b3ac973b5040fb7afb501b5939f39b108b0569dca71488f5bbf498d92e4d1194f6f941307ffd95f75e76869f0e";
        enabled = false;
    }

    bool SetPrivKey(std::string strPrivKey);
    bool CheckSignature(CMasternodePaymentWinner& winner);
    bool Sign(CMasternodePaymentWinner& winner);

и паблик ключи совпадают , есть мысль что для работы spork , нужно подымать мастер ноду с секретным ключем на котором будет основан данный паблик кей.

Прошу помощи разобраться .
Post
Topic
Board Altcoin Discussion
Topic OP
Spork on dash how make it work on altcoin ?
by
tseries
on 19/07/2015, 11:09:42 UTC
I see the pubkey


Code:
class CSporkManager
{
private:
    std::vector vchSig;

    std::string strMasterPrivKey;
    std::string strTestPubKey;
    std::string strMainPubKey;

public:

    CSporkManager() {
        strMainPubKey = "04549ac134f694c0243f503e8c8a9a986f5de6610049c40b07816809b0d1d06a21b07be27b9bb555931773f62ba6cf35a25fd52f694d4e1106ccd237a7bb899fdd";
        strTestPubKey = "046f78dcf911fbd61910136f7f0f8d90578f68d0b3ac973b5040fb7afb501b5939f39b108b0569dca71488f5bbf498d92e4d1194f6f941307ffd95f75e76869f0e";
    }

    std::string GetSporkNameByID(int id);
    int GetSporkIDByName(std::string strName);
    bool UpdateSpork(int nSporkID, int64_t nValue);
    bool SetPrivKey(std::string strPrivKey);
    bool CheckSignature(CSporkMessage& spork);
    bool Sign(CSporkMessage& spork);
    void Relay(CSporkMessage& msg);

};


but where  import the privkey, end how call sporkmanager .



Code:
13:55:00

spork


13:55:00

spork []
is the corresponding spork name, or 'show' to show all current spork settings is a epoch datetime to enable or disable spork (code -1)


13:56:18

spork SPORK_1_MASTERNODE_PAYMENTS_ENFORCEMENT_DEFAULT


13:56:18

spork []
is the corresponding spork name, or 'show' to show all current spork settings is a epoch datetime to enable or disable spork (code -1)


13:56:24

spork SPORK_1_MASTERNODE_PAYMENTS_ENFORCEMENT_DEFAULT 1


13:56:24

Invalid spork name


13:56:53

spork SPORK_1_MASTERNODE_PAYMENTS_ENFORCEMENT_DEFAULT [1]


13:56:53

Error: value is type array, expected int


13:57:01

spork SPORK_1_MASTERNODE_PAYMENTS_ENFORCEMENT_DEFAULT 1


13:57:01

Invalid spork name


13:57:21

spork SPORK_7_MASTERNODE_SCANNING 1


13:57:21

failure


13:57:26

spork SPORK_7_MASTERNODE_SCANNING [1]


13:57:26

Error: value is type array, expected int


13:57:36

spork SPORK_7_MASTERNODE_SCANNING [2]


13:57:36

Error: value is type array, expected int


13:57:39

spork SPORK_7_MASTERNODE_SCANNING [24242141]


13:57:39

Error: value is type array, expected int


13:58:49

spork settings 1


13:58:49

Invalid spork name


13:59:04

spork settings <1>


13:59:04

Error: Error parsing JSON:<1>


13:59:08

spork settings <2>


13:59:08

Error: Error parsing JSON:<2>


13:59:21

spork SPORK_7_MASTERNODE_SCANNING [<24242141>]


13:59:21

Error: Error parsing JSON:[<24242141>]


13:59:26

spork SPORK_7_MASTERNODE_SCANNING [<1>]


13:59:26

Error: Error parsing JSON:[<1>]


13:59:28

spork SPORK_7_MASTERNODE_SCANNING [<2>]


13:59:28

Error: Error parsing JSON:[<2>]


13:59:37

spork SPORK_7_MASTERNODE_SCANNING []


13:59:37

Error: Error parsing JSON:[]


13:59:40

spork SPORK_7_MASTERNODE_SCANNING [key]


13:59:40

Error: Error parsing JSON:[key]


13:59:46

spork SPORK_7_MASTERNODE_SCANNING [5435234545345234534534534534]


13:59:46

Error: Error parsing JSON:[5435234545345234534534534534]

end what is this ?  
what this do ?
Code:
#define SPORK_1_MASTERNODE_PAYMENTS_ENFORCEMENT_DEFAULT       1424217600  //2015-2-18
#define SPORK_2_INSTANTX_DEFAULT                              978307200   //2001-1-1
#define SPORK_3_INSTANTX_BLOCK_FILTERING_DEFAULT              1424217600  //2015-2-18
#define SPORK_5_MAX_VALUE_DEFAULT                             1000        //1000 DASH
#define SPORK_7_MASTERNODE_SCANNING_DEFAULT                   978307200   //2001-1-1
Post
Topic
Board Altcoin Discussion
Topic OP
Darkcoin/Dash Source try make alt coin
by
tseries
on 16/07/2015, 08:40:16 UTC
help me about hash key's  whit what  gen them  ? end  say me what i forgot to change  for make success worked alt coin  of Dash.



Spork.h
Code:

    CSporkManager() {
        strMainPubKey = "04549ac134f694c0243f503e8c8a9a986f5de6610049c40b07816809b0d1d06a21b07be27b9bb555931773f62ba6cf35a25fd52f694d4e1106ccd237a7bb899fdd";
        strTestPubKey = "046f78dcf911fbd61910136f7f0f8d90578f68d0b3ac973b5040fb7afb501b5939f39b108b0569dca71488f5bbf498d92e4d1194f6f941307ffd95f75e76869f0e";


maim.cpp
Code:
   // Do not allow blocks that contain transactions which 'overwrite' older transactions,
    // unless those are already completely spent.
    // If such overwrites are allowed, coinbases and transactions depending upon those
    // can be duplicated to remove the ability to spend the first instance -- even after
    // being sent to another address.
    // See BIP30 and http://r6.ca/blog/20120206T005236Z.html for more information.
    // This logic is not necessary for memory pool transactions, as AcceptToMemoryPool
    // already refuses previously-known transaction ids entirely.
    // This rule was originally applied all blocks whose timestamp was after March 15, 2012, 0:00 UTC.
    // Now that the whole chain is irreversibly beyond that time it is applied to all blocks except the
    // two in the chain that violate it. This prevents exploiting the issue against nodes in their
    // initial block download.
    bool fEnforceBIP30 = (!pindex->phashBlock) || // Enforce on CreateNewBlock invocations which don't have a hash.
                          !((pindex->nHeight==91842 && pindex->GetBlockHash() == uint256("0x00000000000a4d0a398161ffc163c503763b1f4360639393e0e4c8e300e0caec")) ||
                           (pindex->nHeight==91880 && pindex->GetBlockHash() == uint256("0x00000000000743f190a18c5577a3c2d2a1f610ae9601ac046a38084ccb7cd721")));
    if (fEnforceBIP30) {
        for (unsigned int i = 0; i < block.vtx.size(); i++) {
            uint256 hash = block.GetTxHash(i);
            if (view.HaveCoins(hash) && !view.GetCoins(hash).IsPruned())
                return state.DoS(100, error("ConnectBlock() : tried to overwrite transaction"),
                                 REJECT_INVALID, "bad-txns-BIP30");

chainparams.ccp
Code:
       vAlertPubKey = ParseHex("04517d8a699cb43d3938d7b24faaff7cda448ca4ea267723ba614784de661949bf632d6304316b244646dea079735b9a6fc4af804efb4752075b9fe2245e14e412");
        nDefaultPort = 19999;
        nRPCPort = 19998;
        strDataDir = "testnet3";

        // Modify the testnet genesis block so the timestamp is valid for a later start.
        genesis.nTime = 1390666206;
        genesis.nNonce = 3861367235;

        hashGenesisBlock = genesis.GetHash();
        assert(hashGenesisBlock == uint256("0x00000bafbc94add76cb75e2ec92894837288a481e5c005f6563d91623bf8bc2c"));

class CRegTestParams : public CTestNetParams {

public:
    CRegTestParams() {
        pchMessageStart[0] = 0xfc;
        pchMessageStart[1] = 0xc1;
        pchMessageStart[2] = 0xb7;
        pchMessageStart[3] = 0xdc;
        nSubsidyHalvingInterval = 150;
        bnProofOfWorkLimit = CBigNum(~uint256(0) >> 1);
        genesis.nTime = 1417713337;
        genesis.nBits = 0x207fffff;
        genesis.nNonce = 1096447;
        nDefaultPort = 19994;
        strDataDir = "regtest";

        hashGenesisBlock = genesis.GetHash();
        assert(hashGenesisBlock == uint256("0x000008ca1832a4baf228eb1553c03d3a2c8e02399550dd6ea8d65cec3ef23d2e"));

i try find  info but find only about scrypt coin's http://devtome.com/doku.php?id=scrypt_altcoin_cloning_guide

 , end  they hv diff about changing params on source.

Post
Topic
Board Altcoin Discussion
Re: who can say me how to compile darkcoin/dash wallet on windows
by
tseries
on 16/07/2015, 08:33:07 UTC
not actual
Post
Topic
Board Altcoin Discussion
Topic OP
who can say me how to compile darkcoin/dash wallet on windows
by
tseries
on 14/07/2015, 10:31:36 UTC
who can say me how to compile darkcoin/dash wallet on windows

cross compile on linux for windows or compile on windows

i try this https://dashtalk.org/threads/how-to-gitian-build-dash-under-debian-jessie-using-lxc.5397/

but its not compile anyting


i try  compile dashcoin bitcoin on gitian builder , its not work .

i try to compile on windows  with mingw dashcoin end bitcoin it's to not work

plese help me all info what i find not actual   Undecided
Post
Topic
Board Altcoin Discussion
Topic OP
Help please how to compile any coin on windows or on linux cross compule to win
by
tseries
on 11/07/2015, 17:13:25 UTC
Help please how to compile any coin on windows or on linux cross compule to win

i try find info , but   all indo is not  correct end i hv error on compile.

Pleasr help with working method  Sad

End please do not say anyting if tou do not try  what you say !