Bitcoin Forum
June 23, 2024, 09:45:37 AM *
News: Voting for pizza day contest
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Project Development / Re: Google Adwords -- is it opened for crypto projects? on: May 29, 2019, 06:56:58 PM
No they are stil ban any crypt adv , if its not exhangers adv...
2  Alternate cryptocurrencies / Altcoin Discussion / what change need make to accept old blockchain block's on: July 28, 2017, 06:41:44 AM
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"));
                }
            }
        }
3  Alternate cryptocurrencies / Altcoin Discussion / Where find the values for this ? on: July 26, 2017, 09:14:04 AM
list of base58prefixes , not hv this value end what is "1," what this meen ?

        base58Prefixes[SECRET_KEY] =     std::vector<unsigned char>(1,176);
       
4  Alternate cryptocurrencies / Altcoin Discussion / question about parameter's chainparas.cpp on: July 26, 2017, 03:31:04 AM
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.

5  Alternate cryptocurrencies / Altcoin Discussion / how fix diff adjustment attack ? on: July 25, 2017, 01:44:05 AM
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());
}


6  Local / Кодеры / Re: Идея касательно форка ( изменения самого п on: July 04, 2017, 06:36:09 PM
одним словом без годного гчс не 1 крипто алг не может называется стойким.
Щас все коины работают на принципе  предсказуемости , а тут замена на хаотичность.
Устройства созданные для майнинга применимы в любой криптографии для получения случайности.
Майнить можно  на всем что шумит случайностью (белым шумом) Wink  Так то фактически пользы тут больше выходит чем от щелканья хешей и нагревания. + не нужно превращать квартиру в духовку при майнинге.

В любом случае это пока что всего лишь идея , что с этого получится я не знаю. Но в теории возможно сделать крипту на основе рандома даже стойкой к квантовым вычислениям.
7  Local / Кодеры / Идея касательно форка ( изменения самого п on: July 02, 2017, 04:15:26 PM
Возникла у меня идея так ради эксперимента реализовать альт коин но не простой  а на основе рандома и его энтропии.

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

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

Прошу советов, критики , и идей.
8  Local / Кодеры / Помогите с форком , а точне разобратся с spork в и on: July 19, 2015, 01:33:42 PM
имеются паблик кеи
spork.h
Code:
class CSporkManager
{
private:
    std::vector<unsigned char> 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 , нужно подымать мастер ноду с секретным ключем на котором будет основан данный паблик кей.

Прошу помощи разобраться .
9  Local / Альтернативные криптовалюты / Помогите с форком , а точне разобратся с фун& on: July 19, 2015, 12:45:12 PM
имеются паблик кеи

Code:
class CSporkManager
{
private:
    std::vector<unsigned char> 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 , нужно подымать мастер ноду с секретным ключем на котором будет основан данный паблик кей.

Прошу помощи разобраться .
10  Alternate cryptocurrencies / Altcoin Discussion / Spork on dash how make it work on altcoin ? on: July 19, 2015, 11:09:42 AM
I see the pubkey


Code:
class CSporkManager
{
private:
    std::vector<unsigned char> 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 <name> [<value>]
<name> is the corresponding spork name, or 'show' to show all current spork settings<value> 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 <name> [<value>]
<name> is the corresponding spork name, or 'show' to show all current spork settings<value> 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 [<key>]


13:59:37

Error: Error parsing JSON:[<key>]


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
11  Alternate cryptocurrencies / Altcoin Discussion / Darkcoin/Dash Source try make alt coin on: July 16, 2015, 08:40:16 AM
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.

12  Alternate cryptocurrencies / Altcoin Discussion / Re: who can say me how to compile darkcoin/dash wallet on windows on: July 16, 2015, 08:33:07 AM
not actual
13  Alternate cryptocurrencies / Altcoin Discussion / who can say me how to compile darkcoin/dash wallet on windows on: July 14, 2015, 10:31:36 AM
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
14  Alternate cryptocurrencies / Altcoin Discussion / Help please how to compile any coin on windows or on linux cross compule to win on: July 11, 2015, 05:13:25 PM
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 !
Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!