Post
Topic
Board Altcoin Discussion
Re: *** Complete Guide on How to Create a New Alt Coin – Update 2019 ***
by
isp92074
on 21/03/2021, 07:43:42 UTC
Thanks your guide helps cloning Bitcoin latest version.

hi sir ,
dear may be you help me .
i do all by your instruction but have some errors

Validation.cpp is not finished yet. We have a problem with SEGWIT. It cannot work at height 1. So in the beginning, we need to disable some

1)IsNullDummyEnabled has the same problem, do the same to that function return true/


2)If ccminer cannot mine, then you can use my fixed version here: https://github.com/NicolasChoukroun/stratum


In the latest version I do not find a function IsNullDummyEnabled
1) to replace the return
2) I do not find C ++ stratum files for change
3) After compiling the QT wallet, the nodes are well connected and the sync is finished the tick in the lower right corner, but
in console command result 

getblocktemplate
= Bitcoin core is in initial sync and waiting for blocks code -10

but still still problems solo mining in yiimp pool issues the same synchronization error for added coin..

Stratum server issues a message - unknown method getblocktemplate 192.168.0.104
-
started easymainer on 192.168.0.4  issues a message
2 miner theads started using sha25 algo
HTTP request failed
json_rpc_call failed 

Please advise how to how to solve these problems??
 i need solo mininig on cpu for my cloned version & remove the synchronization error in the new Bitcoin core 21.99
[/quote]
Suggested:
// change the hash of BIPs to your genesis hash (see the genesis section) Huh is your genesis hash
// do it for main, testnet and regnet.
consensus.BIP16Exception = uint256S("0x???");
consensus.BIP34Hash = uint256S("0x???");

=>  you are doing an altcoin so all the BIP should start at Genesis or very early (see my last answer). So, take the hash from your blockchain and yes it should be the same as the assert.

// fix the checkpoint data with your genesis hash, do it for main,testnet and regnet
checkpointData = {{{0, uint256S("0x???")},}};

=> go in your blockchain and add checkpointData = {{{blocknumber, uint256S("hash")},}}; as checkpoint so that if someone change the the blockchain on purpose, the wallets will reject the change. Do it periodically so that you solidify your blockchain against attackers. Add many checkpoints as your blockchain grows, at block 1000, 10000, 50000, 100000, etc...

===========
Suggested: IsNullDummyEnabled has the same problem, do the same to that function.
Question: Cant find it?!! Is it in validation.cpp on the latest bitcoin version?

=> this I do not understand.

===========
Suggested:  Find this “return state.DoS(100, false, REJECT_INVALID, "bad-cb-height", false, "block height mismatch in coinbase");” and comment it.
Question: Cant find it?!! Is it in validation.cpp on the latest bitcoin version?

What I do find is this...

            return state.Invalid(BlockValidationResult::BLOCK_CONSENSUS, "bad-cb-height", "block height mismatch in coinbase");

=> the genesis block will shoot this error, so you need to comment it in order to have your wallet to mine, or you will not mine.
Also all similar errors due to SEGWITH security tests needs to be commented, at least for the first blocks. SEGWITH needs to check the block before, and there is none for the first blocks... it is impossible to start mining without commenting these.
then you can reinstall all the BIP tests that were blocking the mining, let say at block 1000 for example and change chainparams.cpp accordingly.



===========