Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MRR Autoextend #1057

Closed
acos0874 opened this issue Jun 16, 2020 · 17 comments
Closed

MRR Autoextend #1057

acos0874 opened this issue Jun 16, 2020 · 17 comments
Assignees
Labels
enhancement New feature or request implemented an enhancement has been implemented

Comments

@acos0874
Copy link

https://www.whattominingrigrentals.com/

This website uses an auto extend feature on the rentals

image

Unfortunately there is no way to 'mass edit' all rigs. I was wondering if you could please implement something similar in RBM?

@RainbowMiner
Copy link
Owner

An auto extend feature is actually a very nice idea. I'll add something like that.
Regarding mass edit, which parameters would you like to mass edit manually?

@RainbowMiner RainbowMiner self-assigned this Jun 16, 2020
@RainbowMiner RainbowMiner added the enhancement New feature or request label Jun 16, 2020
@acos0874
Copy link
Author

acos0874 commented Jun 16, 2020 via email

@RainbowMiner
Copy link
Owner

I think, the parameter "AutoPriceModifierPercent" (-30 .. 30) does this job. But there are two buts, currently. First, it's used during the creation of the rigs, only. Second, it's the same for all created rigs.
The idea has been to provide the option to fine-tune that paramter for certain algorithm, online at the MRR website, after the rigs have been all created.

Eventually, I could add either an extra parameter to pools.config.txt (like, "EnableAutoUpdateModifier", that would force the modifier being updated during updates, too), or I could add another config file (mrr.config.txt), which would contain all algorithm specific parameters (like that modifier) per algorithm (or probably both).

@RainbowMiner
Copy link
Owner

RainbowMiner commented Jun 16, 2020

or I could add another config file (mrr.config.txt), which would contain all algorithm specific parameters (like that modifier) per algorithm (or probably both).

Oh! Much easier! I could simply add those mrr parameters to the algorithms.config.txt - which in fact already contains per-algorithm parameters.

RainbowMiner added a commit that referenced this issue Jun 16, 2020
- add parameter `"EnableUpdatePriceModifier": "0",` to pools.config.txt. Set to "1", if the price modifier should be automatically updated. The value is either global (pools.config.txt, parameters `"AutoPriceModifierPercent"` or specific for each algorithm (algorithms.config.txt parameter `"MRRPriceModifierPercent"`, if empty string, global value will be used)
- issue #1057
@RainbowMiner
Copy link
Owner

  • add parameter "EnableUpdatePriceModifier": "0", to pools.config.txt
    • set to "1", if the price modifier should be automatically updated
    • set to "0", if the price modifier will be set during creation of the rigs, only
  • the value for the rig modifier is calculated either from global value (pools.config.txt, parameters "AutoPriceModifierPercent") or specific value for each algorithm (algorithms.config.txt parameter "MRRPriceModifierPercent", if empty string, global value will be used)

@acos0874
Copy link
Author

Awesome, and just to check this will not override the minimum price which is also set by RBM?

@RainbowMiner
Copy link
Owner

The minimum price will always be respected.

@acos0874
Copy link
Author

I just had another thought about this. Autoextend might develop a risk of rig owners being short changed by renters using incorrect settings. For example, if the renter sets a too high difficulty it would make the hashrate percentage seem low, even though it's not the fault of the rig owner. The auto extend would mean the renter would unfairly be getting extra time for free.

So a potential alternative or additional feature would be to notify the rig owner when the hashrate appears to be low, some time before the end of the rental and before autoextend. This would give the rig owner the choice of either manually intervening to extend the rental or letting autoextend do its thing.

@RainbowMiner
Copy link
Owner

Yes, you are right. A malicious renter could cost us some nerves and money, here. It could be somehow limited by a value for "Max extend", but it could happen.

@acos0874
Copy link
Author

acos0874 commented Jun 17, 2020 via email

@RainbowMiner
Copy link
Owner

True but in my experience it's more likely noob renters with incorrect settings.

Oh dear, I totally agree with you.

@RainbowMiner
Copy link
Owner

RainbowMiner commented Jun 18, 2020

Ok, auto extend on low average hashrate is added (commit c44395d)

  • add auto extend on low average feature. New params in pools.config.txt and mrr.config.txt:
    • EnableAutoExtend: Automatically extend MRR rentals, when low average hashrate [default=0]
    • AutoExtendTargetPercent: Extend rentals time, so that the total average hashrate is near this value in percent of advertised hashrate [default=100]
    • AutoExtendMaximumPercent: Extend rentals maximum to this value in percent of the rental time [default=30]

Remarks:

  • the average vs. target will be checked 15 minutes before the rental ends
  • no matter what, each rig will get one extension, only

@RainbowMiner RainbowMiner added the implemented an enhancement has been implemented label Jun 18, 2020
@astronyu
Copy link

I would also add a suggestion of adding extension option if possible. Adding an option to extend rental 1 hour for every 24 hour rented.

@RainbowMiner
Copy link
Owner

I would also add a suggestion of adding extension option if possible. Adding an option to extend rental 1 hour for every 24 hour rented.

I have implemented that feature yesterday :)

  • add automatic bonus extension feature to pools.config.txt:
    • AutoBonusExtendForHours: Enter amount of hours, that you want to be rewarded by an automatic bonus extension of AutoBonusExtendByHours (e.g. 24) [default=0]
    • AutoBonusExtendByHours: Enter bonus extension in hours per each fully rented AutoBonusExtendForHours (e.g. 1) [default=0]

@astronyu
Copy link

I would also add a suggestion of adding extension option if possible. Adding an option to extend rental 1 hour for every 24 hour rented.

I have implemented that feature yesterday :)

* add automatic bonus extension feature to pools.config.txt:
  
  * **AutoBonusExtendForHours**: Enter amount of hours, that you want to be rewarded by an automatic bonus extension of AutoBonusExtendByHours (e.g. 24) [default=0]
  * **AutoBonusExtendByHours**: Enter bonus extension in hours per each fully rented AutoBonusExtendForHours (e.g. 1) [default=0]

That is FAST! Thank you.
What does "AutoUpdatePriceModifier" means?

@acos0874
Copy link
Author

He travelled back in time to implement it for you 😅

@RainbowMiner
Copy link
Owner

What does "AutoUpdatePriceModifier" means?

This value sets the "modifier" value at MiningRigRentals. It's a percentage increase/decrease of the MiningRigRental's suggested price. Using this value, you can under-/overbid other rig owners. It is also available per algorithm (in algorithms.config.txt), in there, the name of the parameter is "MRRUpdatePriceModifier".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request implemented an enhancement has been implemented
Projects
None yet
Development

No branches or pull requests

3 participants