Author

Topic: Hardware requirements for electrum server (Read 344 times)

newbie
Activity: 4
Merit: 1
April 16, 2020, 08:42:16 AM
#11

Thanks for the insight, but could you tell :
1. How many cores of Xeon you use? 2? 4?
2. Since you mention Xeon, do you use shared VPS (which could greatly affect I/O storage performance) ?
3. 49 GiB excluding blockchain/indexing file from Bitcoin Core?
4. How many user connected to your ElectrumX server (assuming such stats exist) ?

1. I use docker and don't pin or restrict CPUs - I have dual Xeon (4 cores) @2.66GHz. Never seen CPU load go over about 40% (of one core) for ElectrumX.
2. Nope - 10K RPM spinny RAID (old school)
3. That is the ElectrumX storage. Bitcoin core is 318 GiB ATM for a total of 367 GiB storage.
4. Highest I saw when it was public was about 1,200
newbie
Activity: 4
Merit: 1
---

I'd been thinking and I'd reach to the conclusion that a computer, with a Intel Core i5 (5th Gen onwards), 12Gb+ RAM and a SSD of 500GB would to the job, for everything I've been reading these last couple of days. I could even change the i5 for an old Xeon (seeing the benchmarks), which would be cheaper.

But from that last post of yours, I gather that there's no real point on setting up a server atm, unless I already have all the parts, because the network has enough servers and I'd be loosing time and money in electricity... Not what I was expecting, but if things are that way atm, not much I can do i guess

For current ElectrumX version:

  • ElectrumX is actually pretty lightweight CPU wise. It will run fine with an old Xeon.
  • RAM use is 340 MiB not counting buffers. More is always better up to a point.
  • Network bandwidth is not bad for a public server, easily serviced with a home ISP connection.
  • Total storage is small - 49 GiB total ATM.
  • The resource constraint for a public server is really the storage I/O. ElectrumX needs to index each block as it comes in and does some thrashing for a bit each time this happens. SSDs are definitely recommended.

You of course have to have a fully synced and txindexed bitcoin core node already running. And you won't make any $.

The real benefit to running your own server is privacy - you can use Electrum with just your server and node.

legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
---

I'd been thinking and I'd reach to the conclusion that a computer, with a Intel Core i5 (5th Gen onwards), 12Gb+ RAM and a SSD of 500GB would to the job, for everything I've been reading these last couple of days. I could even change the i5 for an old Xeon (seeing the benchmarks), which would be cheaper.

But from that last post of yours, I gather that there's no real point on setting up a server atm, unless I already have all the parts, because the network has enough servers and I'd be loosing time and money in electricity... Not what I was expecting, but if things are that way atm, not much I can do i guess

If you have the parts you should do it. There was never any real way to make any money running an electrum server unless people donate and very few people do as far as I know. I'll bet most of the people who use electrum don't even know how to get to the console tab to see what the remote server is saying or how to change what server they connect to.

It's a learning experience and having another electrum server and another full node on the network can't hurt.

It is also good for you if you want to use electrum and have a bit more privacy since you can set it to only connect to your own node.

Same with lightning I have a few nodes out there with a few channels open. Almost 0 use outside of me. But it's nice to have them out there and it has taught me / is still teaching me a lot.

Stay safe.

-Dave
copper member
Activity: 1652
Merit: 1325
I'm sometimes known as "miniadmin"
---

I'd been thinking and I'd reach to the conclusion that a computer, with a Intel Core i5 (5th Gen onwards), 12Gb+ RAM and a SSD of 500GB would to the job, for everything I've been reading these last couple of days. I could even change the i5 for an old Xeon (seeing the benchmarks), which would be cheaper.

But from that last post of yours, I gather that there's no real point on setting up a server atm, unless I already have all the parts, because the network has enough servers and I'd be loosing time and money in electricity... Not what I was expecting, but if things are that way atm, not much I can do i guess
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
That is all you really need unless you are looking to have 1000s of people connect to it.

That was mostly the idea, since it'd be an open server, let as many people as I could connect to it.
And besides, if I'm also considering whether I could run 2 at once (public and private), I'm guessing that if it's possible, it'd need quite some resources

Let me reword that a bit 1000s of simultaneous users.
If you have an SSD + enough RAM say 16GB and a 5th gen or better CPU you can easily do 1000s of transactions a day.
You are going to need a powerhouse to do dozens of transactions per minute however.
And in reality unless you are publishing your own wallet that a lot of people use you are never going to get anywhere near hundreds of transactions per week or even month.

If you take a look at:
https://bitcointalksearch.org/topic/electrum-server-question-want-to-make-it-private-5229386

I had setup a node that I wanted to make private.

After that I actually made a new one opened it up the the world. I think it processed something like 10 transactions over the weeks I had it up.
Took it down last Friday the 3rd when I was leaving the office. It went online between the 10th and 12th of March.
If you tell people about it and have them specify to connect to it you might get more, but just sitting there not so much.

