Future Feathercoin 0.9 maintenance
-
I’ve been looking into the 0.9 release and will be performing the following maintenance work.
-
Reimplement NeoScrypt: NeoScrypt can handle Scrypt as well as NeoScrypt, currently it is only being used for NeoScrypt and the old Scrypt files are being used for before the fork. Current implementation needs to be removed and the latest version from Ghostlander added.
-
Remove CheckProofOfWork by nHeight used for NeoScrypt/Scrypt workaround and use regular CheckProofOfWork which takes hash and bits as arguments. NeoScrypt and Scrypt profiles toggled inside the CheckProofOfWork function.
-
Define checkpoint keys, fork heights and times in chain parameters. This makes handling these items in the code easier as conditionals are not required to test for mainnet, testnet or regnet.
-
Fix getwork, currently does not handle NeoScrypt so 0.9 cannot be used to solo mine.
-
-
thanks for your hard work
-
The maintenance release will contain significant upgrades, we might need to call it 0.9.6.3. The work in 0.9.6.x has informed 0.11.2 and 0.13.x development so has been very useful In particularly understanding the implementations.
In addition tools made under the understanding of portability to the next release will make upgrading blockchain features to be easier / safer in the future.
If anyone wants to follow the work on the 0.9.6.x series.
Feathercoin 0.9.6.x technical discussion / issues.
http://forum.feathercoin.com/topic/8798/dev-feathercoin-0-9-6-2-maintenance-fix-build-upgrade-issues-notes/120 -
NeoScrypt has been updated and its ability to create Scrypt hashes has been restored.
https://github.com/FeatherCoin/Feathercoin/commit/2dd3723e8534476d4d42400f3ead060e76aa69b3
-
NeoScrypt now used for Scrypt hash generation in the code, CheckProofOfWork set to use hash and nBits instead of height same as Bitcoin and GetPoWHash toggles between Scrypt and NeoScrypt based on time instead of height as suggested by Ghostlander.
https://github.com/FeatherCoin/Feathercoin/commit/cea31da289d1f5ad0487dc080ccf130b8cef43f2
Fork height, fork times and checkpoint keys defined in chainparams.
https://github.com/FeatherCoin/Feathercoin/commit/e9dae3dcd5b7adfc280a1c9f05c625a7730f8923
getwork has been restored in the commit in my post above. Once my client has synced the changes will be pulled into the 0.9.6.2 branch. They are currently on my own 0.9.6.2-bushstar branch.