crackfoo (OP)
Legendary
Offline
Activity: 3556
Merit: 1126
|
|
September 30, 2016, 05:10:05 PM |
|
Sounds like a valid ongoing support issue to me. Where else would you like it discussed?
It's been noted.
|
ZPOOL - the miners multipool! Support We pay 10 FLUX Parallel Assets (PA) directly to block rewards! Get paid more and faster. No PA fee's or waiting around for them, paid instantly on every block found!
|
|
|
joblo
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
September 30, 2016, 05:53:45 PM |
|
I can't say I know or understand how the internal exchanging works when you're mining in exchange mode and with an address that is !=BTC but perhaps the share of BERN you earned is converted to BTC and virtually bought back?
So where did the 20% go? (third time I ask this question, never answered) bid 0.00000038 ask 0.00000078 Whats the math there? Anyways, this discussion is for another thread. Move it please. Say you do an internal trade in the worst case, you pay the ask and receive the bid. It's an internal trade and you end up with less than you started with. Where are those coins you lost? Are they in the pool's BTC wallet? If so that's wrong. However, your example does not line up with the available data. I have not seen anyone post losing more than 30-35% nor less than 15% and diffferent coins have different spreads so there should be some higher volume, and better known, coins with smaller spreads and correspondingly smaller losses. But they are all centered around 20%. It's a pattern that is not dependent on the coind being mined, the coin being paid out or whether an exchange, internal or external, is required. The simplest case is when the payout coin is the same as the mined coin. No exchange nor estimating is required. Internal exchnage is the next more complex case because an internal exchange is required. However, the internal exchange does not incur trading fees and should not be subject to price spread or market flooding. External exchange, only required for BTC payout, is the most complex case as there are exchange fees and all other market risks. If the software is executing unnecessary internal trades for same coin payout it complicates debugging. But it seems a simple to bypass it if it is happening. If the problem goes away for same coin payout you've found where the problem is. But it's still premature to think about fixes because the problem is still not fully understood. It still needs to be determined where the loss occurs. It's after the block is cleared but before it appears in the user's balance. That includes retrieving the data from the DB, possible exchange to payout coin, deducting the estimated block value from the pending and adding the actual value to the balance. At one of those points an error is being made causing a loss of ~20%. You say you noted the problem, what is your next step?
|
|
|
|
aaronsace
|
|
September 30, 2016, 05:59:06 PM |
|
Sounds like a valid ongoing support issue to me. Where else would you like it discussed?
It's been noted. Where? To what end?
|
|
|
|
JaredKaragen
Legendary
Offline
Activity: 1848
Merit: 1166
My AR-15 ID's itself as a toaster. Want breakfast?
|
|
September 30, 2016, 06:14:55 PM |
|
I can't say I know or understand how the internal exchanging works when you're mining in exchange mode and with an address that is !=BTC but perhaps the share of BERN you earned is converted to BTC and virtually bought back?
So where did the 20% go? (third time I ask this question, never answered) bid 0.00000038 ask 0.00000078 Whats the math there? Anyways, this discussion is for another thread. Move it please. Sounds like a valid ongoing support issue to me. Where else would you like it discussed? Answers and question highlighted from the same post that asked where... and that posting quoted was the one right before it. Please. Stop.
|
|
|
|
aarons6
Legendary
Offline
Activity: 1736
Merit: 1006
|
|
September 30, 2016, 06:27:08 PM Last edit: September 30, 2016, 06:50:25 PM by aarons6 |
|
I can't say I know or understand how the internal exchanging works when you're mining in exchange mode and with an address that is !=BTC but perhaps the share of BERN you earned is converted to BTC and virtually bought back?
Anyway, if you want to discuss this further I'd appreciate if you'd start your own thread.
I'm happy to help anyone with technical issues, mining problems, payouts not sent etc...
looking at the code i see this happening.. even if it says you "earned" 10 BERN or whatever, its really .000002342 BTC and its just showing the BERN amount based on exchange rate at that time. this is why when you actually get a payout its less. it actually looks like it comes up with this value by ask+bid/2 * 0.9 - tx fee.. it also looks like its set to dump the coins on the exchange at up to a 20% loss if it cant meet this price.. during actual exchange.. the only way i see fixing this, is to get the author to tighten up the guesstimation, and lower the loss to say 5% or so.. but the problem this would cause is the people mining BERN or whatever and want to get paid in BTC would see a lot longer pending times.. to the guys that want to mine a certain coins to get paid out in those coins, they should really find a different pool. this one is setup to pay out in bitcoin.
|
|
|
|
joblo
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
September 30, 2016, 07:38:31 PM |
|
I can't say I know or understand how the internal exchanging works when you're mining in exchange mode and with an address that is !=BTC but perhaps the share of BERN you earned is converted to BTC and virtually bought back?
Anyway, if you want to discuss this further I'd appreciate if you'd start your own thread.
I'm happy to help anyone with technical issues, mining problems, payouts not sent etc...
looking at the code i see this happening.. even if it says you "earned" 10 BERN or whatever, its really .000002342 BTC and its just showing the BERN amount based on exchange rate at that time. this is why when you actually get a payout its less. it actually looks like it comes up with this value by ask+bid/2 * 0.9 - tx fee.. it also looks like its set to dump the coins on the exchange at up to a 20% loss if it cant meet this price.. during actual exchange.. the only way i see fixing this, is to get the author to tighten up the guesstimation, and lower the loss to say 5% or so.. but the problem this would cause is the people mining BERN or whatever and want to get paid in BTC would see a lot longer pending times.. to the guys that want to mine a certain coins to get paid out in those coins, they should really find a different pool. this one is setup to pay out in bitcoin. I appreciate the explanation but I have some concerns about it. Could you point me to the code you are looking at? I think your math is off. ask+bid/2 * 0.9 is actually 90% of the mean, so it's minus 10%, not 20%. Regardless of the math it looks like you're saying it will not dump the coins if the price drops more than a specified percentage. This looks like good downside protection that should limit the losses, not exacerbate them.
|
|
|
|
joblo
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
September 30, 2016, 11:35:16 PM |
|
I found an interesting function. It ckearly shows that no conversion is done if the ernings coin ($coin->id) is the same as the user's payout coin ($user->coinid) it does no conversion. It simply returns the amount unchanged. It further shows that BTC payouts are the only ones that can use a market exchange. The returned value is then added to the balance. What's my point? This is called by BackendClearEarnings which is where the block's status is changed to "Cleared". This is a key place to collect data to verify the credit from a block and there is a debug log already. This also answers the question about doing needless exchanges. Can we progress forward now and get some real data to stop the speculation? function yaamp_convert_amount_user($coin, $amount, $user) { $refcoin = getdbo('db_coins', $user->coinid); $value = 0.; if (YAAMP_ALLOW_EXCHANGE) { if(!$refcoin) $refcoin = getdbosql('db_coins', "symbol='BTC'"); if(!$refcoin || $refcoin->price2 <= 0) return 0; $value = $amount * $coin->price2 / $refcoin->price2; } else if ($coin->price2 && $refcoin && $refcoin->price2 > 0.) { $value = $amount * $coin->price2 / $refcoin->price2; } else if ($coin->id == $user->coinid) { $value = $amount; } return $value; }
|
|
|
|
aarons6
Legendary
Offline
Activity: 1736
Merit: 1006
|
|
October 01, 2016, 12:14:01 AM |
|
I found an interesting function. It ckearly shows that no conversion is done if the ernings coin ($coin->id) is the same as the user's payout coin ($user->coinid) it does no conversion. It simply returns the amount unchanged. It further shows that BTC payouts are the only ones that can use a market exchange. The returned value is then added to the balance. What's my point? This is called by BackendClearEarnings which is where the block's status is changed to "Cleared". This is a key place to collect data to verify the credit from a block and there is a debug log already. This also answers the question about doing needless exchanges. Can we progress forward now and get some real data to stop the speculation? function yaamp_convert_amount_user($coin, $amount, $user) { $refcoin = getdbo('db_coins', $user->coinid); $value = 0.; if (YAAMP_ALLOW_EXCHANGE) { if(!$refcoin) $refcoin = getdbosql('db_coins', "symbol='BTC'"); if(!$refcoin || $refcoin->price2 <= 0) return 0; $value = $amount * $coin->price2 / $refcoin->price2; } else if ($coin->price2 && $refcoin && $refcoin->price2 > 0.) { $value = $amount * $coin->price2 / $refcoin->price2; } else if ($coin->id == $user->coinid) { $value = $amount; } return $value; }
yeah but allow exchange is turned on, that means the symbol is forced btc. if allow exchange is disabled, then you would only get paid in the coin that you mine.. this is what its saying.
|
|
|
|
joblo
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
October 01, 2016, 01:09:41 AM |
|
I found an interesting function. It ckearly shows that no conversion is done if the ernings coin ($coin->id) is the same as the user's payout coin ($user->coinid) it does no conversion. It simply returns the amount unchanged. It further shows that BTC payouts are the only ones that can use a market exchange. The returned value is then added to the balance. What's my point? This is called by BackendClearEarnings which is where the block's status is changed to "Cleared". This is a key place to collect data to verify the credit from a block and there is a debug log already. This also answers the question about doing needless exchanges. Can we progress forward now and get some real data to stop the speculation? function yaamp_convert_amount_user($coin, $amount, $user) { $refcoin = getdbo('db_coins', $user->coinid); $value = 0.; if (YAAMP_ALLOW_EXCHANGE) { if(!$refcoin) $refcoin = getdbosql('db_coins', "symbol='BTC'"); if(!$refcoin || $refcoin->price2 <= 0) return 0; $value = $amount * $coin->price2 / $refcoin->price2; } else if ($coin->price2 && $refcoin && $refcoin->price2 > 0.) { $value = $amount * $coin->price2 / $refcoin->price2; } else if ($coin->id == $user->coinid) { $value = $amount; } return $value; }
yeah but allow exchange is turned on, that means the symbol is forced btc. if allow exchange is disabled, then you would only get paid in the coin that you mine.. this is what its saying. YAAMP_ALLOW_EXCHANGE is set to false here... web/yaamp/defaultconfig.php:if (!defined('YAAMP_ALLOW_EXCHANGE')) define('YAAMP_ALLOW_EXCHANGE', false);
... and never set true. So the first branch of the if is always skipped. However there is a bug, or just bad coding. The "same coin" test (3rd branch) should be done before the "other altcoin" test (2nd branch). The way it is written the altcoin test is done before the same coin test and will catch the same coin case unless the price is strategically set to 0. This means the same coin case will do a price conversion but it should be 1/1 because the price is being divided by itself. Something else to confirm.
|
|
|
|
aarons6
Legendary
Offline
Activity: 1736
Merit: 1006
|
|
October 01, 2016, 01:29:31 AM |
|
I found an interesting function. It ckearly shows that no conversion is done if the ernings coin ($coin->id) is the same as the user's payout coin ($user->coinid) it does no conversion. It simply returns the amount unchanged. It further shows that BTC payouts are the only ones that can use a market exchange. The returned value is then added to the balance. What's my point? This is called by BackendClearEarnings which is where the block's status is changed to "Cleared". This is a key place to collect data to verify the credit from a block and there is a debug log already. This also answers the question about doing needless exchanges. Can we progress forward now and get some real data to stop the speculation? function yaamp_convert_amount_user($coin, $amount, $user) { $refcoin = getdbo('db_coins', $user->coinid); $value = 0.; if (YAAMP_ALLOW_EXCHANGE) { if(!$refcoin) $refcoin = getdbosql('db_coins', "symbol='BTC'"); if(!$refcoin || $refcoin->price2 <= 0) return 0; $value = $amount * $coin->price2 / $refcoin->price2; } else if ($coin->price2 && $refcoin && $refcoin->price2 > 0.) { $value = $amount * $coin->price2 / $refcoin->price2; } else if ($coin->id == $user->coinid) { $value = $amount; } return $value; }
yeah but allow exchange is turned on, that means the symbol is forced btc. if allow exchange is disabled, then you would only get paid in the coin that you mine.. this is what its saying. YAAMP_ALLOW_EXCHANGE is set to false here... web/yaamp/defaultconfig.php:if (!defined('YAAMP_ALLOW_EXCHANGE')) define('YAAMP_ALLOW_EXCHANGE', false);
... and never set true. So the first branch of the if is always skipped. However there is a bug, or just bad coding. The "same coin" test (3rd branch) should be done before the "other altcoin" test (2nd branch). The way it is written the altcoin test is done before the same coin test and will catch the same coin case unless the price is strategically set to 0. This means the same coin case will do a price conversion but it should be 1/1 because the price is being divided by itself. Something else to confirm. the pool admin, crackfoo, would have set allow_echange to true in the config.. its obviously enabled cause if it wasnt we wouldnt be paid in bitcoin at all..
|
|
|
|
joblo
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
October 01, 2016, 04:02:34 AM |
|
I found an interesting function. It ckearly shows that no conversion is done if the ernings coin ($coin->id) is the same as the user's payout coin ($user->coinid) it does no conversion. It simply returns the amount unchanged. It further shows that BTC payouts are the only ones that can use a market exchange. The returned value is then added to the balance. What's my point? This is called by BackendClearEarnings which is where the block's status is changed to "Cleared". This is a key place to collect data to verify the credit from a block and there is a debug log already. This also answers the question about doing needless exchanges. Can we progress forward now and get some real data to stop the speculation? function yaamp_convert_amount_user($coin, $amount, $user) { $refcoin = getdbo('db_coins', $user->coinid); $value = 0.; if (YAAMP_ALLOW_EXCHANGE) { if(!$refcoin) $refcoin = getdbosql('db_coins', "symbol='BTC'"); if(!$refcoin || $refcoin->price2 <= 0) return 0; $value = $amount * $coin->price2 / $refcoin->price2; } else if ($coin->price2 && $refcoin && $refcoin->price2 > 0.) { $value = $amount * $coin->price2 / $refcoin->price2; } else if ($coin->id == $user->coinid) { $value = $amount; } return $value; }
yeah but allow exchange is turned on, that means the symbol is forced btc. if allow exchange is disabled, then you would only get paid in the coin that you mine.. this is what its saying. YAAMP_ALLOW_EXCHANGE is set to false here... web/yaamp/defaultconfig.php:if (!defined('YAAMP_ALLOW_EXCHANGE')) define('YAAMP_ALLOW_EXCHANGE', false);
... and never set true. So the first branch of the if is always skipped. However there is a bug, or just bad coding. The "same coin" test (3rd branch) should be done before the "other altcoin" test (2nd branch). The way it is written the altcoin test is done before the same coin test and will catch the same coin case unless the price is strategically set to 0. This means the same coin case will do a price conversion but it should be 1/1 because the price is being divided by itself. Something else to confirm. the pool admin, crackfoo, would have set allow_echange to true in the config.. its obviously enabled cause if it wasnt we wouldnt be paid in bitcoin at all.. BS, you just made that up. If false, which it is, it converts to the refcoin value, which can be BTC. That's what the code says. The only effect of it being true in this piece of code is to set the refcoin to BTC if is currently not defined.
|
|
|
|
aarons6
Legendary
Offline
Activity: 1736
Merit: 1006
|
|
October 01, 2016, 04:21:47 AM |
|
I found an interesting function. It ckearly shows that no conversion is done if the ernings coin ($coin->id) is the same as the user's payout coin ($user->coinid) it does no conversion. It simply returns the amount unchanged. It further shows that BTC payouts are the only ones that can use a market exchange. The returned value is then added to the balance. What's my point? This is called by BackendClearEarnings which is where the block's status is changed to "Cleared". This is a key place to collect data to verify the credit from a block and there is a debug log already. This also answers the question about doing needless exchanges. Can we progress forward now and get some real data to stop the speculation? function yaamp_convert_amount_user($coin, $amount, $user) { $refcoin = getdbo('db_coins', $user->coinid); $value = 0.; if (YAAMP_ALLOW_EXCHANGE) { if(!$refcoin) $refcoin = getdbosql('db_coins', "symbol='BTC'"); if(!$refcoin || $refcoin->price2 <= 0) return 0; $value = $amount * $coin->price2 / $refcoin->price2; } else if ($coin->price2 && $refcoin && $refcoin->price2 > 0.) { $value = $amount * $coin->price2 / $refcoin->price2; } else if ($coin->id == $user->coinid) { $value = $amount; } return $value; }
yeah but allow exchange is turned on, that means the symbol is forced btc. if allow exchange is disabled, then you would only get paid in the coin that you mine.. this is what its saying. YAAMP_ALLOW_EXCHANGE is set to false here... web/yaamp/defaultconfig.php:if (!defined('YAAMP_ALLOW_EXCHANGE')) define('YAAMP_ALLOW_EXCHANGE', false);
... and never set true. So the first branch of the if is always skipped. However there is a bug, or just bad coding. The "same coin" test (3rd branch) should be done before the "other altcoin" test (2nd branch). The way it is written the altcoin test is done before the same coin test and will catch the same coin case unless the price is strategically set to 0. This means the same coin case will do a price conversion but it should be 1/1 because the price is being divided by itself. Something else to confirm. the pool admin, crackfoo, would have set allow_echange to true in the config.. its obviously enabled cause if it wasnt we wouldnt be paid in bitcoin at all.. BS, you just made that up. If false, which it is, it converts to the refcoin value, which can be BTC. That's what the code says. The only effect of it being true in this piece of code is to set the refcoin to BTC if is currently not defined. https://github.com/tpruvot/yiimp/blob/next/web/yaamp/defaultconfig.phpDEFAULT CONFIG.. you will change this to what you want.. but what do i know PS the OP said to start a new thread.. maybe you can find answers you like from someone else.
|
|
|
|
AngryDwarf
|
|
October 01, 2016, 07:20:44 AM |
|
YAAMP_ALLOW_EXCHANGE will be set in another config file before the defaults are run, so the !defined check will not pass. It makes sense that user earnings are converted to a BTC value and then converted back to the payout coin of choice when the system is set up this way. However, the algo fee seems to be applied at earnings time, so if the code snippet implies another hard coded 2% fee at payout time, it might be the case that there is a double fee application error. That might be worth looking into and raising an issue against yiimp if it is the case. When the system seemed to have an 80% share cap when being the only miner on an algo solving blocks, from a code trace this appeared to be the result of a query against the share table. I was unable to query that table to check if it was the case that his table was getting corrupted, but such an issue would propagate up to earnings. But the code has changed since then. We aren't going to get to the bottom of the problem by just looking at code, if we cannot confirm what the data holds is what we would expect. So I've come to my own speculative conclusions, but the bottom line is what is the most profitable pool for your equipment? I suppose with so many algos going ASIC/FPGA, I'm benefiting less and less from the profit switching component of the pool, and only really benefiting from the pooled exchanging. I've retired my ASIC's because my hash percent was so low most coins weren't building up a sat before exchange time.
|
|
|
|
JaredKaragen
Legendary
Offline
Activity: 1848
Merit: 1166
My AR-15 ID's itself as a toaster. Want breakfast?
|
|
October 01, 2016, 10:24:36 AM |
|
Guys, last time ill personally say it:
All of this chatter needs to be in a separate discussion thread about the issue. you can let crackfoo know about the thread and I am sure he will check it if asked.
You were asked several times to do this.
|
|
|
|
AngryDwarf
|
|
October 01, 2016, 10:51:57 AM |
|
Guys, last time ill personally say it:
All of this chatter needs to be in a separate discussion thread about the issue. you can let crackfoo know about the thread and I am sure he will check it if asked.
You were asked several times to do this.
I've said all I've needed to say now. Since many people feel the effective pool rate is higher the advertised pool rate, if they feel this support issue is not being addressed and they feel they have enough evidence, I suppose they could always discuss it here: https://bitcointalk.org/index.php?board=83.0
|
|
|
|
joblo
Legendary
Offline
Activity: 1470
Merit: 1114
|
|
October 01, 2016, 11:36:28 AM |
|
YAAMP_ALLOW_EXCHANGE will be set in another config file before the defaults are run, so the !defined check will not pass.
More made up BS. There is no way you would know that.
|
|
|
|
AngryDwarf
|
|
October 01, 2016, 11:40:25 AM |
|
YAAMP_ALLOW_EXCHANGE will be set in another config file before the defaults are run, so the !defined check will not pass.
More made up BS. There is no way you would know that. Actually, in the folder below yaamp, there is a config.sample.php file. You copy that to config.php and add your settings there before the defaultconfig.php file is run.
|
|
|
|
crackfoo (OP)
Legendary
Offline
Activity: 3556
Merit: 1126
|
|
October 01, 2016, 11:55:03 AM |
|
======================================
How does it work? zpool offers 20+ different sets of algo to mine with. Mined and confirmed coins are traded automatically to maximize the profits from exchanging them into payout currencies. Payouts occur every few hours for balances over 0.005 BTC. If you don't earn that much, every Sunday miners with 0.0005 or more are paid out. The advantage of the pool is that you can utilize your ASIC equipment and GPU's to earn BTC. You can however, mine using any currency we currently have enable to receive your payouts in that currency. Non-BTC payouts depend on that coin being mined as your BTC balance is traded internally by our system to your currency of choice. If we have not or are not mining that currency your payouts will be delayed until the pool has mined the blocks for you to get paid. If you notice in the pools status that the currency is red, it means there is not sufficient amounts of the currency to pay miners. It's recommended to use BTC. We have the ability to automatically switch between most profitable algos as well as coins. See here for setup instructions: http://www.zpool.ca/site/multialgoAny issues, please feel free to PM me, as I can't always see every post or log a support ticket: http://support.zpool.caCheers! zpool Multipool www.zpool.caPROP reward system BTC Payouts 20+ Algos ~150 Coins to mine DDoS Protected 2% Fees (Mining, Exchange, Rental) For ports and stratum check out: www.zpool.caCustom DIFF can be set using the password field. This can be used to support large ASIC devices such as Antminers, Titans, Nice Hash and other rentals: http://www.zpool.ca/site/diffCheers and Happy Hashing! =================================== Russian Video discussing zpool.ca pool and miner setups: https://www.youtube.com/watch?v=yqHwMGVPslI
|
ZPOOL - the miners multipool! Support We pay 10 FLUX Parallel Assets (PA) directly to block rewards! Get paid more and faster. No PA fee's or waiting around for them, paid instantly on every block found!
|
|
|
|