Author

Topic: Known servers list (Read 88 times)

legendary
Activity: 1932
Merit: 1273
September 17, 2022, 03:15:33 AM
#6
I mean it is unrelated to the Electrum script. I believe Electrs disable the Electrum Server peer discovery protocol by default, so you don't have to worry. I just trying to say that Electrs is not suitable for public server as noted on their readme. Another relevant discussion can be seen at https://github.com/romanz/electrs/issues/187.

Or this explanation also could tell why it's unsuitable due to how its design:

As can be seen from the Electrs database schema, only the block height for an address is stored. To be more specific, the ScriptPubKey is hashed and the first 8 bytes of this ‘script hash’ are stored as a key where the value is the confirmed block height for a transaction associated with that script hash. This means that block must be retrieved from Bitcoin Core using the P2P interface and parsed for transactions that have outputs matching the address. For a deep wallet such as that used in this test, this can be a lot of data that must be reparsed for every wallet load. For this particular wallet, 3.5GB of blocks needed to be fetched from Bitcoin Core and parsed every time the wallet is loaded!

legendary
Activity: 952
Merit: 1386
September 17, 2022, 02:57:10 AM
#5
Just a heads up:

Note that this implementation of Electrum server is optimized for personal/small-scale (family/friends) usage. It's a bad idea to run it publicly as it'd expose you to DoS and maybe also other attacks. If you want to run a public server you may be interested in the Blockstream fork of electrs which is better optimized for public usage at the cost of consuming significantly more resources.

That's weird. Does it mean that if I start server and keep it running, there is chance it will be automatically 'detected' by script, added to the public servers list and I cannot do anything with that? What are the options - changing port to non-standard? IP filtering at the firewall level makes no sense.
legendary
Activity: 1932
Merit: 1273
September 17, 2022, 02:53:08 AM
#4
So I must check how it works in case of electrs.

Just a heads up:

Note that this implementation of Electrum server is optimized for personal/small-scale (family/friends) usage. It's a bad idea to run it publicly as it'd expose you to DoS and maybe also other attacks. If you want to run a public server you may be interested in the Blockstream fork of electrs which is better optimized for public usage at the cost of consuming significantly more resources.
legendary
Activity: 952
Merit: 1386
September 17, 2022, 02:47:13 AM
#3
Thank you for running a server!
If you keep running it, enable peer discovery, and have good uptime, when we next update the default list, the script will likely include it.

The script he talking about is likely this https://github.com/spesmilo/electrum/blob/master/electrum/scripts/update_default_servers.py. So yes, it automatically added.

Interesting, thank you. So I must check how it works in case of electrs. I think electrumx had some configuration for that, but I do not remember details, I've checked that long time ago.
legendary
Activity: 1932
Merit: 1273
September 17, 2022, 02:41:10 AM
#2
There is someone who tried to update the hardcoded server directly at https://github.com/spesmilo/electrum/pull/7958 but @SomberNight replied with:

Thank you for running a server!
If you keep running it, enable peer discovery, and have good uptime, when we next update the default list, the script will likely include it.

The script he talking about is likely this https://github.com/spesmilo/electrum/blob/master/electrum/scripts/update_default_servers.py. So yes, it automatically added.
legendary
Activity: 952
Merit: 1386
September 17, 2022, 02:25:25 AM
#1
Hello

Who is responsible for the list of known servers? How is it organized, is a new server automatically added in or must it be registered somewhere?
In other words, if I run my server, should I report it to be added to the list? Should I do something to be sure it will not be added?
Jump to: