Petr1fied
|
|
October 11, 2013, 04:31:00 AM |
|
It's not possible to sync from scratch because of changes to the difficulty algorithm which were applied globally and instantly instead of at a predefined future block.
As far as the current client is concerned the proof of work is wrong for the early blocks because it doesn't match what the code now says.
The only way to fix it so that the client can sync on it's own would be to find out at which block it actually hard forked. Roll back the changes to their original values and then get those same changes to come in at the block it actually hard forked at.
Further to this I've created a Pull request which will resolve the issue with syncing the clients without having to rely on manually downloading the blockchain.
|
|
|
|
CaptChadd (OP)
|
|
October 11, 2013, 10:04:07 AM |
|
It's not possible to sync from scratch because of changes to the difficulty algorithm which were applied globally and instantly instead of at a predefined future block.
As far as the current client is concerned the proof of work is wrong for the early blocks because it doesn't match what the code now says.
The only way to fix it so that the client can sync on it's own would be to find out at which block it actually hard forked. Roll back the changes to their original values and then get those same changes to come in at the block it actually hard forked at.
Further to this I've created a Pull request which will resolve the issue with syncing the clients without having to rely on manually downloading the blockchain. Thanks for this. I will merge this pull reqest over the weekend and compile a Windows client for everyone, add it to the OP and website.
|
|
|
|
Pioupiou
Newbie
Offline
Activity: 19
Merit: 0
|
|
October 11, 2013, 10:40:55 AM |
|
Hello, I've a little problem when I compile extremecoin-qt. I have clone the github and install dependencies. Maybe I have forget something ? http://pastebin.com/wUjjK95v
|
|
|
|
RoadTrain
Legendary
Offline
Activity: 1386
Merit: 1009
|
|
October 11, 2013, 11:00:29 AM |
|
It's not possible to sync from scratch because of changes to the difficulty algorithm which were applied globally and instantly instead of at a predefined future block.
As far as the current client is concerned the proof of work is wrong for the early blocks because it doesn't match what the code now says.
The only way to fix it so that the client can sync on it's own would be to find out at which block it actually hard forked. Roll back the changes to their original values and then get those same changes to come in at the block it actually hard forked at.
Further to this I've created a Pull request which will resolve the issue with syncing the clients without having to rely on manually downloading the blockchain. Good job, but please avoid using floating-point math in blockchain-related code. It might cause random forks. Instead of 0.25 * 24 you'd better use 6.
|
|
|
|
CaptChadd (OP)
|
|
October 11, 2013, 11:25:11 AM |
|
It's not possible to sync from scratch because of changes to the difficulty algorithm which were applied globally and instantly instead of at a predefined future block.
As far as the current client is concerned the proof of work is wrong for the early blocks because it doesn't match what the code now says.
The only way to fix it so that the client can sync on it's own would be to find out at which block it actually hard forked. Roll back the changes to their original values and then get those same changes to come in at the block it actually hard forked at.
Further to this I've created a Pull request which will resolve the issue with syncing the clients without having to rely on manually downloading the blockchain. Good job, but please avoid using floating-point math in blockchain-related code. It might cause random forks. Instead of 0.25 * 24 you'd better use 6. Will be good if we can all come to an agreement as to which would be the best way to go with this code update? It would be good to only have to update this client one more time before the reward drop.
|
|
|
|
Petr1fied
|
|
October 11, 2013, 11:27:50 AM |
|
It's not possible to sync from scratch because of changes to the difficulty algorithm which were applied globally and instantly instead of at a predefined future block.
As far as the current client is concerned the proof of work is wrong for the early blocks because it doesn't match what the code now says.
The only way to fix it so that the client can sync on it's own would be to find out at which block it actually hard forked. Roll back the changes to their original values and then get those same changes to come in at the block it actually hard forked at.
Further to this I've created a Pull request which will resolve the issue with syncing the clients without having to rely on manually downloading the blockchain. Good job, but please avoid using floating-point math in blockchain-related code. It might cause random forks. Instead of 0.25 * 24 you'd better use 6. That part was the original code before it was changed in v1.2, I merely reverted that particular change and dropped const from those lines in order to make them variables instead of constants.
|
|
|
|
artiface
|
|
October 11, 2013, 03:13:27 PM |
|
It's not possible to sync from scratch because of changes to the difficulty algorithm which were applied globally and instantly instead of at a predefined future block.
As far as the current client is concerned the proof of work is wrong for the early blocks because it doesn't match what the code now says.
The only way to fix it so that the client can sync on it's own would be to find out at which block it actually hard forked. Roll back the changes to their original values and then get those same changes to come in at the block it actually hard forked at.
Further to this I've created a Pull request which will resolve the issue with syncing the clients without having to rely on manually downloading the blockchain. Good job, but please avoid using floating-point math in blockchain-related code. It might cause random forks. Instead of 0.25 * 24 you'd better use 6. Agree. Even though it was in the original code that line should be either: static int64 nTargetTimespan = 6 * 60 * 60; // Extremecoin: 6 hours or probably better just static int64 nTargetTimespan = 21600; // Extremecoin: 60 seconds * 60 minutes * 6 hours = 21600 seconds The last will be slightly more efficient. But that is a nice fix. Looking forward to the improved client. Thanks to everyone in this community! EDIT - Also fix the spelling of Exremecoin to Extremecoin please!
|
|
|
|
Petr1fied
|
|
October 11, 2013, 05:12:42 PM |
|
The original post states retarget every 4 blocks when in fact it is now retargeting every single block (120 / 120 = 1). Also the retarget is currently based solely on the time it took to solve the last block.
It does have code for Balthazar's rolling average which should make it look back 4 retarget intervals but that doesn't kick in until block 15000 as that is what's defined for COINFIX1_BLOCK in src/main.h
For it to match the specifications listed in the first post then I'd suggest a hard fork to make it actually calculate the average every 4 bocks with a 16 block average (4 retarget intervals) at COINFIX1_BLOCK. In order to do this correctly it'd need to switch to actual 4 block retargets at least 16 blocks before it hits COINFIX1_BLOCK (block 14984).
I've therefore submitted an update. If the specs in the first post are actually what are wanted then I highly recommend the pull is accepted and a new client is released ASAP but that's really up to CaptChadd. At the very least my initial commit should be accepted because it fixes the current syncing issue.
|
|
|
|
artiface
|
|
October 11, 2013, 07:08:19 PM Last edit: October 11, 2013, 07:26:27 PM by artiface |
|
Nice. I was wondering about the 1 block retarget when I was looking at the code and thought it was a bit odd. I know it was changed because it was stuck at a high difficulty. It looks like the original code wasn't really doing 2 minute blocks with 4 block retargets, but actually 5 minute blocks and 6 hour (72 block) retargets, maybe thats why it got stuck??
Extremecoin.org says difficulty retarget every 2 blocks.
So who knows what it is supposed to be? CaptChadd?
I think were almost at 12000 as I type this. So 15000 is about 100 hours away around 4 days if the blocks really take 2 minutes. Also the end of the 200 coin block reward is just over a week away if 2 minutes per block holds.
edit: fixed my bad math
|
|
|
|
CaptChadd (OP)
|
|
October 11, 2013, 08:24:58 PM |
|
I would really like to avoid another hard fork at this time.
How about we pull the first commit to fix the syncing issue and then I update the OP and website to state what the actual difficulty code does, as it is at the moment?
|
|
|
|
RoadTrain
Legendary
Offline
Activity: 1386
Merit: 1009
|
|
October 12, 2013, 08:42:35 AM |
|
It's not possible to sync from scratch because of changes to the difficulty algorithm which were applied globally and instantly instead of at a predefined future block.
As far as the current client is concerned the proof of work is wrong for the early blocks because it doesn't match what the code now says.
The only way to fix it so that the client can sync on it's own would be to find out at which block it actually hard forked. Roll back the changes to their original values and then get those same changes to come in at the block it actually hard forked at.
Further to this I've created a Pull request which will resolve the issue with syncing the clients without having to rely on manually downloading the blockchain. Good job, but please avoid using floating-point math in blockchain-related code. It might cause random forks. Instead of 0.25 * 24 you'd better use 6. Will be good if we can all come to an agreement as to which would be the best way to go with this code update? It would be good to only have to update this client one more time before the reward drop. Well I think replacing floating-point math with integer math is highly important. Other than that it's up to you to decide.
|
|
|
|
CaptChadd (OP)
|
|
October 12, 2013, 10:02:15 AM |
|
And it doesn't matter if the updated code matches to old code exactly, just as long as the outcome is the same then the client will sync and download the whole chain.
|
|
|
|
RoadTrain
Legendary
Offline
Activity: 1386
Merit: 1009
|
|
October 12, 2013, 03:13:33 PM |
|
And it doesn't matter if the updated code matches to old code exactly, just as long as the outcome is the same then the client will sync and download the whole chain.
Anyways it's a bad habit and should be avoided IMO.
|
|
|
|
Petr1fied
|
|
October 12, 2013, 04:37:44 PM |
|
CaptChadd, It's entirely up to you how you want to proceed, it's your coin. At the very least you need to apply the initial fix so that the client will sync on it's own.
If you plan to make any further changes you really need to specify a set point in the future for those changes to come into effect, you can't just change values globally as this will just reintroduce the syncing issue.
Good luck with your coin.
|
|
|
|
CaptChadd (OP)
|
|
October 12, 2013, 05:42:57 PM |
|
CaptChadd, It's entirely up to you how you want to proceed, it's your coin. At the very least you need to apply the initial fix so that the client will sync on it's own.
If you plan to make any further changes you really need to specify a set point in the future for those changes to come into effect, you can't just change values globally as this will just reintroduce the syncing issue.
Good luck with your coin.
Thank you mate for your help and the rest of the community. I will apply the sync issue fix.
|
|
|
|
ajqjjj
|
|
October 13, 2013, 06:31:19 AM |
|
Pools?
|
-support Bitcoin Community Bitcointalk.org- Always verify wallet to store your Bitcoin Donations are open, send PM
|
|
|
pliznau
|
|
October 13, 2013, 07:38:57 AM |
|
|
void
|
|
|
antyGMO
Member
Offline
Activity: 98
Merit: 10
|
|
October 13, 2013, 10:47:41 AM |
|
Can someone tell me how to configure mining on coinEX?
|
FC address: 72J9Ba7mkxGFtfWMRpKFP4ws311GdxWFta LTC address: LXQVY5sirQKqv7b3UcWAn99MfeSrkduFGX BTC address: 1EY2LQzxxij7dVPSYriUjVVBAjoTY9DA5Y
|
|
|
captainfuture
|
|
October 13, 2013, 10:56:13 AM |
|
Can someone tell me how to configure mining on coinEX?
depends on what miner you wanna use. You have first to set up a worker at Account/Workers Then with cgminer try: cgminer.exe --scrypt -o http://exc.mining.coinex.pw:80 -u WORKERNAME -p PASSWORD --scan-time 1 --queue 4 --no-submit-stale
|
|
|
|
antyGMO
Member
Offline
Activity: 98
Merit: 10
|
|
October 13, 2013, 11:37:22 AM |
|
thanks for help!
|
FC address: 72J9Ba7mkxGFtfWMRpKFP4ws311GdxWFta LTC address: LXQVY5sirQKqv7b3UcWAn99MfeSrkduFGX BTC address: 1EY2LQzxxij7dVPSYriUjVVBAjoTY9DA5Y
|
|
|
|