Veber is right, this is caused by the gateway saving the node list to disk in the RelayNode RPC. This error was more likely to occur during high i/o ativity. The RelayNode RPC has been removed for other reasons, so this particular error cannot occur in newer versions. I'll look into reducing the gateway's i/o as a similar error could occur if you try to connect to many peers at once.
Hmm, maybe consensus file is corrupted? There has been reports that PCs recovering from hibernation/standby have had their consensus DB corrupted. Could be your issue too. It is simple enough to remove the consensus file (from /consensus/ folder). The Sia daemon will then resync next time you start it (might take up to a day, probably more like 4-5 hours on a good connection).
oh, there is no way to pay another host. Sia is designed to have hosts go offline, you will not get inbetween people and their files by leaving, as long as at least half of the network sticks around for longer. There is high redundancy.
One idea might be to set the logging level as a parameter, so it is a host setting.
But I have done some more testing, and it seems it is the requests from the renters, that are DDOS'ing my router. Are there anything special about the requests made from the renters ? or is it just normal RPC-calls?
I have had other P2P running, so I am suspecting either that the request are creating some shortage in the router making it boot after a while.
What I have seen is the following
no siad running - my router is happy
siad running but not as a host - all is still fine
siad running as a host - 18 minutes approx. router boot
siad as been running for a while, but I terminates it but still letting it be registered as a host - router might work for 1-2 hours, probably because there are still some tries of connecting
siad has ben running but is deregistered as a host for contracts, router seems to be working fne
As I understand it there are different type of calls made, but I suspect the scanning of hosts might be the problem.
I can see that in Sia / modules / renter / hostdb / scan.go the host is added to the pool, but as GO is a new language for me, I still havent figured out where the actual call to the host is made (And thus not found where I need to log the request on the host side).
I think it might be a request that is not passed thru the router, so even logging on the host might not help me.
The guide will cover some of this. There's a pretty simple algorithm you can follow right now. If you aren't getting enough contracts, lower the price. If you are getting too many contracts, raise the price.
The methods for picking the best hosting constants are going to evolve as the renter gets smarter at picking hosts. Today it is almost exclusively looking at price, but in the future there will be a huge reliability component, as well as a proof-of-burn component.
@Taek Thank you for the answer. As suggested, I raised the allowance to 15KS which added 6KS to my contracts, and more hosts accepted the offer - to the point that I have now 13 hosts. I didn't have to delete the hostdb file.
Right now it's not possible to transfer data to a different host, but the v0.6.0 that's currently under development uses public keys to recognize hosts instead of IP addresses, which means that it will be possible to move the data and file contracts around, and to change ip addresses if necessary.
v0.6.0-rc1 is just a few days away, and the full v0.6.0 is probably about 2 weeks out.