hakkane84/Decentralizer-CLI

Feature Request: Consolodate hosts to a region

Closed this issue · 2 comments

I haven't thought about the details of this yet but it would be really cool if decentralizer was able to accept a region (such as USA) and only keep host contracts with hosts in that region. I could see this being useful for users who have region requirements (like the data must stay in the UK).

I can see a use case where you might want hosts only INSIDE the US to keep latency down. And I can see a situation where you would want hosts only OUTSIDE the US to reduce chance of data liability, etc.

I definitely like your idea, and I would love to expand Decentralizer to cope with these scenarios and allow the user more granular control over his contracts.

The problem is that if I implement right now these functionalities, it is not possible to guarantee the next batch of hosts selected as replacements will keep the same geographic restrictions. This could be done if Decentralizer works as a background app monitoring the list of contracts every few minutes and cancelling those violating the rules of the renter. It could incur in a lot of contract formation expenses for the renter as dozens of contracts are created to just be canceled a few minutes later, but it would work.

As the Sia devs discussed over the summer the idea of creating API endpoints to manipulate the hostdb, I am waiting for them to be implemented, so Decentralizer can prevent the formation of certain contracts instead of removing them as they are formed. If these endpoints get delayed, I think I will nevertheless use the approach of the previous paragraph: not so elegant, but it should work.

Thank you!!!

I added this to v1.0.0, being its biggest new feature :-)