Cоздание своего Fork-а на основе Dash [building windows 10] часть 3
Всем доброго дня.
Данная тема уже была на форуме, но она устарела и уже не актуальна.
Цитата
Данный маунал только для ознакомления, в момент разработки, репозиторий может измениться и вы не сможете скомпилировать свой форк.
genesis = CreateGenesisBlock(1495044000, 4083650, 0x1e0ffff0, 1, 50 * COIN);
consensus.hashGenesisBlock = genesis.GetHash();
assert(consensus.hashGenesisBlock == uint256S("0x0000049e851fd46a989f744a54b2b53fbb2a52d9123da7bcbe62a678ff522126"));
assert(genesis.hashMerkleRoot == uint256S("0x093f2b2c7583aeb09b465a8fd5fc9c238ba9cfb34ef5291a9acc336ce91396ce"));
124 строка: это наши "time", "nonce", "bits" - Main сети из genesis.txt
126 строка: это наш hash\хеш genesis блока main сети.
127 строка: это merkle хеш main сети.
Аналогично сделаем изменение для testnet и regnet из genesis.txt
genesis = CreateGenesisBlock(1495022401, 817368, 0x1e0ffff0, 1, 50 * COIN);
consensus.hashGenesisBlock = genesis.GetHash();
assert(consensus.hashGenesisBlock == uint256S("0x000000216344c50e38ed7a0373e0ae279348b91cb96449eb719dd76d4ab0505c"));
assert(genesis.hashMerkleRoot == uint256S("0xa6e51cb3d1ed62816c57663db61b23dca259072fc89b40f6ae782cff816443d9"));
genesis = CreateGenesisBlock(1495022402, 2, 0x207fffff, 1, 50 * COIN);
consensus.hashGenesisBlock = genesis.GetHash();
assert(consensus.hashGenesisBlock == uint256S("0x5e84e86aeeba22c8ef2a09389518cd7e77fb78ff368db52ea73c36384f5e839e"));
assert(genesis.hashMerkleRoot == uint256S("0xa6e51cb3d1ed62816c57663db61b23dca259072fc89b40f6ae782cff816443d9"));
Нумерация строк может немного отличаться.
На 226 строке меняем на свои DNS-сы или удаляем с помощью vSeeds.clear(); (убираем все dns и оставляем vSeeds.clear() ;)
strSporkPubKey = "04b37bdec4bf40649e4022c701af318bbf0e9c4483408485fe0a6c6f3fbe5369ca28b290ee1af990ba0c4828e3c8159ddcc1897496099ce354f7ee9bd42dd33c5e";
strMasternodePaymentsPubKey = "04b37bdec4bf40649e4022c701af318bbf0e9c4483408485fe0a6c6f3fbe5369ca28b290ee1af990ba0c4828e3c8159ddcc1897496099ce354f7ee9bd42dd33c5e";
252 строка: это наш mainSpork pubKey.
253 срока: аналогично.
checkpointData = (CCheckpointData) {
boost::assign::map_list_of
( 0, uint256S("0x000000216344c50e38ed7a0373e0ae279348b91cb96449eb719dd76d4ab0505c")),
1495022401, // * 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
};
257 стркоа: наш хеш
258 строка: время
Аналогично делаем изменения в TestNet, RegNet
Меняем проты: (main, testnet, regnet)
nDefaultPort = 7111;
nDefaultPort = 17111;
nDefaultPort = 17222;
Провести замену портов можно и через поиск-замена, в Atom можно не беспокоиться что он захватит папку .git.
main: 9999 -> 7111
test: 19999 -> 17111
reg: 19994 -> 17222
RCP
main: 9998 -> 2883
test: 19998 -> 12883
regnet: 18332 -> 13382
Искать в последовательности: 18332 -> 19998 -> 9998 -> 19994 -> 19999 -> 9999
В прицепе на этом все, более подробно по настройке и редактированию исходников я расскажу в другом гайде.
Не забываем закоммитеть все изменение
git commit -m "my new coin fork"
Компиляция форка
dobryj@win10:/mnt/d/git/& cd dash/depends
# Win64
dobryj@win10:/mnt/d/git/& make HOST=x86_64-w64-mingw32
# Win32
dobryj@win10:/mnt/d/git/& make HOST=i686-w64-mingw32
# MacOSX
dobryj@win10:/mnt/d/git/& make HOST=x86_64-apple-darwin11
# Linux ARM 32 bit
dobryj@win10:/mnt/d/git/& make HOST=arm-linux-gnueabihf
# Linux ARM 64 bit
dobryj@win10:/mnt/d/git/& make HOST=aarch64-linux-gnu
# или сборка всех
dobryj@win10:/mnt/d/git/& make
данной командой мы скачиваем зависимости для компиляции под ту или иную архитектуру.
Далее:
dobryj@win10:/mnt/d/git/& cd ..
dobryj@win10:/mnt/d/git/& ./autogen.sh
# конфигурация
# Win32
dobryj@win10:/mnt/d/git/& ./configure --prefix=pwd
/depends/i686-w64-mingw32
# Win64
dobryj@win10:/mnt/d/git/& ./configure --prefix=pwd
/depends/x86_64-w64-mingw32
# MacOSX
dobryj@win10:/mnt/d/git/& ./configure --prefix=pwd
/depends/x86_64-apple-darwin11
# Linux ARM
dobryj@win10:/mnt/d/git/& ./configure --prefix=pwd
/depends/arm-linux-gnueabihf
# Или для всех сразу
dobryj@win10:/mnt/d/git/& ./configure
Теперь собираем наш кошелек
dobryj@win10:/mnt/d/git/&make
Ну вот в прицепе и все.