-Dave
copper member
Activity: 1652
Merit: 1325
I'm sometimes known as "miniadmin"
That is all you really need unless you are looking to have 1000s of people connect to it.

That was mostly the idea, since it'd be an open server, let as many people as I could connect to it.
And besides, if I'm also considering whether I could run 2 at once (public and private), I'm guessing that if it's possible, it'd need quite some resources
legendary
Activity: 3500
Merit: 6320
Crypto Swap Exchange
You can run it on a RPi4 and SSD.
You don't need the SSD and can get away with a spinning drive but you are pulling more power and killing performance.

https://mynodebtc.com/ has it all in 1 nice neat package with a bit of a GUI. Minimal knowledge needed.

With that being said, I had one running on an old core i3 probably 2nd gen 3rd at the latest with a 512GB SSD and 8 GB ram.
That is all you really need unless you are looking to have 1000s of people connect to it.

-Dave
copper member
Activity: 1652
Merit: 1325
I'm sometimes known as "miniadmin"
---
Yup, I did find that, but since it was from 2017, I figured that there would be something else needed besides more storage. Since I didn't intend to prune the core node, a 1tb HDD for storage and a smaller SSD to install the apps themselves might be enough (in my mind, reality may vary). On RAM, I wasn't planning on using less than 12GB, so no issue there, but wasn't that sure about the CPU needed.


---

Last summer I was going to do some experimenting with a Core+LN node in a Raspberri PI 3, but I had some problems in the end, and since I wasn't home for the whole summer in the end, I didn't setup anything.


For both your comments so far, I believe that a dekstop computer might do the work, rather than a whole server.

HCP
legendary
Activity: 2086
Merit: 4361
I can tell you that I (generally) have:

- Bitcoin Core Full Node
- LND Node
- my own "private" Electrum Server (running the Rust based "electrs")
- Electrum 4.0.0a0 Lightning Daemon
- and a bunch of nonCrypto stuff like Steam, Discord, TeamViewer etc

All running on an i5-3570k with only 8 Gigs of RAM and Windows 10 and doing other stuff like watching videos and browsing the internet etc! Shocked It all seems to run "OK"... Tongue

No idea what you're going to need for a "public" Electrum server however... it might need a bit more RAM if it's getting hit with hundreds/thousands of requests... processing wise, I think that anything that is running Bitcoin Core should be fine. The ElectrumX docs has a section on running it on a Raspberry Pi 3!
legendary
Activity: 3472
Merit: 10611
have you checked the project's repository itself? it has a lot of good information including the hardware requirements. the size requirement is a bit outdated but i think you can extrapolate the data yourself for today considering the fact that size has grown ~linearly ever since 2017. i've highlighted some of the important parts:

https://github.com/spesmilo/electrum-server/blob/master/HOWTO.md#prerequisites
Quote
Hardware. The lightest setup is a pruning server with disk space requirements of about 50 GB for the Electrum database (January 2017). However note that you also need to run bitcoind and keep a copy of the full blockchain, which is roughly 125 GB (January 2017). Ideally you have a machine with 16 GB of RAM and an equal amount of swap. If you have ~2 GB of RAM make sure you limit bitcoind to 8 concurrent connections by disabling incoming connections. electrum-server may bail-out on you from time to time with less than 4 GB of RAM, so you might have to monitor the process and restart it. You can tweak cache sizes in the config to an extend but most RAM will be used to process blocks and catch-up on initial start.

CPU speed is less important than fast I/O speed. electrum-server makes use of one core only leaving spare cycles for bitcoind. Fast single core CPU power helps for the initial block chain import. Any multi-core x86 CPU with CPU Mark / PassMark > 1500 will work (see https://www.cpubenchmark.net/). An ideal setup in February 2016 has 16 GB+ RAM and SSD for good i/o speed.
copper member
Activity: 1652
Merit: 1325
I'm sometimes known as "miniadmin"
I've been searching the forum for some threads about this, but couldn't find any. I've found some partial information, but nothing that resolves my doubt, so I've decided to open a thread.

I some quite availability to "scrap" or second hand computer hardware, and I was wondering what are the minimum requirements to run a public electrum server.
For what I've read, I do need to install Core and download the whole blockchain, so apart from the server, this hardware I'd build would be a Core full node. I may even think about opening a LN node/channel if there were no problems having all 3 things running at once.

I currently run a full node on an external HDD, not ideal, but I had all the materials so it didn't cost me anything. I'm unsure as to whether I could also run a server from there; installing another software that lets you run a server.

It would also be interesting to know if I could run more than one server on the same machine; say 1 open (public) server, and another private one (like this case of mocacinno last year).

Summing everything up, because I know my way of writing and thinking is quite caothic...

  • Are there any minimum hardware requirements to run a electrum server?
  • Can a electrum server be set up on an external HDD?
  • Can a dedicated harware host more than one server at once? (plus Core node+LN node)
  • Any more suggestions will be appreciated?

Hope you can help me, and thanks in advance

Edit: And another question; space rented on an online server would do the work too?
Jump to: