Перейти к публикации

gelius

Пользователи
  • Публикации

    20
  • Зарегистрирован

  • Посещение

Репутация

1 Обычный

О gelius

  • Звание
    Новичок

Посетители профиля

528 просмотров профиля
  1. Не деплоятся контракты в тестнете, постоянно 0-1 пир. Подключается к одному пиру и сразу отключается. С синхронизацией времени все ок. netstat -anp | grep 30303 (Not all processes could be identified, non-owned process info will not be shown, you would have to be root to see it all.) tcp 0 1 109.236.86.39:43256 37.219.235.68:30303 SYN_SENT 724/geth tcp 0 1 109.236.86.39:51482 54.226.227.231:30303 SYN_SENT 724/geth tcp 0 1 109.236.86.39:45882 39.104.77.218:30303 SYN_SENT 724/geth tcp 0 1 109.236.86.39:55024 185.27.70.48:30303 SYN_SENT 724/geth tcp 0 1 109.236.86.39:33968 152.237.77.68:30303 SYN_SENT 724/geth tcp 0 1 109.236.86.39:55292 209.140.36.40:30303 SYN_SENT 724/geth tcp 0 1 109.236.86.39:41294 103.194.20.29:30303 SYN_SENT 724/geth tcp 0 1 109.236.86.39:45254 176.33.229.101:30303 SYN_SENT 724/geth tcp 0 1 109.236.86.39:55776 95.165.172.80:30303 SYN_SENT 724/geth tcp 0 1 109.236.86.39:42656 165.120.239.213:30303 SYN_SENT 724/geth tcp 0 1 109.236.86.39:40918 197.26.170.130:30303 SYN_SENT 724/geth Так запускаю ноду: /home/testnet/go-ethereum-1.7.3/build/bin/geth --rpc --networkid 3 --rpcapi db,eth,web3,net,admin,miner,personal --cache 1024 --maxpeers 25 --datadir /home/testnet/.ethereum --keystore /home/testnet/.ethereum/keystore --nousb --mine --minerthreads 1 --unlock 0xC1320531dF2612B85e6FEDFd4d6358ed711bbe66 --password "/home/testnet/pass" Голову уже сломал, бубен лопнул.
  2. Как заставить mist использовать ноду синхронизированную geth? Как залить в блокчейн контракт через geth? Есть мануал: https://github.com/ethereum/go-ethereum/wiki/Contract-Tutorial Установлены geth и solc. Но как задеплоить контракт используя только консоль не понятно.
  3. Не получается открыть *.ldb в удобочитаемом виде.
  4. Добрый день! Вы нашли решение по ошибке?

    Не могли бы поделиться с решением?

    Результат:

    ./dashd
    dashd: chainparams.cpp:130: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0x00000dabf5fa4bf35a26b333b5b7c52376309c4d8b81910a5dfe2add608a3df6")' failed.
    Abrted
  5. gelius

    Как восстановить деньги?

    Не выйдет запросить инфу. Это DAS. Я убил кучу времени, поднимая мастерноду, эта мерзость в течении суток переходит из статуса enabled в pre_enabled или missing. Выкладывал в профильной ветке все свои конфиги, логи и все что вообще можно выложить много раз и получил 0 поддержки. Кошель случайно удалил, когда со злобы поднимал эту ноду в 100500 раз.
  6. Есть wallet.dat, забекапленный до того, как он был зашифрован, на него были добавленны аккуанты, адреса и переведены средства. Есть адрес, на котором лежат средства. Как восстановить. Просто копирование старого wallet.dat в нужную директорию, не дало положительного результата. getinfo { "version": 120200, "protocolversion": 70201, "walletversion": 61000, "balance": 0.00000000, "privatesend_balance": 0.00000000, "blocks": 42298, "timeoffset": 0, "connections": 8, "proxy": "", "difficulty": 2991.480708861324, "testnet": false, "keypoololdest": 1494100120, "keypoolsize": 1001, "paytxfee": 0.00000000, "relayfee": 0.00010000, "errors": "" } Форк DASH, средства были на кошельке мастерноды.
  7. gelius

    Создание форка на основе Dash

    Вообще не понимаю, что не так. --nonce оставл стандартный из dash. Сменил только pszTimestamp, публичные ключи и timestamp. Генерация: python genesis.py -a X11 -z "Is there some ECDSA operation which could allow verification that data was signed by multiple" -p "0453324113a6a039acb3faf937c0728bd067f1b802880e69065db6c23a577fad3732af20ec3799be4db4dee4353030ba6a9ae6adcbd1c64c209fc787f2af05bdd7" -n 28917698 -t 1502150399 -v 5000000000 Для тестнета: python genesis.py -a X11 -z "Is there some ECDSA operation which could allow verification that data was signed by multiple" -p "0404789590963bf877922e21998caed8dea372aa1648a7a58023166fb4196655cd9ccef7d6dbb5a708caf945cd708a15f55ef382e448271b76432d252fe6d71fd1" -n 28917698 -t 1502150400 -v 5000000000 Для регтеста: python genesis.py -a X11 -z "Is there some ECDSA operation which could allow verification that data was signed by multiple" -p "0404789590963bf877922e21998caed8dea372aa1648a7a58023166fb4196655cd9ccef7d6dbb5a708caf945cd708a15f55ef382e448271b76432d252fe6d71fd1" -n 28917698 -t 1502150401 -v 5000000000 Мой chainparams.cpp: // Copyright (c) 2010 Satoshi Nakamoto // Copyright (c) 2009-2014 The Bitcoin Core developers // Copyright (c) 2014-2017 The Dash Core developers // Distributed under the MIT software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #include "chainparams.h" #include "consensus/merkle.h" #include "tinyformat.h" #include "util.h" #include "utilstrencodings.h" #include <assert.h> #include <boost/assign/list_of.hpp> #include "chainparamsseeds.h" #include <stdio.h> static CBlock CreateGenesisBlock(const char* pszTimestamp, const CScript& genesisOutputScript, uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward) { CMutableTransaction txNew; txNew.nVersion = 1; txNew.vin.resize(1); txNew.vout.resize(1); txNew.vin[0].scriptSig = CScript() << 486604799 << CScriptNum(4) << std::vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp)); txNew.vout[0].nValue = genesisReward; txNew.vout[0].scriptPubKey = genesisOutputScript; CBlock genesis; genesis.nTime = nTime; genesis.nBits = nBits; genesis.nNonce = nNonce; genesis.nVersion = nVersion; genesis.vtx.push_back(txNew); genesis.hashPrevBlock.SetNull(); genesis.hashMerkleRoot = BlockMerkleRoot(genesis); return genesis; } /** * Build the genesis block. Note that the output of its generation * transaction cannot be spent since it did not originally exist in the * database. * * CBlock(hash=00000ffd590b14, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=e0028e, nTime=1390095618, nBits=1e0ffff0, nNonce=28917698, vtx=1) * CTransaction(hash=e0028e, ver=1, vin.size=1, vout.size=1, nLockTime=0) * CTxIn(COutPoint(000000, -1), coinbase 04ffff001d01044c5957697265642030392f4a616e2f3230313420546865204772616e64204578706572696d656e7420476f6573204c6976653a204f76657273746f636b2e636f6d204973204e6f7720416363657074696e6720426974636f696e73) * CTxOut(nValue=50.00000000, scriptPubKey=0xA9037BAC7050C479B121CF) * vMerkleTree: e0028e */ static CBlock CreateGenesisBlock(uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward) { const char* pszTimestamp = "Is there some ECDSA operation which could allow verification that data was signed by multiple"; const CScript genesisOutputScript = CScript() << ParseHex("04097fa34132d5421d44a3fdaf7e934831d2fe4c0545e82fb599546579c3f4c549fb3f6ecf2d42058115851deb6cfaccc47c4254b73fb99cab3d0363e80c7ef056") << OP_CHECKSIG; return CreateGenesisBlock(pszTimestamp, genesisOutputScript, nTime, nNonce, nBits, nVersion, genesisReward); } /** * Main network */ /** * What makes a good checkpoint block? * + Is surrounded by blocks with reasonable timestamps * (no blocks before with a timestamp after, none after with * timestamp before) * + Contains no strange transactions */ class CMainParams : public CChainParams { public: CMainParams() { strNetworkID = "main"; consensus.nSubsidyHalvingInterval = 210240; // Note: actual number of blocks per calendar year with DGW v3 is ~200700 (for example 449750 - 249050) consensus.nMasternodePaymentsStartBlock = 100000; // not true, but it's ok as long as it's less then nMasternodePaymentsIncreaseBlock consensus.nMasternodePaymentsIncreaseBlock = 158000; // actual historical value consensus.nMasternodePaymentsIncreasePeriod = 576*30; // 17280 - actual historical value consensus.nInstantSendKeepLock = 24; consensus.nBudgetPaymentsStartBlock = 328008; // actual historical value consensus.nBudgetPaymentsCycleBlocks = 16616; // ~(60*24*30)/2.6, actual number of blocks per month is 200700 / 12 = 16725 consensus.nBudgetPaymentsWindowBlocks = 100; consensus.nBudgetProposalEstablishingTime = 60*60*24; consensus.nSuperblockStartBlock = 614820; // The block at which 12.1 goes live (end of final 12.0 budget cycle) consensus.nSuperblockCycle = 16616; // ~(60*24*30)/2.6, actual number of blocks per month is 200700 / 12 = 16725 consensus.nGovernanceMinQuorum = 10; consensus.nGovernanceFilterElements = 20000; consensus.nMasternodeMinimumConfirmations = 15; consensus.nMajorityEnforceBlockUpgrade = 750; consensus.nMajorityRejectBlockOutdated = 950; consensus.nMajorityWindow = 1000; consensus.BIP34Height = 227931; consensus.BIP34Hash = uint256S("0x000000000000024b89b42a942fe0d9fea3bb44ab7bd1b19115dd6a759c0808b8"); consensus.powLimit = uint256S("00000fffff000000000000000000000000000000000000000000000000000000"); consensus.nPowTargetTimespan = 24 * 60 * 60; // Dash: 1 day consensus.nPowTargetSpacing = 2.5 * 60; // Dash: 2.5 minutes consensus.fPowAllowMinDifficultyBlocks = false; consensus.fPowNoRetargeting = false; consensus.nRuleChangeActivationThreshold = 1916; // 95% of 2016 consensus.nMinerConfirmationWindow = 2016; // nPowTargetTimespan / nPowTargetSpacing 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 = 1486252800; // Feb 5th, 2017 consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1517788800; // Feb 5th, 2018 /** * The message start string is designed to be unlikely to occur in normal data. * The characters are rarely used upper ASCII, not valid as UTF-8, and produce * a large 32-bit integer with any alignment. */ pchMessageStart[0] = 0xbf; pchMessageStart[1] = 0x0c; pchMessageStart[2] = 0x6b; pchMessageStart[3] = 0xbd; vAlertPubKey = ParseHex("0453324113a6a039acb3faf937c0728bd067f1b802880e69065db6c23a577fad3732af20ec3799be4db4dee4353030ba6a9ae6adcbd1c64c209fc787f2af05bdd7"); nDefaultPort = 9999; nMaxTipAge = 6 * 60 * 60; // ~144 blocks behind -> 2 x fork detection time, was 24 * 60 * 60 in bitcoin nPruneAfterHeight = 100000; genesis = CreateGenesisBlock(1502150399, 28917698, 0x1e0ffff0, 1, 50 * COIN); consensus.hashGenesisBlock = genesis.GetHash(); // printf("consensus.hashGenesisBlock = %s\n", genesis.GetHash().ToString().c_str()); // printf("genesis.hashMerkleRoot = %s\n", genesis.hashMerkleRoot.ToString().c_str()); assert(consensus.hashGenesisBlock == uint256S("0x00000dabf5fa4bf35a26b333b5b7c52376309c4d8b81910a5dfe2add608a3df6")); assert(genesis.hashMerkleRoot == uint256S("0xea6963a980c87364d1d94f9504ae3bbda563d2f6a8b24914701f89299b791801")); vSeeds.clear(); // Dash addresses start with 'X' base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,76); // Dash script addresses start with '7' base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,16); // Dash private keys start with '7' or 'X' base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,204); // Dash BIP32 pubkeys start with 'xpub' (Bitcoin defaults) base58Prefixes[EXT_PUBLIC_KEY] = boost::assign::list_of(0x04)(0x88)(0xB2)(0x1E).convert_to_container<std::vector<unsigned char> >(); // Dash BIP32 prvkeys start with 'xprv' (Bitcoin defaults) base58Prefixes[EXT_SECRET_KEY] = boost::assign::list_of(0x04)(0x88)(0xAD)(0xE4).convert_to_container<std::vector<unsigned char> >(); // Dash BIP44 coin type is '5' base58Prefixes[EXT_COIN_TYPE] = boost::assign::list_of(0x80)(0x00)(0x00)(0x05).convert_to_container<std::vector<unsigned char> >(); vFixedSeeds = std::vector<SeedSpec6>(pnSeed6_main, pnSeed6_main + ARRAYLEN(pnSeed6_main)); fMiningRequiresPeers = true; fDefaultConsistencyChecks = false; fRequireStandard = true; fMineBlocksOnDemand = false; fTestnetToBeDeprecatedFieldRPC = false; nPoolMaxTransactions = 3; nFulfilledRequestExpireTime = 60*60; // fulfilled requests expire in 1 hour strSporkPubKey = "04cc887cde0c5d43623211de1fdd9945bb34602aca6cc8bcb28bfe9e2c7cfc0a130f917b7c44fafabd94c922ff2957446e5f532522a35be01d4390670a92590bb7"; strMasternodePaymentsPubKey = "04cc887cde0c5d43623211de1fdd9945bb34602aca6cc8bcb28bfe9e2c7cfc0a130f917b7c44fafabd94c922ff2957446e5f532522a35be01d4390670a92590bb7"; checkpointData = (CCheckpointData) { boost::assign::map_list_of ( 0, uint256S("0x00000dabf5fa4bf35a26b333b5b7c52376309c4d8b81910a5dfe2add608a3df6")), 1502150399, // * UNIX timestamp of last checkpoint block 0, // * total number of transactions between genesis and last checkpoint // (the tx=... number in the SetBestChain debug.log lines) 2800 // * estimated number of transactions per day after checkpoint }; } }; static CMainParams mainParams; /** * Testnet (v3) */ class CTestNetParams : public CChainParams { public: CTestNetParams() { strNetworkID = "test"; consensus.nSubsidyHalvingInterval = 210240; consensus.nMasternodePaymentsStartBlock = 10000; // not true, but it's ok as long as it's less then nMasternodePaymentsIncreaseBlock consensus.nMasternodePaymentsIncreaseBlock = 46000; consensus.nMasternodePaymentsIncreasePeriod = 576; consensus.nInstantSendKeepLock = 6; consensus.nBudgetPaymentsStartBlock = 60000; consensus.nBudgetPaymentsCycleBlocks = 50; consensus.nBudgetPaymentsWindowBlocks = 10; consensus.nBudgetProposalEstablishingTime = 60*20; consensus.nSuperblockStartBlock = 61000; // NOTE: Should satisfy nSuperblockStartBlock > nBudgetPeymentsStartBlock consensus.nSuperblockCycle = 24; // Superblocks can be issued hourly on testnet consensus.nGovernanceMinQuorum = 1; consensus.nGovernanceFilterElements = 500; consensus.nMasternodeMinimumConfirmations = 1; consensus.nMajorityEnforceBlockUpgrade = 51; consensus.nMajorityRejectBlockOutdated = 75; consensus.nMajorityWindow = 100; consensus.BIP34Height = 21111; consensus.BIP34Hash = uint256S("0x0000000023b3a96d3484e5abb3755c413e7d41500f8e2a5c3f0dd01299cd8ef8"); consensus.powLimit = uint256S("00000fffff000000000000000000000000000000000000000000000000000000"); consensus.nPowTargetTimespan = 24 * 60 * 60; // Dash: 1 day consensus.nPowTargetSpacing = 2.5 * 60; // Dash: 2.5 minutes consensus.fPowAllowMinDifficultyBlocks = true; consensus.fPowNoRetargeting = false; consensus.nRuleChangeActivationThreshold = 1512; // 75% for testchains consensus.nMinerConfirmationWindow = 2016; // nPowTargetTimespan / nPowTargetSpacing 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 = 1456790400; // March 1st, 2016 consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1493596800; // May 1st, 2017 pchMessageStart[0] = 0xce; pchMessageStart[1] = 0xe2; pchMessageStart[2] = 0xca; pchMessageStart[3] = 0xff; vAlertPubKey = ParseHex("0404789590963bf877922e21998caed8dea372aa1648a7a58023166fb4196655cd9ccef7d6dbb5a708caf945cd708a15f55ef382e448271b76432d252fe6d71fd1"); nDefaultPort = 19999; nMaxTipAge = 0x7fffffff; // allow mining on top of old blocks for testnet nPruneAfterHeight = 1000; genesis = CreateGenesisBlock(1502150400, 28917698, 0x1e0ffff0, 1, 50 * COIN); consensus.hashGenesisBlock = genesis.GetHash(); // printf("consensus.hashGenesisBlock = %s\n", genesis.GetHash().ToString().c_str()); // printf("genesis.hashMerkleRoot = %s\n", genesis.hashMerkleRoot.ToString().c_str()); assert(consensus.hashGenesisBlock == uint256S("0x000007efde610e2a929e9604461d4137a529251ea878841e206025603cc74019")); assert(genesis.hashMerkleRoot == uint256S("0xd92c54e7689421a8538266f2f79e3643541a10baa4b1a3a04c2e0dbe82558096")); vFixedSeeds.clear(); vSeeds.clear(); // Testnet Dash addresses start with 'y' base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,140); // Testnet Dash script addresses start with '8' or '9' base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,19); // Testnet private keys start with '9' or 'c' (Bitcoin defaults) base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,239); // Testnet Dash BIP32 pubkeys start with 'tpub' (Bitcoin defaults) base58Prefixes[EXT_PUBLIC_KEY] = boost::assign::list_of(0x04)(0x35)(0x87)(0xCF).convert_to_container<std::vector<unsigned char> >(); // Testnet Dash BIP32 prvkeys start with 'tprv' (Bitcoin defaults) base58Prefixes[EXT_SECRET_KEY] = boost::assign::list_of(0x04)(0x35)(0x83)(0x94).convert_to_container<std::vector<unsigned char> >(); // Testnet Dash BIP44 coin type is '1' (All coin's testnet default) base58Prefixes[EXT_COIN_TYPE] = boost::assign::list_of(0x80)(0x00)(0x00)(0x01).convert_to_container<std::vector<unsigned char> >(); vFixedSeeds = std::vector<SeedSpec6>(pnSeed6_test, pnSeed6_test + ARRAYLEN(pnSeed6_test)); fMiningRequiresPeers = true; fDefaultConsistencyChecks = false; fRequireStandard = false; fMineBlocksOnDemand = false; fTestnetToBeDeprecatedFieldRPC = true; nPoolMaxTransactions = 3; nFulfilledRequestExpireTime = 5*60; // fulfilled requests expire in 5 minutes strSporkPubKey = "0404789590963bf877922e21998caed8dea372aa1648a7a58023166fb4196655cd9ccef7d6dbb5a708caf945cd708a15f55ef382e448271b76432d252fe6d71fd1"; strMasternodePaymentsPubKey = "0404789590963bf877922e21998caed8dea372aa1648a7a58023166fb4196655cd9ccef7d6dbb5a708caf945cd708a15f55ef382e448271b76432d252fe6d71fd1"; checkpointData = (CCheckpointData) { boost::assign::map_list_of ( 0, uint256S("0x000007efde610e2a929e9604461d4137a529251ea878841e206025603cc74019")), 1502150400, // * UNIX timestamp of last checkpoint block 0, // * total number of transactions between genesis and last checkpoint // (the tx=... number in the SetBestChain debug.log lines) 500 // * estimated number of transactions per day after checkpoint }; } }; static CTestNetParams testNetParams; /** * Regression test */ class CRegTestParams : public CChainParams { public: CRegTestParams() { strNetworkID = "regtest"; consensus.nSubsidyHalvingInterval = 150; consensus.nMasternodePaymentsStartBlock = 240; consensus.nMasternodePaymentsIncreaseBlock = 350; consensus.nMasternodePaymentsIncreasePeriod = 10; consensus.nInstantSendKeepLock = 6; consensus.nBudgetPaymentsStartBlock = 1000; consensus.nBudgetPaymentsCycleBlocks = 50; consensus.nBudgetPaymentsWindowBlocks = 10; consensus.nBudgetProposalEstablishingTime = 60*20; consensus.nSuperblockStartBlock = 1500; consensus.nSuperblockCycle = 10; consensus.nGovernanceMinQuorum = 1; consensus.nGovernanceFilterElements = 100; consensus.nMasternodeMinimumConfirmations = 1; consensus.nMajorityEnforceBlockUpgrade = 750; consensus.nMajorityRejectBlockOutdated = 950; consensus.nMajorityWindow = 1000; consensus.BIP34Height = -1; // BIP34 has not necessarily activated on regtest consensus.BIP34Hash = uint256(); consensus.powLimit = uint256S("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); consensus.nPowTargetTimespan = 24 * 60 * 60; // Dash: 1 day consensus.nPowTargetSpacing = 2.5 * 60; // Dash: 2.5 minutes consensus.fPowAllowMinDifficultyBlocks = true; consensus.fPowNoRetargeting = true; consensus.nRuleChangeActivationThreshold = 108; // 75% for testchains consensus.nMinerConfirmationWindow = 144; // Faster than normal for regtest (144 instead of 2016) consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].bit = 28; consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nStartTime = 0; consensus.vDeployments[Consensus::DEPLOYMENT_TESTDUMMY].nTimeout = 999999999999ULL; consensus.vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0; consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 0; consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 999999999999ULL; pchMessageStart[0] = 0xfc; pchMessageStart[1] = 0xc1; pchMessageStart[2] = 0xb7; pchMessageStart[3] = 0xdc; nMaxTipAge = 6 * 60 * 60; // ~144 blocks behind -> 2 x fork detection time, was 24 * 60 * 60 in bitcoin nDefaultPort = 19994; nPruneAfterHeight = 1000; genesis = CreateGenesisBlock(1502150401, 28917698, 0x1e0ffff0, 1, 50 * COIN); consensus.hashGenesisBlock = genesis.GetHash(); // printf("consensus.hashGenesisBlock = %s\n", genesis.GetHash().ToString().c_str()); // printf("genesis.hashMerkleRoot = %s\n", genesis.hashMerkleRoot.ToString().c_str()); assert(consensus.hashGenesisBlock == uint256S("0x0000033dbe00528bb5a9d73bb8dd34b2df04a0164894eb7aa0f1bf648237fec8")); assert(genesis.hashMerkleRoot == uint256S("0xd92c54e7689421a8538266f2f79e3643541a10baa4b1a3a04c2e0dbe82558096")); vFixedSeeds.clear(); //! Regtest mode doesn't have any fixed seeds. vSeeds.clear(); //! Regtest mode doesn't have any DNS seeds. fMiningRequiresPeers = false; fDefaultConsistencyChecks = true; fRequireStandard = false; fMineBlocksOnDemand = true; fTestnetToBeDeprecatedFieldRPC = false; nFulfilledRequestExpireTime = 5*60; // fulfilled requests expire in 5 minutes checkpointData = (CCheckpointData){ boost::assign::map_list_of ( 0, uint256S("0x0000033dbe00528bb5a9d73bb8dd34b2df04a0164894eb7aa0f1bf648237fec8")), 0, 0, 0 }; // Regtest Dash addresses start with 'y' base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,140); // Regtest Dash script addresses start with '8' or '9' base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,19); // Regtest private keys start with '9' or 'c' (Bitcoin defaults) base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,239); // Regtest Dash BIP32 pubkeys start with 'tpub' (Bitcoin defaults) base58Prefixes[EXT_PUBLIC_KEY] = boost::assign::list_of(0x04)(0x35)(0x87)(0xCF).convert_to_container<std::vector<unsigned char> >(); // Regtest Dash BIP32 prvkeys start with 'tprv' (Bitcoin defaults) base58Prefixes[EXT_SECRET_KEY] = boost::assign::list_of(0x04)(0x35)(0x83)(0x94).convert_to_container<std::vector<unsigned char> >(); // Regtest Dash BIP44 coin type is '1' (All coin's testnet default) base58Prefixes[EXT_COIN_TYPE] = boost::assign::list_of(0x80)(0x00)(0x00)(0x01).convert_to_container<std::vector<unsigned char> >(); } }; static CRegTestParams regTestParams; static CChainParams *pCurrentParams = 0; const CChainParams &Params() { assert(pCurrentParams); return *pCurrentParams; } CChainParams& Params(const std::string& chain) { if (chain == CBaseChainParams::MAIN) return mainParams; else if (chain == CBaseChainParams::TESTNET) return testNetParams; else if (chain == CBaseChainParams::REGTEST) return regTestParams; else throw std::runtime_error(strprintf("%s: Unknown chain %s.", __func__, chain)); } void SelectParams(const std::string& network) { SelectBaseParams(network); pCurrentParams = &Params(network); } Результат: ./dashd dashd: chainparams.cpp:130: CMainParams::CMainParams(): Assertion `consensus.hashGenesisBlock == uint256S("0x00000dabf5fa4bf35a26b333b5b7c52376309c4d8b81910a5dfe2add608a3df6")' failed. Aborted
  8. gelius

    Создание форка на основе Dash

    ХЗ. У меня отработало. Скинь пожалуйста линку на другой гайд. Может решу проблему с генезис блоком. ПС. Попробуй make с правами суперюзера.
  9. gelius

    Биржа WEX.NZ (бывшая BTC-E)

    Предлагали уже запилить обычный форк и отдать часть средств им? Если биржа поднимется, условия будут вкусными, и план развития норм, я весь баланс возьму такими монетами:)
  10. gelius

    Создание форка на основе Dash

    Я в танке с задраенными люками. Не понятно что такое -n NONCE, --nonce=NONCE : число Недоступно для понимания, даже с переводчиком: the first value of the nonce that will be incremented when searching the genesis hash Аналогично: -b BITS, --bits=BITS the target in compact representation, associated to a difficulty of 1 Везде указано, что даша использует X11. В новых версиях это не изменилось?
  11. gelius

    Создание форка на основе Dash

    Ни один опробованный способ генерации генезис блока не работает. Пробовал так: printf("consensus.hashGenesisBlock = %s\n", genesis.GetHash().ToString().c_str()); printf("genesis.hashMerkleRoot = %s\n", genesis.hashMerkleRoot.ToString().c_str()); Вышло: coind: main.cpp:1941: void InvalidChainFound(CBlockIndex*): Assertion `tip' failed. Aborted main.cpp: void static InvalidChainFound(CBlockIndex* pindexNew) { if (!pindexBestInvalid || pindexNew->nChainWork > pindexBestInvalid->nChainWork) pindexBestInvalid = pindexNew; LogPrintf("%s: invalid block=%s height=%d log2_work=%.8g date=%s\n", __func__, pindexNew->GetBlockHash().ToString(), pindexNew->nHeight, log(pindexNew->nChainWork.getdouble())/log(2.0), DateTimeStrFormat("%Y-%m-%d %H:%M:%S", pindexNew->GetBlockTime())); CBlockIndex *tip = chainActive.Tip(); assert (tip); LogPrintf("%s: current best=%s height=%d log2_work=%.8g date=%s\n", __func__, tip->GetBlockHash().ToString(), chainActive.Height(), log(tip->nChainWork.getdouble())/log(2.0), DateTimeStrFormat("%Y-%m-%d %H:%M:%S", tip->GetBlockTime())); CheckForkWarningConditions(); } debug.log: 2017-08-13 18:55:15 coin Core version v1.0.0.1 (Wed, 5 Apr 2017 19:30:08 +0300) 2017-08-13 18:55:15 InitParameterInteraction: parameter interaction: -whitelistf orcerelay=1 -> setting -whitelistrelay=1 2017-08-13 18:55:15 Using BerkeleyDB version Berkeley DB 5.3.28: (September 9, 2013) 2017-08-13 18:55:15 Default data directory /home/user/.coincore 2017-08-13 18:55:15 Using data directory /home/user/.coincore 2017-08-13 18:55:15 Using config file /home/user/.coincore/coin.conf 2017-08-13 18:55:15 Using at most 125 connections (65536 file descriptors available) 2017-08-13 18:55:15 Using 8 threads for script verification 2017-08-13 18:55:15 scheduler thread start 2017-08-13 18:55:15 HTTP: creating work queue of depth 16 2017-08-13 18:55:15 No rpcpassword set - using random cookie authentication 2017-08-13 18:55:15 Generated RPC authentication cookie /home/user/.coincore/.cookie 2017-08-13 18:55:15 HTTP: starting 4 worker threads 2017-08-13 18:55:15 Creating backup folder /home/user/.coincore/backups 2017-08-13 18:55:15 Using wallet wallet.dat 2017-08-13 18:55:15 init message: Verifying wallet... 2017-08-13 18:55:15 CDBEnv::Open: LogDir=/home/user/.coincore/database ErrorFile=/home/user/.coincore/db.log 2017-08-13 18:55:15 Bound to [::]:9999 2017-08-13 18:55:15 Bound to 0.0.0.0:9999 2017-08-13 18:55:15 Cache configuration: 2017-08-13 18:55:15 * Using 12.5MiB for block index database 2017-08-13 18:55:15 * Using 29.9MiB for chain state database 2017-08-13 18:55:15 * Using 57.6MiB for in-memory UTXO set 2017-08-13 18:55:15 init message: Loading block index... 2017-08-13 18:55:15 Opening LevelDB in /home/user/.coincore/blocks/index 2017-08-13 18:55:15 Opened LevelDB successfully 2017-08-13 18:55:15 Using obfuscation key for /home/user/.coincore/blocks/index: 0000000000000000 2017-08-13 18:55:15 Opening LevelDB in /home/user/.coincore/chainstate 2017-08-13 18:55:15 Opened LevelDB successfully 2017-08-13 18:55:15 Wrote new obfuscate key for /home/user/.coincore/chainstate: 943061c11f732e3e 2017-08-13 18:55:15 Using obfuscation key for /home/user/.coincore/chainstate: 943061c11f732e3e 2017-08-13 18:55:15 LoadBlockIndexDB: last block file = 0 2017-08-13 18:55:15 LoadBlockIndexDB: last block file info: CBlockFileInfo(blocs=0, size=0, heights=0...0, time=1970-01-01...1970-01-01) 2017-08-13 18:55:15 Checking all blk files are present... 2017-08-13 18:55:15 LoadBlockIndexDB: transaction index enabled 2017-08-13 18:55:15 LoadBlockIndexDB: address index disabled 2017-08-13 18:55:15 LoadBlockIndexDB: timestamp index disabled 2017-08-13 18:55:15 LoadBlockIndexDB: spent index disabled 2017-08-13 18:55:15 Initializing databases... 2017-08-13 18:55:15 Pre-allocating up to position 0x1000000 in blk00000.dat 2017-08-13 18:55:15 ERROR: CheckProofOfWork(): hash doesn't match nBits 2017-08-13 18:55:15 ERROR: CheckBlockHeader(): proof of work failed 2017-08-13 18:55:15 InvalidChainFound: invalid block=5f75b5a3b9cb9b454905a7c4a306c1f62bc527089e108537000520401c02a419 height=0 log2_work=20.000022 date=2017-08-07 23:59:59
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×