Hi all,
I spent some time debugging this and long story short, I think my intuition re: Cloudflare was correct and it works now. I might do a larger writeup about this later since this is quite interesting, but the gist is, there are two options:
a) If you’re just joining Aether or have had issues before, you should be able to just delete your local DB to reset your local app [1], which should immediately pull in the entire network.
b) If you are running it already as an existing user with data and you don’t want to do anything, when your node hits bootstrapper node next time, the new data should fill in, usually within 6 hours or so. No action needed on your part.
Another interesting thing to note is that this was an inadvertent worst-case test where bootstrap server was gone for 6 months, with the network completely off-grid, no infrastructure, not even a bootstrap node to help out.
Theoretically what should happen is that the network, for the participants already joined, would continue to work, but new entrants would have to find an active node’s IP to manually bootstrap from. I’m happy to say at least the theory was correct, and the network did pass the acid test of being functional for existing, ongoing users without any bootstrap server at all. For example, the app was working fine for me, I was communicating with people just fine. (That’s probably why it took a bit of time for me to notice this, as well.)
New users or long-time-away users weren’t able to rejoin the swarm (since bootstrap server is the convenient catcher-up) but that is also predicted by the initial theory, since the point of the bootstrap server is to avoid asking new or long-time-away users to find an active node to jump in themselves.
My main worry with Aether’s networking code was that it was implicitly too reliant on bootstrap node being alive all the time, and that most posts traversed through bootstrap node and then jumped to others, instead of spreading at a peer-to-peer fashion. If anything good has come out of this, we now know that this is not true, for existing users the network does just fine without a bootstrap. This was a test that I wouldn’t have the stomach to do on my own for any real amount of time myself so this is very useful real-world data, and it makes me more confident that Aether can scale when the time comes.
[1] Instructions here, but instead of deleting the entire Air Labs folder, go into backend
and delete AetherDB.db
a minute after the app is fully shut down.