Closed Kukks closed 6 years ago
We need to get to the bottom of this. Could it be VarDiff related? Did you try connecting a miner to your own pool and compare the difficulty assigned to the difficulty when mining on the other pools you've mentioned?
I'll try and test tonight and see if I can find a difference. I did switch the config of variancePercent to 90 from 30 and am seeing a little better performance but that's only speculation. The block time on straks is 60 seconds, could that affect anything?
I just noticed my networks stats of the pool reporting this:
"networkStats": {
"networkType": "Main",
"networkHashRate": 181716534221.55481,
"networkDifficulty": 2046.5088761907671,
"lastNetworkBlockTime": "2018-01-04T07:17:01.5742892Z",
"blockHeight": 65176,
"connectedPeers": 99,
"rewardType": "POW"
}
The block height seems to be stuck. This is probably another separate issue.
@Kukks Could you try this and report back?
"blockRefreshInterval": 333,
"jobRebroadcastTimeout": 10,
Just applied it now to the pool. Current block only updated on restart. http://5.189.159.254:4000/api/pools/straks1 @oliverw
@Kukks The config changes were related to the block finding frequency. Could you try it? The stuck block height is a bug.
Pool has been running on these settings since you posted. 3 blocks since then. Network hash is at 106gh/s and I only have ~2 so will see. @oliverw
@Kukks Is that an improvement?
I'll give it till end of day to compare to yesterday. But it seems to be doing better than yesterday
On Thu, Jan 4, 2018 at 2:06 PM, Oliver Weichhold notifications@github.com wrote:
@Kukks https://github.com/kukks Is that an improvement?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/coinfoundry/miningcore/issues/150#issuecomment-355277538, or mute the thread https://github.com/notifications/unsubscribe-auth/ABu-_mZ39E7repPzgRP7RZxuRNuWAzrIks5tHMzqgaJpZM4RR8wp .
Ok, please keep me posted. I take this very seriously.
Will do. I do think adjusting the vardiff did a big difference though.
On Thu, Jan 4, 2018 at 2:39 PM, Oliver Weichhold notifications@github.com wrote:
Ok, please keep me posted. I take this very seriously.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/coinfoundry/miningcore/issues/150#issuecomment-355284350, or mute the thread https://github.com/notifications/unsubscribe-auth/ABu-_pFfXQE4TVR09hSt1X6Ffc7nS-80ks5tHNSlgaJpZM4RR8wp .
@oliverw Spoke too soon. No blocks found since 13:25 :(
@oliverw So it's been with no blocks for almost 18 hours now. My miners have fled like there was a plague. :(
I know that feeling all too well ;(
Lower jobRebroadcastTimeout
to 3
Done.
On Fri, Jan 5, 2018 at 8:53 AM, Oliver Weichhold notifications@github.com wrote:
I know that feeling all too well ;(
Lower jobRebroadcastTimeout to 3
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/coinfoundry/miningcore/issues/150#issuecomment-355493495, or mute the thread https://github.com/notifications/unsubscribe-auth/ABu-_kEpaXgp_P_b0DX9NlWkTKCV5VYfks5tHdTjgaJpZM4RR8wp .
@oliverw I've noticed that there are only 2 other pools left and they seem to have ~60gh/s and ~40gh/s in a ~100gh/s network hashrate. Could it simply be because of this?
There's always a problem with hashrate monopolies (or duopolies) like this, yes.
You could also try running the latest dev branch commit which contains some network low-level optimizations.
Sorry for messing up here. Z-Nomp (node-stratum-pool) seem to suffer from the same problems in Bitcoin Gold. I have been digging a lot into this and:
I have been considering that there can be a problem in the daemon since other pool operators state that there is no such problem with other Z currencies, but however I have not found anything that could cause this kind of "bad luck".
@StarbuckBG Are you referring to your z-node-stratum-pool derivate created for BTG?
Initially we thought that it is a Redis issue, as Redis is single thread and in the way znomp is made it is really easy to fill it with data and it has major issues on the fetches. Hence we have made changes and it didn't improved. Rest of info is provided above.
Well, Miningcore is heavily multi-threaded I would be surprise if its a performance issue.
The devs of pool.gold will migrate to it over the next week. Please check your gitter I have dropped some messages. I can give you some access so we can debug and improve under heavy load.
On 7 Jan 2018, at 10:58, Oliver Weichhold notifications@github.com wrote:
Well, Miningcore is heavily multi-threaded I would be surprise if its a performance issue.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/coinfoundry/miningcore/issues/150#issuecomment-355808819, or mute the thread https://github.com/notifications/unsubscribe-auth/ADrjrRmSO7sdUYheyAXkQtJfO_5oK9XYks5tIIcpgaJpZM4RR8wp.
@StarbuckBG They will migrate to what?
To Miningcore (:
On 7 Jan 2018, at 11:05, Oliver Weichhold notifications@github.com wrote:
@StarbuckBG https://github.com/starbuckbg They will migrate to what?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/coinfoundry/miningcore/issues/150#issuecomment-355809143, or mute the thread https://github.com/notifications/unsubscribe-auth/ADrjrUVxDkHAtBsSMjVlQLo1rvkHrct9ks5tIIjngaJpZM4RR8wp.
@StarbuckBG Will do. One question though. I thought pretty much all pools are running https://github.com/StarbuckBG/node-stratum-pool and pool.gold is the biggest BTG pool. How can they have an issue with found blocks? And even if they do wouldn't everyone else have the same problem?
On average pool has about 12% lower luck than the one supposed to have (based on 1 month calculations). All the z-nomp based pools are having that problem. There is a chat for investigating this problem in the BTG Slack with all the pool operators. It would be helpful if you join as well. And pool.gold is the 3rd largest BTG pool. First and second are respectively supernova and miningpoolhub. Both of them are using the python based pool stratum. This is why 8 devs are looking for the problem for the last 4 weeks and it is still unknown.
There was a problem with the block validation (valid blocks shown invalid) and I have risen it as an issue to the repo owner (https://github.com/joshuayabut/equihashverify/issues/3 https://github.com/joshuayabut/equihashverify/issues/3). It was taking away 1 ever 25 blocks on average and I have found that by logging the shares with higher difficulty than the target for the network. Then I have found in the logs that some of the “block candidates” are rejected because of invalid equihash solution, but on the other hand when I validate manually the solution is correct.
Znomp is good for small pools, for example if you have farm, but it is not for a product large pool. That is why all the pools that have more than 500 users must decide wether to switch to new software or not.
On 7 Jan 2018, at 11:10, Oliver Weichhold notifications@github.com wrote:
@StarbuckBG https://github.com/starbuckbg Will do. One question though. I thought pretty much all pools are running https://github.com/StarbuckBG/node-stratum-pool https://github.com/StarbuckBG/node-stratum-pool and pool.gold is the biggest BTG pool. How can they have an issue with found blocks? And even if they do wouldn't everyone else have the same problem?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/coinfoundry/miningcore/issues/150#issuecomment-355809329, or mute the thread https://github.com/notifications/unsubscribe-auth/ADrjrYnntuMeyxxCf1e57byKHf7so9xYks5tIIoAgaJpZM4RR8wp.
@StarbuckBG Send me a slack invite.
Please check here - https://join.slack.com/t/bitcoin-gold/shared_invite/enQtMjY1MzkzMzUxNjY4LWM1YmQ4MjZhZTQxMWE1ZDQyNjA4N2QwZTkyZjYzMjhiMzdlMmVkNjQ3NzZlZDdmMDE4NWIyY2JmYzdjYmE2MzA
I’m there as @Martin, and I have a status “Out Sick”. There are impersonators, so beware.
Thanks for all the help.
Sent from my iPhone 7 plus
On Jan 7, 2018, at 11:44 AM, Oliver Weichhold notifications@github.com wrote:
@StarbuckBG Send me a slack invite.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
Signed in to slack as CoinFoundry
Messaged there.
Sent from my iPhone 7 plus
On Jan 7, 2018, at 12:01 PM, Oliver Weichhold notifications@github.com wrote:
Signed in to slack as CoinFoundry
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
I'm in the same boat. I got my own shitcoin, shares are being accepted, but in the same timeframe that p2pool and nomp had X mining effort, miningcore with the same mining effort solved almost 5% of blocks. I have a relatively closed environment and am able to coordinate mining efforts, and it doesn't seem to be an issue like 'another mining pool is huge and therefore is taking all the blocks'. I can hotswap MiningCore out on a pool server with nomp/p2pool, and end up seeing a lot more solved blocks with either.
Can you please check debug.log of the coin daemon and grow for acceptBlock.
I had problems with incorrect SegWit blocks, then with Orphaned blocks and went to zeroMQ external stratum option and it is working beautifully.
Sent from my iPhone 7 plus
On Jan 15, 2018, at 4:14 AM, Michael Allar notifications@github.com wrote:
I'm in the same boat. I got my own shitcoin, shares are being accepted, but in the same timeframe that p2pool and nomp had X mining effort, miningcore with the same mining effort solved almost 5% of blocks. I have a relatively closed environment and am able to coordinate mining efforts, and it doesn't seem to be an issue like 'another mining pool is huge and therefore is taking all the blocks'. I can hotswap MiningCore out on a pool server with nomp/p2pool, and end up seeing a lot more solved blocks with either.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
@StarbuckBG How did you set up the external stratum config and with what software?
You must get one of the node-stratum-pool repos for the coin that you mine - https://github.com/coinfoundry https://github.com/coinfoundry
In the node-stratum-pool you must make a config.json file. You can follow the instructions on the repo for the config file, but be aware that is must be in a JSON file, not on main.js file. Also add the “coin” : {} information inside the config JSON.
Add this to config.json:
"publisherSocket": "tcp://<StratumMachineIP(this machine. It must be the external IP)>:4001", "publisherTopic": “topic1”
Inside COIN config of miningcore config file you add "externalStratum": true, "externalStratumZmqSocket" : "tcp://<ip from point 3>:4001", "externalStratumZmqTopic" : “topic1"
you start with node path/to/lib/index.js path/to/config.json (mind that the path to config.json must be relative to index.js, not the current directory).
Be aware that if you enable external stratum, people will not be able to connect to the current pool. Only 1 is working - wether external stratum or miningcore stratum.
On 15 Jan 2018, at 9:31, Andrew Camilleri notifications@github.com wrote:
@StarbuckBG https://github.com/starbuckbg How did you set up the external stratum config and with what software?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/coinfoundry/miningcore/issues/150#issuecomment-357602570, or mute the thread https://github.com/notifications/unsubscribe-auth/ADrjrZjawgy3cNX0MKJvww79v2LxPU5Kks5tKv7tgaJpZM4RR8wp.
@StarbuckBG Ah, so the external stratum setting only works with nomps' stratum. It wouldn't be able to hook up to say, yiimp?
@Oliver BTG pool runs fine on the external stratums with the provided steps to setup.
When you have take please check the last issue I have opened. I can give you access to the server if needed. I’m able to reproduce it each time.
Sent from my iPhone 7 plus
On Jan 15, 2018, at 10:10 AM, Oliver Weichhold notifications@github.com wrote:
@Kukks The external stratum stuff is for a couple of NOMP pool derivates (this, this and this this I was experimenting with when researching an issue similar to this one.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
So what this fixed, or is it still an open issue?
I'm leaving this open as I can't tell right now since my hashrate is too low for the current Straks network hashrate to make assumptions. I still think there is some sort of performance issue with finding blocks when compared to the yiimp solution.
@Kukks I'm calling for some concerted effort to figure this out.
The only way to solve this mystery is probably multiple people doing code analysis over the two areas I've mentioned.
@oliverw I will start to go over the job management and test it
I'm not smart enough to be involved, but I've had this reoccuring issue reported (haven't been able to reproduce myself) that may be related to job management?
Using nomp/p2pool, the following behavior did NOT occur, but appears to be happening with MiningCore.
Miners who mine actively for long periods of time will stop getting payments, and also stop gaining pending shares, even though they are actively mining. Restarting the miner and reconnecting to the pool generally fixes the problem. Multiple people on my pool have reported this and have transaction logs (backed by our block explorer) that show no payments when they ought to be still being paid and earning shares. The mining pool still counts these miners as connected to the pool however when pulling the worker count stat.
Regarding total block count, we've switched everyone to our miningcore server and we no longer have gaps in mining blocks, but it appears our average block difficulty is generally lower as well than when we used other pool software. Still not really sure whats going on, and maybe its just a quirk of our blockchain, but I'm definitely getting more consistent reports of bad behavior by the pool from miners than with any other pool server.
Miners who mine actively for long periods of time will stop getting payments, and also stop gaining pending shares, even though they are actively mining.
Well, I had to deal with a lot of those complaints on coinfoundry.org (formerly poolmining.org) and in retrospective every single case was either that the person stopped mining at some point and had a misconfigured miner. Take our Dash pool for for example. The pool has paid out close to half a million dollars in coins so far and ASIC miners are very, very concerned about payments and ROI. You can bet that if there was problem with the payment system, those guys would have drawn the pitchforks and left long ago.
I wanted to get to the bottom of this. Therefore I decided to test this on a production pool with high enough and consistent hashrate. Therefore I chose Coinfoundry's Dash Pool. Throughout the past two weeks I switched back and forth between Miningcore's internal stratum and an external one which is a stripped down version of the node-stratum-pool that only processes shares and block submissions.
The net result was that I was unable to find any significant advantage of using node-stratum-pool over Miningcore's internal stratum. In fact judging from the average block effort, Miningcore had a slight advantage. One thing to remember is that you should utilize streaming block updates by all means. I've updated the Wiki to reflect this (see zmqBlockNotifySocket and wsPort).
@oliverw Quick question, how do you configure MC to use the node-stratum-pool ?
Comparing my lyra2rev2 pool to other pools(yiimp based), they seem to get more blocks for the same ratio of hashrate. Is there some configuration I should be adjusting?
Pool is reporting the following:
block explorer for straks: https://straks.info current difficulty around 3000-4000 my config:
https://mpool.mooo.com/site/mining https://datapaw.net/site/mining https://www.cryptopool.xyz/site/mining